Forum Numerical Method Linear Algebra
LU decomposition
-
kevinsunParticipant 2010-05-24 at 3:15 am
How to use this class? Need examples please.
-
Haksun LiModerator 2010-05-25 at 4:04 pm
<br /> Matrix A1 = new Matrix(new double[][]{<br /> {5, 2, 3, 4},<br /> {5, 6, 7, 4},<br /> {1, 3, 2, 3},<br /> {1, 7, 6, 2}<br /> });<br /> LU instance = new LU(A1);<br /> LowerTriangularMatrix L = instance.L();<br /> UpperTriangularMatrix U = instance.U();<br /> PermutationMatrix P = instance.P();<br /> <br /> Matrix A2 = P.times(A1);<br /> Matrix A3 = L.times(U);<br /> <br /> assertEquals(A2, A3);<br /> assertEquals(24, Measure.det(A1), 1e-13);<br /> -
kevinsunParticipant 2010-05-29 at 5:55 am
I can’t do Inverse(L) for a LowerTriangularMatrix L. Please help.
Is there a linear system solver in the library to solve Lx=b if L is LowerTriangularMatrix? Same for UpperTriangularMatrix?
-
Haksun LiModerator 2010-05-31 at 1:26 pm
For a [tt:207ejgzd]LowerTriangularMatrix[/tt:207ejgzd], you can do
<br /> LowerTriangularMatrix L = new LowerTriangularMatrix(new double[][]{<br /> {3},<br /> {7, 4}<br /> });<br /> <br /> Matrix Linv = new Inverse(L, 1e-15);//or a suitable epsilon<br />For an [tt:207ejgzd]UpperTriangularMatrix[/tt:207ejgzd], you can do
<br /> UpperTriangularMatrix U = new UpperTriangularMatrix(new double[][]{<br /> {7, 4},<br /> {3}<br /> });<br /> <br /> Matrix Ainv = new Inverse(U, 1e-15);//or a suitable epsilon<br />