Top
Back: D.3.2.14 mat_rk
Forward: D.3.2.16 pos_def
FastBack: D. SINGULAR libraries
FastForward: E. Release Notes
Up: D.3.2 linalg_lib
Top: Singular 2-0-4 Manual
Contents: Table of Contents
Index: F. Index
About: About This Document

D.3.2.15 U_D_O

Procedure from library linalg.lib (see linalg_lib).

Usage:

U_D_O(A); constant invertible matrix A

Return:

list Z: Z[1]=P , Z[2]=U , Z[3]=D , Z[4]=O
gives a permutation matrix P,
a normalized lower triangular matrix U ,
a diagonal matrix D, and
a normalized upper triangular matrix O
with P*A=U*D*O

Note:

Z[1]=-1 means that A is not regular (proc uses gaussred)

Example:

 
LIB "linalg.lib";
ring r = 0,(x),dp;
matrix A[5][5] = 10, 4,  0, -9,  8,
-3, 6, -6, -4,  9,
0, 3, -1, -9, -8,
-4,-2, -6, -10,10,
-9, 5, -1, -6,  5;
list Z = U_D_O(A);              //construct P,U,D,O s.t. P*A=U*D*O
print(Z[1]);                    //P
print(Z[2]);                    //U
print(Z[3]);                    //D
print(Z[4]);                    //O
print(Z[1]*A);                  //P*A
print(Z[2]*Z[3]*Z[4]);          //U*D*O

Top Back: D.3.2.14 mat_rk Forward: D.3.2.16 pos_def FastBack: D. SINGULAR libraries FastForward: E. Release Notes Up: D.3.2 linalg_lib Top: Singular 2-0-4 Manual Contents: Table of Contents Index: F. Index About: About This Document
            User manual for Singular version 2-0-4, October 2002, generated by texi2html.