PolyMathOrg / PolyMath

Scientific Computing with Pharo
MIT License
170 stars 41 forks source link

Implement N-dimensionals arrays #78

Open SergeStinckwich opened 6 years ago

SergeStinckwich commented 6 years ago

At the moment we have 1D array: vectors (PMVector) and 2D arrays : matrices (PMMatrix). We will need n-dimensional arrays in the future, like in Numpy: https://docs.scipy.org/doc/numpy/reference/arrays.ndarray.html

Some algorithms already available on 1D or 2D might be generalisable to n-dimensions.

nicolas-cellier-aka-nice commented 6 years ago

Note that I have created a Monticello repository http://www.squeaksource.com/STEM.html into which can be found a MultipleDimensionArray (ndarray) package. License MIT as usual. I used this package for reading Matlab .mat files and hdf5 files also. See also http://smallissimo.blogspot.com/2018/03/matfilereader-is-ported-to-squeak.html

SergeStinckwich commented 6 years ago

Great Nicolas ! I will have a look later. Now we need to release PolyMath v1.0 first :-)

massimo-nocentini commented 4 years ago

Hi,

I would like to sketch an implementation based on https://onlinelibrary.wiley.com/doi/abs/10.1002/spe.630 and https://www.labri.fr/perso/nrougier/from-python-to-numpy/ .

Digging into FloatArray I would like to understand how a vm plugin works in order to enhance it to provide more selectors as #dot:.

Would you think it deserve a shot?

Best, -massimo

hemalvarambhia commented 3 years ago

@SergeStinckwich this is done, I think, or at least is in progress. @YvanGuifo has got started. Please clarify as I may be missing something.

SergeStinckwich commented 3 years ago

Yes you are right @hemalvarambhia Forget about the work from @nicolas-cellier-aka-nice about multi-dimensional arrays. Might be interesting to dig a little bit to see if we can reuse somepart of his work.