【问题标题】:what is RHS vector什么是 RHS 向量
【发布时间】:2012-09-04 22:15:46
【问题描述】:

请我尝试理解矩阵计算。 我的问题可能看起来很简单,但需要一个答案 可以向我简要解释一下什么是 RHS 向量。 我经常看到它在 Apache commons 数学库中使用 例如我从stackoverflow页面得到这个:

public class LinearAlgebraDemo
{
    public static void main(String[] args)
    {
        double [][] values = {{1, 1, 2}, {2, 4, -3}, {3, 6, -5}};
        double [] rhs = { 9, 1, 0 }; /* RHS Vector */

        RealMatrix a = new Array2DRowRealMatrix(values);

        DecompositionSolver solver = new LUDecompositionImpl(a).getSolver();

        RealVector b = new ArrayRealVector(rhs);
        RealVector x = solver.solve(b);

        RealVector residual = a.operate(x).subtract(b);
        double rnorm = residual.getLInfNorm();

    }
}

谁能向我解释这段代码,尤其是 RHS 向量及其用途。 非常感谢。

【问题讨论】:

  • @GregHewgill 作为答案发布,所以我可以投票。

标签: java apache matrix


【解决方案1】:

你的矩阵方程是这样的:

Ax = b

其中A 是具有 m 行和 n 列的矩阵,xm 未知数的列向量,bm 的另一个列向量(又名右侧)已知值。它位于等号的右侧 - 因此得名。

如果我给你一个包含两个数字和一个未知值 x 的简单方程,你就会知道如何求解:

Ax = b -> x = b/A

将其视为通过将等式两边乘以 A 的倒数来求解 x。

在这种情况下它更复杂,因为除以矩阵意味着反转它。

您不会反转矩阵;您将创建一个称为矩阵 A 的 LU 分解的东西。如果您有兴趣,您应该了解它是什么以及为什么它比计算完全逆更好。

【讨论】:

    【解决方案2】:

    RHS 是“右手边”的常用数学缩写。在这里,您似乎正在求解一个线性方程组Ax = b,其中A 是一个n x n 矩阵,xb 是n 维列向量。如果你不明白这个术语,那么我建议你学习线性代数。

    至于代码,rhs 是一个数组,用于初始化向量b 的元素。同样,二维数组values用于初始化矩阵A的元素(实际上是一个名为a的引用变量)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-20
      • 2023-01-23
      • 2016-11-09
      • 1970-01-01
      • 2019-07-24
      • 2013-11-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多