lu#
Purpose#
Computes the LU decomposition of a square matrix with partial (row) pivoting, such that: \(X = LU\).
Format#
- { l, u } = lu(x)#
- Parameters:
x (NxN matrix) – square nonsingular matrix
- Returns:
l (NxN matrix) – NxN “scrambled” lower triangular matrix. This is a lower triangular matrix that has been reordered based on the row pivoting.
u (NxN matrix) – upper triangular matrix
Examples#
// Set seed for repeatable random numbers
rndseed 13;
// Print format, display 4 digits after decimal point
format /rd 10,4;
// Create random A matrix
A = rndn(3, 3);
{ L, U } = lu(A);
A2 = L*U;
-0.0195 0.4054 -0.0874
A = -1.2948 0.1734 1.9712
0.5408 -0.1294 0.7646
0.0150 1.0000 0.0000
L = 1.0000 0.0000 0.0000
-0.4177 -0.1414 1.0000
-1.2948 0.1734 1.9712
U = 0.0000 0.4028 -0.1170
0.0000 0.0000 1.5714
-0.0195 0.4054 -0.0874
A2 = -1.2948 0.1734 1.9712
0.5408 -0.1294 0.7646