uncomplicate / neanderthal

Fast Clojure Matrix Library
http://neanderthal.uncomplicate.org
Eclipse Public License 1.0
1.06k stars 56 forks source link

Make a distinction between forward and backward mmul #47

Closed treo closed 6 years ago

treo commented 6 years ago

Your original version computes M = A(B(C(D(EF)))). This also adds M = ((((AB)C)D)E)F. Depending on the actual matrix sizes one is a lot faster than the other.

blueberry commented 6 years ago

Thank you very much, Paul. I'll include this in the next round. I'll have to decline the PR since it slightly breaks the rest of the code, but I'll make sure I'll include it manually and it will be there in the next commit.

Biserkov commented 6 years ago

I'm glad that an explanation was found. I hope Dragan updates the post. But that does not undermine his larger point - that his library is easier to use, and does the right thing under the hood.

blueberry commented 6 years ago

A response to this: https://dragan.rocks/articles/18/Neanderthal-vs-ND4J-vol3 Also, this change was added in the last commit: https://github.com/uncomplicate/neanderthal/commit/e09bedeec4243f0090356c311389665249d73a6a