Re: [ojAlgo-user] Interface analogous to Numpy?
Mathematics, linear algebra and optimisation
Brought to you by:
apete
From: B.D. <ab...@ma...> - 2012-04-19 20:10:19
|
Dear Mr. Richthofer, thanks for your kind email. I also think that it's worthwhile to try to make Ojalgo look like Numpy to jython with full compatibility. We would just have to offer a Java package with the right names and functionality to accomplish this. Maybe some parts are yet missing in Ojalgo. Let's see how it works out. I'll contact the jython guys as soons as I have something to show. It would be very nice to have the same interface on the Java side as well. Sadly, this is not the case with Numpy and C/C++: You can't call Numpy easily from these languages even though Numpy is written in C. Best regards, B.D. Stefan Richthofer wrote: > Hello together, > I also often thought about the idea to have a numpy-substitute for java, but always feared the enormous effort related to it. > > Be aware of the high Potential of the idea. > > Having a numpy substitute in java would enable a huge amount of scientific python-code to run directly in java via jython (maybe with a slight modification of the imports). > > Jython's main issue keeping it from being very useful is, that it does not support external (native) libraries written for Python. > > I regard numpy as one of the most important of these and I believe, that a significant amount of scientific python-code has numpy as the only non-python-core-dependency and thus could run via jython, if there was a numpy for java. > > Maybe you could consider a cooperation with the jython-developers at http://www.jython.org ...? > It should be highly in their interest to have a numpy implementation for java. > > > Greetings > > Stefan > > > > -------- Original-Nachricht -------- >> Datum: Thu, 19 Apr 2012 13:56:49 +0200 >> Von: Anders Peterson <an...@op...> >> An: oja...@li... >> Betreff: Re: [ojAlgo-user] Interface analogous to Numpy? > >> Short anser is yes, but you have to be more specific regarding what you >> want/need and willing to do some of the work yourself. >> >> ojAlgo has multi/any-dimensional arrays: >> >> http://ojalgo.org/generated/org/ojalgo/array/ArrayAnyD.html >> >> Frankly I don't really know what to do with them. I tend to only use 1- or >> 2-dimensional data structures. I created them because they were a >> generalization of what I needed that *could* become useful. >> >> I guess the various MatrixStore implementations and the >> MatrixStore.Builder does much of what you want, but only for 2-dim arrays (and with wrong >> syntax). >> >> http://ojalgo.org/generated/org/ojalgo/matrix/store/MatrixStore.html >> http://ojalgo.org/generated/org/ojalgo/matrix/store/MatrixStore.Builder.html >> >> In ojAlgo the description of the array shape/structure is fixed as defined >> in AccessUtils >> >> http://ojalgo.org/generated/org/ojalgo/access/AccessUtils.html >> >> Would that need to be changed? (I hope not.) >> >> /Anders >> >> >> On 19 apr 2012, at 11:35, B.D. wrote: >> > >> Dear developers, > >> > >> I'm primarily interested in Machine Learning and Data analysis. Thanks >> for the > >> good work, I appreciate the ojAlgo library very much! However, most new > >> algorithms and applications in this field are still written in Python >> for > >> Numpy/Scipy, not Java. I just had an idea: > >> > >> If one could offer classes/interfaces in pure Java with similar >> functionality > >> and names as in > >> > >> http://docs.scipy.org/doc/numpy/reference/ , > >> > >> in particular ndarray > >> > >> http://docs.scipy.org/doc/numpy/reference/arrays.ndarray.html > >> > >> (e.g. strides in matrices and vectors, transposition, reshaping of >> matrices as > >> a view without copying, many views on the same matrix data), then one >> could > >> rather easily translate Python programs using Numpy to pure Java without > >> reinventing the wheel and offer the excellent Python software for Java >> under > >> the same license as the original. > >> > >> There are syntax limitations in Java, so > >> > >> A[2:5, :] > >> > >> would have to be translated to some intutive name or even a crazy >> mnemonic like > >> > >> A.viewI_c_icI(2, 5) > >> > >> (I = [ or ], > >> i = comma, > >> c = colon, > >> _ = slots for the arguments). > >> > >> What do you think? > >> > >> Best regards > >> B.D. > >> > >> >> ------------------------------------------------------------------------------ > >> For Developers, A Lot Can Happen In A Second. > >> Boundary is the first to Know...and Tell You. > >> Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > >> http://p.sf.net/sfu/Boundary-d2dvs2 > >> _______________________________________________ > >> ojAlgo-user mailing list > >> ojA...@li... > >> https://lists.sourceforge.net/lists/listinfo/ojalgo-user >> >> ------------------------------------------------------------------------------ >> For Developers, A Lot Can Happen In A Second. >> Boundary is the first to Know...and Tell You. >> Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! >> http://p.sf.net/sfu/Boundary-d2dvs2 >> _______________________________________________ >> ojAlgo-user mailing list >> ojA...@li... >> https://lists.sourceforge.net/lists/listinfo/ojalgo-user > > -- > NEU: FreePhone 3-fach-Flat mit kostenlosem Smartphone! > Jetzt informieren: http://mobile.1und1.de/?ac=OM.PW.PW003K20328T7073a > > ------------------------------------------------------------------------------ > For Developers, A Lot Can Happen In A Second. > Boundary is the first to Know...and Tell You. > Monitor Your Applications in Ultra-Fine Resolution. Try it FREE! > http://p.sf.net/sfu/Boundary-d2dvs2 > _______________________________________________ > ojAlgo-user mailing list > ojA...@li... > https://lists.sourceforge.net/lists/listinfo/ojalgo-user |