Closed zendevil closed 3 years ago
I'm test multiplying two matrices like so:
(mm! (ge fac 2 1) (ge fac 1 2) (ge fac 2 2))
Following the tests in the source code:
(with-release [c (ge factory 2 2 [1 2 3 4])] (identical? (mm! 2.0 (ge factory 2 3 [1 2 3 4 5 6]) (ge factory 3 2 [1 2 3 4 5 6]) 3.0 c) c))
But I'm getting the following error:
1. Unhandled clojure.lang.ExceptionInfo Dragan says: In-place mm! is not supported for GE matrices. Use QR factorization. {:b {:offset 0, :layout :column, :dim 4, :n 2, :m 2, :entry-type double, :region {:region-type :full, :m 2, :n 2, :kl 1, :ku 1, :surface 4, :uplo :lower, :diag :non-unit}, :matrix-type :ge, :class uncomplicate.neanderthal.internal.host.buffer_block.RealGEMatrix, :storage {:storage-type :full, :sd 2, :ld 2, :fd 2, :gapless true, :capacity 4}, :device :cpu, :engine "uncomplicate.neanderthal.internal.host.mkl.DoubleGEEngine@5356090c", :master true, :stride 2}, :a {:offset 0, :layout :column, :dim 2, :n 2, :m 1, :entry-type double, :region {:region-type :full, :m 1, :n 2, :kl 0, :ku 1, :surface 2, :uplo :lower, :diag :non-unit}, :matrix-type :ge, :class uncomplicate.neanderthal.internal.host.buffer_block.RealGEMatrix, :storage {:storage-type :full, :sd 1, :ld 1, :fd 2, :gapless true, :capacity 2}, :device :cpu, :engine "uncomplicate.neanderthal.internal.host.mkl.DoubleGEEngine@5356090c", :master true, :stride 1}} utils.clj: 107 uncomplicate.commons.utils/dragan-says-ex utils.clj: 105 uncomplicate.commons.utils/dragan-says-ex mkl.clj: 1027 uncomplicate.neanderthal.internal.host.mkl.DoubleGEEngine/mm core.clj: 1432 uncomplicate.neanderthal.core/mm! core.clj: 1391 uncomplicate.neanderthal.core/mm! REPL: 60 clotorch.flight.flight/eval79515 REPL: 60 clotorch.flight.flight/eval79515 Compiler.java: 7177 clojure.lang.Compiler/eval Compiler.java: 7132 clojure.lang.Compiler/eval core.clj: 3214 clojure.core/eval core.clj: 3210 clojure.core/eval main.clj: 437 clojure.main/repl/read-eval-print/fn main.clj: 437 clojure.main/repl/read-eval-print main.clj: 458 clojure.main/repl/fn main.clj: 458 clojure.main/repl main.clj: 368 clojure.main/repl RestFn.java: 137 clojure.lang.RestFn/applyTo core.clj: 665 clojure.core/apply core.clj: 660 clojure.core/apply regrow.clj: 18 refactor-nrepl.ns.slam.hound.regrow/wrap-clojure-repl/fn RestFn.java: 1523 clojure.lang.RestFn/invoke interruptible_eval.clj: 79 nrepl.middleware.interruptible-eval/evaluate interruptible_eval.clj: 55 nrepl.middleware.interruptible-eval/evaluate interruptible_eval.clj: 142 nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn AFn.java: 22 clojure.lang.AFn/run session.clj: 171 nrepl.middleware.session/session-exec/main-loop/fn session.clj: 170 nrepl.middleware.session/session-exec/main-loop AFn.java: 22 clojure.lang.AFn/run Thread.java: 748 java.lang.Thread/run
How to fix this error?
Please look at the source of that test, compare it to your example, and you'll see that it's not similar.
I'm test multiplying two matrices like so:
Following the tests in the source code:
But I'm getting the following error:
How to fix this error?