【问题标题】:Resolve matrix differential equation with sparse matrix and ojAlgo用稀疏矩阵和 ojAlgo 求解矩阵微分方程
【发布时间】:2018-03-28 06:26:54
【问题描述】:

我正在使用 ojAlgo 开发一个 java 进化工具,并尝试解决以下等式:

其中 A 是一个稀疏矩阵(目前矩阵的维度为 2000 x 2000,稍后将对其进行缩放),A 不是对称的,仅使用实数值。

我进行了一些研究,并试图在 github wiki/javadoc 上找到解决这个等式的方法(使用 SparseStore),但我没有找到解决方法。你能帮我找到我应该使用的方法/类吗? 谢谢

【问题讨论】:

    标签: matrix sparse-matrix ojalgo


    【解决方案1】:

    在 ojAlgo 中没有直接/特定的方法来求解微分方程。您必须知道如何操作(使用笔和纸),然后 ojAlgo 可以帮助您执行计算。

    这里的主要问题是找到特征对,对吧?

        Eigenvalue<Double> evd = Eigenvalue.PRIMITIVE.make(matrix);
    
        evd.decompose(matrix);
    
        Array1D<ComplexNumber> values = evd.getEigenvalues();
        MatrixStore<ComplexNumber> vectors = evd.getEigenvectors();
        Eigenpair pair = evd.getEigenpair(0); // One of the pairs
    

    【讨论】:

    • 这正是我想要的,非常感谢!
    • 为高效起见,您应该重用 evd 实例,如果原始矩阵仅通过缩放来更改,那么也许您应该完全避免重新计算 EvD。
    • 我会试试这个,谢谢。之后我可能会提出另一个问题!
    • 只是一个小问题:有没有办法在控制台上打印或在文件中写入尺寸大于 50x50 的矩阵(MatrixUtils.toString 方法中的限制)?
    • BasicLogger.debug("",matrix);
    猜你喜欢
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-01
    • 2018-01-19
    • 2015-02-07
    • 2016-11-21
    相关资源
    最近更新 更多