2012-09-11 229 views
3

請我想了解矩陣計算。 和我的問題可能看起來很簡單,但請您需要一個答案 可以簡單地向我解釋什麼是RHS矢量。 我經常看到它在Apache下議院數學庫 例如我得到這個從計算器頁面中使用:什麼是RHS矢量

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向量及其用途。 非常感謝。

+3

右側? –

+0

@GregHewgill作爲答案發布,所以我可以upvote。 – oldrinb

回答

6

您矩陣方程如下所示:

Ax = b 

其中A是具有m行和n列的矩陣,xm未知數的列向量,並且b是另一列向量(又名右眼手邊)m已知值。它位於等號的右側 - 因此是名稱。

如果我給你兩個數字和一個未知值x一個簡單的等式,你確切地知道如何解決這個問題:這個

Ax = b -> x = b/A 

覺得作爲由兩側乘以求解X方程由A的倒數計算。

在這種情況下,它更復雜,因爲除以矩陣意味着將其倒置。

你不會反轉矩陣;你將創建一個叫做矩陣A的LU分解的東西。你應該閱讀一下這個是什麼,以及爲什麼它比計算一個完整的逆矩更好,如果你感興趣的話。

+0

感謝所有我想我必須閱讀更多關於它 –

1

RHS是「右手邊」的常用數學縮寫。這裏看起來您正在求解一個線性方程組Ax = b,其中A是一個n×n矩陣,xb是n維列向量。如果你不懂這個術語,那麼我建議你研究一下線性代數。

至於代碼,rhs是一個數組,用於初始化矢量b的元素。類似地,2D陣列values用於初始化矩陣A(實際上是名爲a的參考變量)的元素。