我想将我的一些信号处理代码从 C++ 重写为 Java。我最终得到复数矩阵(具有虚部的数字)。我需要找到 NxN 复数矩阵的逆矩阵,以及主特征向量。
有几个 Java 库可以处理实数,但我找不到任何支持复数的库。我找到了一个库,但它是专有的,必须获得许可。
这是否已在任何地方实施?
我总是可以用 JNI 包装所需的 C 代码,但我这样做是为了避免平台依赖性。
我想将我的一些信号处理代码从 C++ 重写为 Java。我最终得到复数矩阵(具有虚部的数字)。我需要找到 NxN 复数矩阵的逆矩阵,以及主特征向量。
有几个 Java 库可以处理实数,但我找不到任何支持复数的库。我找到了一个库,但它是专有的,必须获得许可。
这是否已在任何地方实施?
我总是可以用 JNI 包装所需的 C 代码,但我这样做是为了避免平台依赖性。
我推荐Apache Commons Math。我相信它会从 JAMA 停止的地方继续下去。
在过去的大学课程中,我曾与JAMA合作。
有一个 java LAPACK 基本上是 FORTRAN 的自动翻译:http: //www.netlib.org/java/f2j/。不幸的是,打包的源代码不包括复杂的源代码,但我猜您可以将相同的技术应用于这些源代码。虽然可能需要付出很多努力,但我不能保证性能令人满意。
还可以在http://math.nist.gov/javanumerics/#libraries上查看 JavaNumerics 。他们有一个非常全面的清单,可能会对您有所帮助。
我推荐 Michael Thomas Flanagan 的 Java 科学图书馆:http ://www.ee.ucl.ac.uk/~mflanaga/java/index.html
到目前为止,我发现它比本文中提到的其他产品更容易使用。
cern.colt值得一试。