206 Appendix A: Functions and Instructions
LU MATH/Matrix menu
LU
matrix
,
lMatName
,
uMatName
,
pMatName
[,
tol
]
Calculates the Doolittle LU (lower-upper)
decomposition of a real or complex
matrix
. The
lower triangular matrix is stored in
lMatName
, the
upper triangular matrix in
uMatName
, and the
permutation matrix (which describes the row
swaps done during the calculation) in
pMatName
.
lMatName
ù
uMatName
=
pMatName
ù
matrix
Optionally, any matrix element is treated as zero
if its absolute value is less than
tol
. This tolerance
is used only if the matrix has floating-point
entries and does not contain any symbolic
variables that have not been assigned a value.
Otherwise,
tol
is ignored.
• If you use ¥¸ or set the mode to
Exact/Approx=APPROXIMATE, computations
are done using floating-point arithmetic.
• If
tol
is omitted or not used, the default
tolerance is calculated as:
5Eë 14 ù max(dim(
matrix
))
ù rowNorm(
matrix
)
The LU factorization algorithm uses partial
pivoting with row interchanges.
[6,12,18;5,14,31;3,8,18]!m1
¸
6 12 18
5 14 31
3 8 18
LU m1,lower,upper,perm ¸Done
lower ¸
1 0 0
5/6 1 0
1/2 1/2 1
upper ¸
6 12 18
0 4 16
0 0 1
perm ¸
1 0 0
0 1 0
0 0 1
[m,n;o,p]!m1 ¸
m n
o p
LU m1,lower,upper,perm ¸Done
lower ¸
1 0
m
o
1
upper ¸
o p
0 n ì
møp
o
perm ¸
0 1
1 0