Skip to content

Instantly share code, notes, and snippets.

@roessland
Created November 13, 2017 16:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save roessland/5f081b660b58fbd2af180ef508b2b56b to your computer and use it in GitHub Desktop.
Save roessland/5f081b660b58fbd2af180ef508b2b56b to your computer and use it in GitHub Desktop.
#### Issue Description
I'm a new user of nd4j, and I just installed nd4j 0.9.1 using SBT and tried running the following:
```
// Note, I only need to find eigs for symmetric matrices,
// but this particular one is not symmetric.
INDArray M = Nd4j.create(new float[]{-2,4,2, -2,1,2, 4,2,5}, new int[]{3,3});
IComplexNDArray eigs = Eigen.eigenvalues(M);
System.out.println(eigs);
```
However, I'm getting a java.lang.UnsupportedOperationException at org.nd4j.linalg.factory.BaseBlasWrapper.geev(BaseBlasWrapper.java:462).
Is this intended behavior? E.g. openblas does not support geev. Or a bug?
Output:
```
16:46:29.180 [main] INFO org.nd4j.linalg.factory.Nd4jBackend - Loaded [CpuBackend] backend
16:46:29.499 [main] DEBUG org.reflections.Reflections - going to scan these urls:
file:/home/vagrant/.ivy2/cache/com.github.stephenc.jcip/jcip-annotations/jars/jcip-annotations-1.0-1.jar
file:/usr/java/jdk1.8.0_144/jre/lib/ext/localedata.jar
file:/home/vagrant/.ivy2/cache/org.hamcrest/hamcrest-core/jars/hamcrest-core-1.3.jar
file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1-linux-x86_64.jar
file:/usr/java/jdk1.8.0_144/jre/lib/ext/sunec.jar
file:/home/vagrant/.ivy2/cache/com.google.errorprone/javac/jars/javac-9-dev-r4023-2.jar
file:/home/vagrant/.ivy2/cache/com.google.errorprone/error_prone_annotation/jars/error_prone_annotation-2.0.21.jar
file:/home/vagrant/.ivy2/cache/org.bytedeco.javacpp-presets/openblas-platform/jars/openblas-platform-0.2.19-1.3.jar
file:/home/vagrant/.ivy2/cache/org.apache.commons/commons-lang3/jars/commons-lang3-3.3.1.jar
file:/home/vagrant/.ivy2/cache/org.bytedeco.javacpp-presets/openblas/jars/openblas-0.2.19-1.3-android-arm.jar
file:/usr/java/jdk1.8.0_144/jre/lib/ext/jaccess.jar
file:/home/vagrant/.ivy2/cache/org.slf4j/slf4j-api/jars/slf4j-api-1.7.25.jar
file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native-api/jars/nd4j-native-api-0.9.1.jar
file:/home/vagrant/proj/pm/math/target/scala-2.11/test-classes/
file:/home/vagrant/.ivy2/cache/org.bytedeco.javacpp-presets/openblas/jars/openblas-0.2.19-1.3-linux-armhf.jar
file:/home/vagrant/.ivy2/cache/org.projectlombok/lombok/jars/lombok-1.16.16.jar
file:/usr/java/jdk1.8.0_144/jre/lib/ext/zipfs.jar
file:/usr/java/jdk1.8.0_144/jre/lib/ext/jfxrt.jar
file:/home/vagrant/.ivy2/cache/org.scala-sbt/test-interface/jars/test-interface-1.0.jar
file:/home/vagrant/.ivy2/cache/org.reflections/reflections/jars/reflections-0.9.10.jar
file:/home/vagrant/.ivy2/cache/org.yaml/snakeyaml/bundles/snakeyaml-1.12.jar
file:/home/vagrant/.ivy2/cache/org.bytedeco.javacpp-presets/openblas/jars/openblas-0.2.19-1.3-windows-x86.jar
file:/home/vagrant/.ivy2/cache/org.bytedeco.javacpp-presets/openblas/jars/openblas-0.2.19-1.3-android-x86.jar
file:/home/vagrant/.ivy2/cache/commons-io/commons-io/jars/commons-io-2.4.jar
file:/usr/java/jdk1.8.0_144/jre/lib/charsets.jar
file:/home/vagrant/.ivy2/cache/org.pcollections/pcollections/jars/pcollections-2.1.2.jar
file:/home/vagrant/.ivy2/cache/org.checkerframework/javacutil/jars/javacutil-1.8.10.jar
file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1.jar
file:/usr/java/jdk1.8.0_144/jre/lib/jfxswt.jar
file:/home/vagrant/.ivy2/cache/ch.qos.logback/logback-core/jars/logback-core-1.2.3.jar
file:/home/vagrant/.ivy2/cache/com.github.stephenc.findbugs/findbugs-annotations/jars/findbugs-annotations-1.3.9-1.jar
file:/home/vagrant/.ivy2/cache/com.google.errorprone/error_prone_core/jars/error_prone_core-2.0.21.jar
file:/usr/java/jdk1.8.0_144/jre/lib/ext/nashorn.jar
file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1-macosx-x86_64.jar
file:/usr/java/jdk1.8.0_144/jre/lib/ext/sunjce_provider.jar
file:/usr/java/jdk1.8.0_144/jre/lib/ext/dnsns.jar
file:/home/vagrant/.ivy2/cache/org.bytedeco.javacpp-presets/openblas/jars/openblas-0.2.19-1.3-linux-x86_64.jar
file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1-android-x86.jar
file:/home/vagrant/.ivy2/cache/com.novocode/junit-interface/jars/junit-interface-0.11.jar
file:/home/vagrant/.ivy2/cache/com.github.wendykierp/JTransforms/jars/JTransforms-3.0.jar
file:/usr/java/jdk1.8.0_144/jre/lib/plugin.jar
file:/home/vagrant/proj/pm/math/target/scala-2.11/classes/
file:/home/vagrant/.ivy2/cache/com.google.code.findbugs/jsr305/jars/jsr305-3.0.0.jar
file:/home/vagrant/.ivy2/cache/com.google.auto/auto-common/jars/auto-common-0.7.jar
file:/home/vagrant/.ivy2/cache/pl.edu.icm/JLargeArrays/jars/JLargeArrays-1.2.jar
file:/home/vagrant/.ivy2/cache/org.nd4j/jackson/jars/jackson-0.9.1.jar
file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-context/jars/nd4j-context-0.9.1.jar
file:/home/vagrant/idea/idea-IU-172.4574.5/plugins/junit/lib/junit-rt.jar
file:/home/vagrant/.ivy2/cache/org.bytedeco.javacpp-presets/openblas/jars/openblas-0.2.19-1.3.jar
file:/home/vagrant/.ivy2/cache/org.bytedeco/javacpp/jars/javacpp-1.3.3.jar
file:/home/vagrant/.ivy2/cache/org.codehaus.woodstox/stax2-api/bundles/stax2-api-3.1.4.jar
file:/home/vagrant/.ivy2/cache/junit/junit/jars/junit-4.12.jar
file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native-platform/jars/nd4j-native-platform-0.9.1.jar
file:/usr/java/jdk1.8.0_144/jre/lib/jce.jar
file:/usr/java/jdk1.8.0_144/jre/lib/management-agent.jar
file:/home/vagrant/.ivy2/cache/com.google.guava/guava/bundles/guava-22.0.jar
file:/home/vagrant/.ivy2/cache/org.bytedeco.javacpp-presets/openblas/jars/openblas-0.2.19-1.3-windows-x86_64.jar
file:/home/vagrant/.ivy2/cache/ch.qos.logback/logback-classic/jars/logback-classic-1.2.3.jar
file:/home/vagrant/.ivy2/cache/org.checkerframework/dataflow/jars/dataflow-1.8.10.jar
file:/home/vagrant/.ivy2/cache/joda-time/joda-time/jars/joda-time-2.2.jar
file:/home/vagrant/idea/idea-IU-172.4574.5/lib/idea_rt.jar
file:/home/vagrant/.ivy2/cache/org.codehaus.mojo/animal-sniffer-annotations/jars/animal-sniffer-annotations-1.14.jar
file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1-linux-ppc64le.jar
file:/home/vagrant/.ivy2/cache/org.javassist/javassist/bundles/javassist-3.18.2-GA.jar
file:/home/vagrant/.ivy2/cache/org.apache.commons/commons-math3/jars/commons-math3-3.5.jar
file:/home/vagrant/.ivy2/cache/com.google.errorprone/error_prone_check_api/jars/error_prone_check_api-2.0.21.jar
file:/home/vagrant/idea/idea-IU-172.4574.5/plugins/junit/lib/junit5-rt.jar
file:/usr/java/jdk1.8.0_144/jre/lib/ext/sunpkcs11.jar
file:/home/vagrant/.ivy2/cache/net.ericaro/neoitertools/jars/neoitertools-1.0.0.jar
file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-common/jars/nd4j-common-0.9.1.jar
file:/home/vagrant/.ivy2/cache/com.google.j2objc/j2objc-annotations/jars/j2objc-annotations-1.1.jar
file:/home/vagrant/.ivy2/cache/org.bytedeco.javacpp-presets/openblas/jars/openblas-0.2.19-1.3-linux-x86.jar
file:/home/vagrant/.ivy2/cache/com.google.code.findbugs/jFormatString/jars/jFormatString-3.0.0.jar
file:/usr/java/jdk1.8.0_144/jre/lib/jsse.jar
file:/usr/java/jdk1.8.0_144/jre/lib/deploy.jar
file:/home/vagrant/.ivy2/cache/com.googlecode.efficient-java-matrix-library/ejml/jars/ejml-0.25.jar
file:/home/vagrant/.ivy2/cache/com.github.kevinstern/software-and-algorithms/jars/software-and-algorithms-1.0.jar
file:/usr/java/jdk1.8.0_144/jre/lib/rt.jar
file:/usr/java/jdk1.8.0_144/jre/lib/jfr.jar
file:/home/vagrant/.ivy2/cache/org.scala-lang/scala-library/jars/scala-library-2.11.7.jar
file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-buffer/jars/nd4j-buffer-0.9.1.jar
file:/home/vagrant/.ivy2/cache/com.google.errorprone/error_prone_annotations/jars/error_prone_annotations-2.0.21.jar
file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-api/jars/nd4j-api-0.9.1.jar
file:/usr/java/jdk1.8.0_144/jre/lib/resources.jar
file:/home/vagrant/.ivy2/cache/com.googlecode.java-diff-utils/diffutils/jars/diffutils-1.3.0.jar
file:/usr/java/jdk1.8.0_144/jre/lib/ext/cldrdata.jar
file:/home/vagrant/.ivy2/cache/org.bytedeco.javacpp-presets/openblas/jars/openblas-0.2.19-1.3-macosx-x86_64.jar
file:/home/vagrant/.ivy2/cache/org.bytedeco.javacpp-presets/openblas/jars/openblas-0.2.19-1.3-linux-ppc64le.jar
file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1-windows-x86_64.jar
file:/usr/java/jdk1.8.0_144/jre/lib/javaws.jar
file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1-android-arm.jar
16:46:30.143 [main] INFO org.reflections.Reflections - Reflections took 618 ms to scan 91 urls, producing 46433 keys and 50195 values
16:46:30.766 [main] INFO org.nd4j.nativeblas.NativeOpsHolder - Number of threads used for NativeOps: 2
16:46:30.773 [main] DEBUG org.reflections.Reflections - going to scan these urls:
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-buffer/jars/nd4j-buffer-0.9.1.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native-api/jars/nd4j-native-api-0.9.1.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-context/jars/nd4j-context-0.9.1.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-api/jars/nd4j-api-0.9.1.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/jackson/jars/jackson-0.9.1.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-common/jars/nd4j-common-0.9.1.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1-macosx-x86_64.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1-linux-ppc64le.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1-windows-x86_64.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1-linux-x86_64.jar!/
16:46:31.316 [main] INFO org.reflections.Reflections - Reflections took 543 ms to scan 11 urls, producing 31 keys and 227 values
16:46:32.004 [main] INFO org.nd4j.nativeblas.Nd4jBlas - Number of threads used for BLAS: 2
16:46:32.011 [main] INFO org.nd4j.linalg.api.ops.executioner.DefaultOpExecutioner - Backend used: [CPU]; OS: [Linux]
16:46:32.011 [main] INFO org.nd4j.linalg.api.ops.executioner.DefaultOpExecutioner - Cores: [2]; Memory: [1.7GB];
16:46:32.011 [main] INFO org.nd4j.linalg.api.ops.executioner.DefaultOpExecutioner - Blas vendor: [OPENBLAS]
16:46:32.130 [main] DEBUG org.reflections.Reflections - going to scan these urls:
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-buffer/jars/nd4j-buffer-0.9.1.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native-api/jars/nd4j-native-api-0.9.1.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-context/jars/nd4j-context-0.9.1.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-api/jars/nd4j-api-0.9.1.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/jackson/jars/jackson-0.9.1.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-common/jars/nd4j-common-0.9.1.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1-macosx-x86_64.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1-linux-ppc64le.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1-windows-x86_64.jar!/
jar:file:/home/vagrant/.ivy2/cache/org.nd4j/nd4j-native/jars/nd4j-native-0.9.1-linux-x86_64.jar!/
16:46:32.686 [main] INFO org.reflections.Reflections - Reflections took 556 ms to scan 11 urls, producing 385 keys and 1532 values
java.lang.UnsupportedOperationException
at org.nd4j.linalg.factory.BaseBlasWrapper.geev(BaseBlasWrapper.java:462)
at org.nd4j.linalg.eigen.Eigen.eigenvalues(Eigen.java:43)
at com.xxxxmypackagexxx.testEigenvectorAvailableInBlas(TestSubspaceFilter.java:16)
```
#### Version Information
Please indicate relevant versions, including, if relevant:
* Deeplearning4j version: Not using dl4j, only nd4j 0.9.1
* platform information (OS, etc): CentOS 7 with openblas
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment