-
-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Talking to Numpy #10
Comments
Hello! Thanks for your praise! What you suggest sounds like a nice idea. In this format data is stored separately in binary form and metafields, like shape, data type, strides etc. are stored as fields of struct. The 'array' branch is generally ready for merging, except I that I am stuck with multi-dimensional matrices visualization in ASCII. |
I'll take a look. Also there's Apache Arrow.........seems to be gaining traction with Python Ray Framework, GPU data frame. It's basically being written by the guy who wrote Pandas. I'll dig around and see how compatible it is to your format. Personally I would love to be able to be able to do the maximum I can in Elixir. For production use cases, python is just so stone age now. It's great that you're addressing what to me is Erlang ecosystem's single biggest weakness. |
Hello @devnacho! Actually, matrex format is already very close to the numpy's one in the branch 'array'. I still do not merge this branch into master, because I am stuck with multi-dimensional matrices ASCII display. Guess I should release it with broken multi-dimensional display. |
# This is the 1st commit message: porting numerix stats libraries # This is the commit message versilov#2: adding power function # This is the commit message versilov#3: fixing power # This is the commit message versilov#4: porting statistics # This is the commit message versilov#5: porting over statistics # This is the commit message versilov#6: fix apply # This is the commit message versilov#7: fix algos # This is the commit message versilov#8: fixing algos # This is the commit message versilov#9: test # This is the commit message versilov#10: updating stats test # This is the commit message versilov#11: switch type to matrex # This is the commit message versilov#12: fixing more tests # This is the commit message versilov#13: matrex # This is the commit message versilov#14: updates # This is the commit message versilov#15: removing experiment # This is the commit message versilov#16: try as row matrix by def # This is the commit message versilov#17: add vector pattern match # This is the commit message versilov#18: adding pseudo-vector type # This is the commit message versilov#19: fix order for column-wise vector # This is the commit message versilov#20: fix order for column-wise vector # This is the commit message versilov#21: fix order for column-wise vector # This is the commit message versilov#22: removing extras deps
Brilliant library. Of course Numpy has a 2 decades of accumulated functionality on top, so there's still a lot of stuff python-side that I'd want to use.
How can Matrix talk to Numpy efficiently, via, say erlports? Erlports sends python back as follows:
As you can see, calling eig, which doesn't use msgpack, just returns a binary blob for Numpy. However if we msgpack the numpy arrays first, then we get a more structured return, which might be useful. The "data" field could go into a matrex matrix? How would one go about doing that?
Here by the way is the Python code:
And here are my mix.exs deps:
The text was updated successfully, but these errors were encountered: