NUMAL Section 3.1.1.1.1.2.4
BEGIN SECTION : 3.1.1.1.1.2.4 (May, 1974)
AUTHOR : T.J. DEKKER.
CONTRIBUTORS: S.P.N. VAN KAMPEN, J. KOK.
INSTITUTE: MATHEMATICAL CENTRE.
RECEIVED: 731015.
BRIEF DESCRIPTION:
THIS SECTION CONTAINS FOUR PROCEDURES:
A) CHLINV2, FOR THE INVERSION OF A SYMMETRIC POSITIVE DEFINITE
MATRIX, IF THE MATRIX HAS BEEN DECOMPOSED BY A CALL OF THE
PROCEDURE CHLDEC2, SECTION 3.1.1.1.1.2.1., OR CHLDECSOL2,
SECTION 3.1.1.1.1.2.3.;
B) CHLINV1, FOR THE INVERSION OF A SYMMETRIC POSITIVE DEFINITE
MATRIX, IF THE MATRIX HAS BEEN DECOMPOSED BY A CALL OF THE
PROCEDURE CHLDEC1, SECTION 3.1.1.1.1.2.1., OR CHLDECSOL1,
SECTION 3.1.1.1.1.2.3.;
C) CHLDECINV2, FOR THE INVERSION OF A MATRIX BY CHOLESKY'S SQUARE
ROOT METHOD;
THE COEFFICIENT MATRIX HAS TO BE SYMMETRIC POSITIVE DEFINITE AND
MUST BE GIVEN IN THE UPPER TRIANGLE OF A TWO-DIMENSIONAL ARRAY;
D) CHLDECINV1, FOR THE INVERSION OF A MATRIX BY CHOLESKY'S SQUARE
ROOT METHOD;
THE COEFFICIENT MATRIX HAS TO BE SYMMETRIC POSITIVE DEFINITE AND
MUST BE GIVEN COLUMNWISE IN A ONE-DIMENSIONAL ARRAY.
KEYWORDS:
MATRIX INVERSION,
POSITIVE DEFINITE SYMMETRIC MATRIX,
CHOLESKY DECOMPOSITION.
SUBSECTION: CHLINV2.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE IS:
"PROCEDURE" CHLINV2(A, N); "VALUE" N; "INTEGER" N; "ARRAY" A;
"CODE" 34400;
THE MEANING OF THE FORMAL PARAMETERS IS:
A: <ARRAY IDENTIFIER>;
"ARRAY" A[1:N,1:N];
ENTRY: THE UPPER-TRIANGULAR PART OF THE CHOLESKY MATRIX
AS PRODUCED BY CHLDEC2, SECTION 3.1.1.1.1.2.1., OR
CHLDECSOL2, SECTION 3.1.1.1.1.2.3., MUST BE GIVEN
IN THE UPPER TRIANGLE OF A;
EXIT: THE UPPER-TRIANGULAR PART OF THE INVERSE MATRIX IS
DELIVERED IN THE UPPER TRIANGLE OF A;
N: <ARITHMETIC EXPRESSION>;
THE ORDER OF THE MATRIX.
PROCEDURES USED:
MATVEC = CP34011,
TAMVEC = CP34012,
DUPVECROW = CP31031.
REQUIRED CENTRAL MEMORY:
EXECUTION FIELD LENGTH: N.
RUNNING TIME: ROUGHLY PROPORTIONAL TO N CUBED.
LANGUAGE: ALGOL 60.
METHOD AND PERFORMANCE:
THE PROCEDURE CHLINV2 CALCULATES THE INVERSE OF A MATRIX, PROVIDED
THAT THE MATRIX HAS BEEN DECOMPOSED BY A SUCCESSFUL CALL OF CHLDEC2
OR CHLDECSOL2;
THE INVERSE, X, OF U'U, WHERE U IS THE CHOLESKY MATRIX,
IS OBTAINED FROM THE CONDITIONS THAT X BE SYMMETRIC AND UX BE
A LOWER-TRIANGULAR MATRIX WHOSE MAIN DIAGONAL ELEMENTS ARE THE
RECIPROCALS OF THE DIAGONAL ELEMENTS OF U. HEREWITH THE UPPER-
TRIANGULAR ELEMENTS OF X ARE CALCULATED BY BACK SUBSTITUTION.
THE UPPER TRIANGLE OF THE INVERSE MATRIX IS DELIVERED IN THE UPPER
TRIANGLE OF THE GIVEN ARRAY. SEE ALSO REF[1].
REFERENCES:
[1]. T.J. DEKKER.
ALGOL 60 PROCEDURES IN NUMERICAL ALGEBRA, PART 1.
MC TRACT 22, 1968, MATH. CENTR., AMSTERDAM.
EXAMPLE OF USE:
THE SYMMETRIC POSITIVE DEFINITE COEFFICIENT MATRIX (THE PASCAL
MATRIX OF ORDER 4) OF THE SYSTEM OF EQUATIONS
X1 + X2 + X3 + X4 = 2
X1 + 2 * X2 + 3 * X3 + 4 * X4 = 4
X1 + 3 * X2 + 6 * X3 + 10 * X4 = 8
X1 + 4 * X2 + 10 * X3 + 20 * X4 = 16
IS STORED IN THE TWO-DIMENSIONAL ARRAY PASCAL2.
THE INVERSE OF THE COEFFICIENT MATRIX AND THE SOLUTION OF THE
LINEAR SYSTEM ARE CALCULATED BY THE FOLLOWING PROGRAM:
"BEGIN" "COMMENT" TEST CHLDEC2, CHLSOL2 AND CHLINV2;
"INTEGER" I, J;
"ARRAY" PASCAL2[1:4,1:4], B[1:4], AUX[2:3];
"FOR" J:= 1 "STEP" 1 "UNTIL" 4 "DO"
"BEGIN" PASCAL2[1,J]:= 1;
"FOR" I:= 2 "STEP" 1 "UNTIL" J "DO"
PASCAL2[I,J]:= "IF" I = J "THEN" PASCAL2[I-1,J] * 2 "ELSE"
PASCAL2[I,J-1] + PASCAL2[I-1,J];
B[J]:= 2 ** J
"END";
AUX[2]:= "-11;
CHLDEC2(PASCAL2, 4, AUX);
"IF" AUX[3] = 4 "THEN"
"BEGIN" CHLSOL2(PASCAL2, 4, B); CHLINV2(PASCAL2, 4) "END"
"ELSE" OUTPUT(61, "(""("MATRIX NOT POSITIVE DEFINITE")", /")");
OUTPUT(61, "("4B")");
OUTPUT(61, "(""("SOLUTION WITH CHLDEC2 AND CHLSOL2:")", /")");
"FOR" I:= 1 "STEP" 1 "UNTIL" 4 "DO"
OUTPUT(61, "("4B+D.5D")", B[I]);
OUTPUT(61, "("//, 4B")");
OUTPUT(61, "(""("INVERSE MATRIX WITH CHLINV2:")", /, 4B")");
"FOR" I:= 1 "STEP" 1 "UNTIL" 4 "DO"
"BEGIN" "FOR" J:= 1 "STEP" 1 "UNTIL" 4 "DO"
"IF" J < I "THEN" OUTPUT(61, "("12B")") "ELSE"
OUTPUT(61, "("+ZD.5D3B")", PASCAL2[I,J]);
OUTPUT(61, "("/, 4B")")
"END"
"END"
THIS PROGRAM DELIVERS:
SOLUTION WITH CHLDEC2 AND CHLSOL2:
+0.00000 +4.00000 -4.00000 +2.00000
INVERSE MATRIX WITH CHLINV2:
+4.00000 -6.00000 +4.00000 -1.00000
+14.00000 -11.00000 +3.00000
+10.00000 -3.00000
+1.00000
SUBSECTION: CHLINV1.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE IS:
"PROCEDURE" CHLINV1(A, N); "VALUE" N; "INTEGER" N; "ARRAY" A;
"CODE" 34401;
THE MEANING OF THE FORMAL PARAMETERS IS:
A: <ARRAY IDENTIFIER>;
"ARRAY" A[1:(N + 1) * N // 2];
ENTRY: THE UPPER-TRIANGULAR PART OF THE CHOLESKY MATRIX
AS PRODUCED BY CHLDEC1, SECTION 3.1.1.1.1.2.1., OR
CHLDECSOL1, SECTION 3.1.1.1.1.2.3., MUST BE GIVEN
COLUMNWISE IN ARRAY A;
EXIT: THE UPPER-TRIANGULAR PART OF THE INVERSE MATRIX IS
DELIVERED COLUMNWISE IN ARRAY A;
N: <ARITHMETIC EXPRESSION>;
THE ORDER OF THE MATRIX.
PROCEDURES USED:
SEQVEC = CP34016,
SYMMATVEC = CP34018.
REQUIRED CENTRAL MEMORY:
EXECUTION FIELD LENGTH: N.
RUNNING TIME: ROUGHLY PROPORTIONAL TO N CUBED.
LANGUAGE: ALGOL 60.
METHOD AND PERFORMANCE:
THE PROCEDURE CHLINV1 CALCULATES THE INVERSE OF A MATRIX, PROVIDED
THAT THE MATRIX HAS BEEN DECOMPOSED BY A SUCCESSFUL CALL OF CHLDEC1
OR CHLDECSOL1;
THE UPPER TRIANGLE OF THE INVERSE MATRIX IS DELIVERED COLUMNWISE
IN THE ONE-DIMENSIONAL ARRAY.
SEE ALSO METHOD AND PERFORMANCE OF CHLINV2 (THIS SECTION).
EXAMPLE OF USE:
THE SYMMETRIC POSITIVE DEFINITE COEFFICIENT MATRIX (THE PASCAL
MATRIX OF ORDER 4) OF THE SYSTEM OF EQUATIONS
X1 + X2 + X3 + X4 = 2
X1 + 2 * X2 + 3 * X3 + 4 * X4 = 4
X1 + 3 * X2 + 6 * X3 + 10 * X4 = 8
X1 + 4 * X2 + 10 * X3 + 20 * X4 = 16
IS STORED IN THE ONE-DIMENSIONAL ARRAY PASCAL1.
THE INVERSE OF THE COEFFICIENT MATRIX AND THE SOLUTION OF THE
LINEAR SYSTEM ARE CALCULATED BY THE FOLLOWING PROGRAM:
"BEGIN" "COMMENT" TEST CHLDEC1, CHLSOL1 AND CHLINV1;
"INTEGER" I, J, JJ;
"ARRAY" PASCAL1[1:(4 + 1) * 4 // 2], B[1:4], AUX[2:3];
JJ:= 1;
"FOR" J:= 1 "STEP" 1 "UNTIL" 4 "DO"
"BEGIN" PASCAL1[JJ]:= 1;
"FOR" I:= 2 "STEP" 1 "UNTIL" J "DO"
PASCAL1[JJ + I - 1]:= "IF" I = J "THEN"
PASCAL1[JJ + I - 2] * 2 "ELSE"
PASCAL1[JJ + I - 2] + PASCAL1[JJ + I - J];
B[J]:= 2 ** J;
JJ:= JJ + J
"END";
AUX[2]:= "-11;
CHLDEC1(PASCAL1, 4, AUX);
"IF" AUX[3] = 4 "THEN"
"BEGIN" CHLSOL1(PASCAL1, 4, B); CHLINV1(PASCAL1, 4) "END"
"ELSE" OUTPUT(61, "(""("MATRIX NOT POSITIVE DEFINITE")", /")");
OUTPUT(61,"("4B")");
OUTPUT(61, "(""("SOLUTION WITH CHLDEC1 AND CHLSOL1:")", /")");
"FOR" I:= 1 "STEP" 1 "UNTIL" 4 "DO"
OUTPUT(61, "("4B+D.5D")", B[I]);
OUTPUT(61, "("2/, 4B")");
OUTPUT(61, "(""("INVERSE MATRIX WITH CHLINV1:")", /, 4B")");
"FOR" I:= 1 "STEP" 1 "UNTIL" 4 "DO"
"BEGIN" "FOR" J:= 1 "STEP" 1 "UNTIL" 4 "DO"
"IF" J < I "THEN" OUTPUT(61, "("12B")") "ELSE"
OUTPUT(61, "("+ZD.5D3B")", PASCAL1[(J - 1) * J // 2 + I]);
OUTPUT(61, "("/, 4B")")
"END"
"END"
THIS PROGRAM DELIVERS:
SOLUTION WITH CHLDEC1 AND CHLSOL1:
+0.00000 +4.00000 -4.00000 +2.00000
INVERSE MATRIX WITH CHLINV1:
+4.00000 -6.00000 +4.00000 -1.00000
+14.00000 -11.00000 +3.00000
+10.00000 -3.00000
+1.00000
SUBSECTION: CHLDECINV2.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE IS:
"PROCEDURE" CHLDECINV2(A, N, AUX); "VALUE" N; "INTEGER" N;
"ARRAY" A, AUX;
"CODE" 34402;
THE MEANING OF THE FORMAL PARAMETERS IS:
A: <ARRAY IDENTIFIER>;
"ARRAY" A[1:N,1:N];
ENTRY: THE UPPER TRIANGLE OF THE POSITIVE DEFINITE MATRIX
MUST BE GIVEN IN THE UPPER TRIANGLE OF A (THE
ELEMENTS A[I,J], I <= J);
EXIT: THE UPPER-TRIANGULAR PART OF THE INVERSE MATRIX IS
DELIVERED IN THE UPPER TRIANGLE OF A.
N: <ARITHMETIC EXPRESSION>;
THE ORDER OF THE MATRIX;
AUX: <ARRAY IDENTIFIER>;
"ARRAY" AUX[2:3];
ENTRY: AUX[2]: A RELATIVE TOLERANCE USED TO CONTROL THE
CALCULATION OF THE DIAGONAL ELEMENTS;
NORMAL EXIT: AUX[3]:= N;
ABNORMAL EXIT: IF THE DECOMPOSITION CANNOT BE CARRIED OUT
BECAUSE THE MATRIX IS (NUMERICALLY) NOT POSITIVE
DEFINITE, AUX[3]:= K - 1, WHERE K IS THE LAST STAGE
NUMBER.
PROCEDURES USED:
CHLDEC2 = CP34310,
CHLINV2 = CP34400.
RUNNING TIME: ROUGHLY PROPORTIONAL TO N CUBED.
LANGUAGE: ALGOL 60.
METHOD AND PERFORMANCE:
THE PROCEDURE CHLDECINV2 CALCULATES THE INVERSE OF A SYMMETRIC
POSITIVE DEFINITE MATRIX BY CALLING CHLDEC2 AND, IF THIS CALL WAS
SUCCESSFUL, CHLINV2.
THE UPPER TRIANGLE OF THE INVERSE MATRIX IS DELIVERED IN THE UPPER
TRIANGLE OF THE GIVEN ARRAY.
SEE ALSO METHOD AND PERFORMANCE OF CHLINV2 (THIS SECTION) AND
CHLDEC2, SECTION 3.1.1.1.1.2.1.
EXAMPLE OF USE:
THE SYMMETRIC POSITIVE DEFINITE COEFFICIENT MATRIX (THE PASCAL
MATRIX OF ORDER 4) OF THE SYSTEM OF EQUATIONS
X1 + X2 + X3 + X4 = 2
X1 + 2 * X2 + 3 * X3 + 4 * X4 = 4
X1 + 3 * X2 + 6 * X3 + 10 * X4 = 8
X1 + 4 * X2 + 10 * X3 + 20 * X4 = 16
IS STORED IN THE TWO-DIMENSIONAL ARRAY PASCAL2.
THE DETERMINANT AND THE INVERSE OF THE COEFFICIENT MATRIX AND THE
SOLUTION OF THE LINEAR SYSTEM ARE CALCULATED BY THE FOLLOWING
PROGRAM:
"BEGIN" "COMMENT" TEST CHLDECSOL2, CHLDETERM2 AND CHLDECINV2;
"INTEGER" I, J;
"ARRAY" PASCAL2[1:4,1:4], B[1:4], AUX[2:3];
"REAL" DETERMINANT;
"FOR" J:= 1 "STEP" 1 "UNTIL" 4 "DO"
"BEGIN" PASCAL2[1,J]:= 1;
"FOR" I:= 2 "STEP" 1 "UNTIL" J "DO"
PASCAL2[I,J]:= "IF" I = J "THEN" PASCAL2[I-1,J] * 2 "ELSE"
PASCAL2[I,J-1] + PASCAL2[I-1,J];
B[J]:= 2 ** J
"END";
AUX[2]:= "-11;
CHLDECSOL2(PASCAL2, 4, AUX, B);
"IF" AUX[3] = 4 "THEN" DETERMINANT:= CHLDETERM2(PASCAL2, 4)
"ELSE" OUTPUT(61, "(""("MATRIX NOT POSITIVE DEFINITE")", /")");
OUTPUT(61, "("4B")");
OUTPUT(61, "(""("SOLUTION WITH CHLDECSOL2:")", /")");
"FOR" I:= 1 "STEP" 1 "UNTIL" 4 "DO"
OUTPUT(61, "("4B+D.5D")", B[I]);
OUTPUT(61, "("//, 4B, "("DETERMINANT WITH CHLDETERM2: ")",
+D.5D, 2/, 4B")", DETERMINANT);
"FOR" J:= 1 "STEP" 1 "UNTIL" 4 "DO"
"BEGIN" PASCAL2[1,J]:= 1;
"FOR" I:= 2 "STEP" 1 "UNTIL" J "DO"
PASCAL2[I,J]:= "IF" I = J "THEN" PASCAL2[I-1,J] * 2 "ELSE"
PASCAL2[I,J-1] + PASCAL2[I-1,J]
"END";
CHLDECINV2(PASCAL2, 4, AUX);
OUTPUT(61, "(""("INVERSE MATRIX WITH CHLDECINV2:")", /, 4B")");
"FOR" I:= 1 "STEP" 1 "UNTIL" 4 "DO"
"BEGIN" "FOR" J:= 1 "STEP" 1 "UNTIL" 4 "DO"
"IF" J < I "THEN" OUTPUT(61, "("12B")") "ELSE"
OUTPUT(61, "("+ZD.5D3B")", PASCAL2[I,J]);
OUTPUT(61, "("/, 4B")")
"END"
"END"
THIS PROGRAM DELIVERS:
SOLUTION WITH CHLDECSOL2:
+0.00000 +4.00000 -4.00000 +2.00000
DETERMINANT WITH CHLDETERM2: +1.00000
INVERSE MATRIX WITH CHLDECINV2:
+4.00000 -6.00000 +4.00000 -1.00000
+14.00000 -11.00000 +3.00000
+10.00000 -3.00000
+1.00000
SUBSECTION: CHLDECINV1.
CALLING SEQUENCE:
THE HEADING OF THE PROCEDURE IS:
"PROCEDURE" CHLDECINV1(A, N, AUX); "VALUE" N; "INTEGER" N;
"ARRAY" A, AUX;
"CODE" 34403;
THE MEANING OF THE FORMAL PARAMETERS IS:
A: <ARRAY IDENTIFIER>;
"ARRAY" A[1:(N + 1) * N // 2];
ENTRY: THE UPPER-TRIANGULAR PART OF THE SYMMETRIC POSITIVE
DEFINITE MATRIX MUST BE GIVEN COLUMNWISE IN ARRAY A
(THE (I,J)-TH ELEMENT OF THE MATRIX MUST BE GIVEN IN
A[(J - 1) * J // 2 + I] FOR 1 <= I <= J <= N);
EXIT: THE UPPER-TRIANGULAR PART OF THE INVERSE MATRIX IS
DELIVERED COLUMNWISE IN ARRAY A;
N: <ARITHMETIC EXPRESSION>;
THE ORDER OF THE MATRIX;
AUX: <ARRAY IDENTIFIER>;
"ARRAY" AUX[2:3];
ENTRY: AUX[2]: A RELATIVE TOLERANCE USED TO CONTROL THE
CALCULATION OF THE DIAGONAL ELEMENTS; (SEE METHOD
AND PERFORMANCE OF CHLDEC2, SECTION 3.1.1.1.1.2.1);
NORMAL EXIT: AUX[3]:= N;
ABNORMAL EXIT: IF THE DECOMPOSITION CANNOT BE CARRIED OUT
BECAUSE THE MATRIX IS (NUMERICALLY) NOT POSITIVE
DEFINITE, AUX[3]:= K - 1, WHERE K IS THE LAST STAGE
NUMBER.
PROCEDURES USED:
CHLDEC1 = CP34311,
CHLINV1 = CP34401.
RUNNING TIME: ROUGHLY PROPORTIONAL TO N CUBED.
LANGUAGE: ALGOL 60.
METHOD AND PERFORMANCE:
THE PROCEDURE CHLDECINV1 CALCULATES THE INVERSE OF A SYMMETRIC
POSITIVE DEFINITE MATRIX BY CALLING CHLDEC1 AND, IF THIS CALL WAS
SUCCESSFUL, CHLINV1.
THE UPPER TRIANGLE OF THE INVERSE MATRIX IS DELIVERED COLUMNWISE IN
THE GIVEN ONE-DIMENSIONAL ARRAY.
SEE ALSO METHOD AND PERFORMANCE OF CHLINV2, (THIS SECTION) AND
CHLDEC1, SECTION 3.1.1.1.1.2.1.
EXAMPLE OF USE:
THE SYMMETRIC POSITIVE DEFINITE COEFFICIENT MATRIX (THE PASCAL
MATRIX OF ORDER 4) OF THE SYSTEM OF EQUATIONS
X1 + X2 + X3 + X4 = 2
X1 + 2 * X2 + 3 * X3 + 4 * X4 = 4
X1 + 3 * X2 + 6 * X3 + 10 * X4 = 8
X1 + 4 * X2 + 10 * X3 + 20 * X4 = 16
IS STORED IN THE ONE-DIMENSIONAL ARRAY PASCAL1.
THE DETERMINANT AND THE INVERSE OF THE COEFFICIENT MATRIX AND THE
SOLUTION OF THE LINEAR SYSTEM ARE CALCULATED BY THE FOLLOWING
PROGRAM:
"BEGIN" "COMMENT" TEST CHLDECSOL1, CHLDETERM1 AND CHLDECINV1;
"INTEGER" I, J, JJ;
"ARRAY" PASCAL1[1:(4 + 1) * 4 // 2], B[1:4], AUX[2:3];
"REAL" DETERMINANT;
JJ:= 1;
"FOR" J:= 1 "STEP" 1 "UNTIL" 4 "DO"
"BEGIN" PASCAL1[JJ]:= 1;
"FOR" I:= 2 "STEP" 1 "UNTIL" J "DO"
PASCAL1[JJ + I - 1]:= "IF" I = J "THEN"
PASCAL1[JJ + I - 2] * 2 "ELSE"
PASCAL1[JJ + I - 2] + PASCAL1[JJ + I - J];
B[J]:= 2 ** J;
JJ:= JJ + J
"END";
AUX[2]:= "-11;
CHLDECSOL1(PASCAL1, 4, AUX, B);
"IF" AUX[3] = 4 "THEN" DETERMINANT:= CHLDETERM1(PASCAL1, 4)
"ELSE" OUTPUT(61, "(""("MATRIX NOT POSITIVE DEFINITE")", /")");
OUTPUT(61, "("4B")");
OUTPUT(61, "(""("SOLUTION WITH CHLDECSOL1:")", /")");
"FOR" I:= 1 "STEP" 1 "UNTIL" 4 "DO"
OUTPUT(61, "("4B+D.5D")", B[I]);
OUTPUT(61, "("//, 4B, "("DETERMINANT WITH CHLDETERM1: ")",
+D.5D, 2/, 4B")", DETERMINANT);
JJ:= 1;
"FOR" J:= 1 "STEP" 1 "UNTIL" 4 "DO"
"BEGIN" PASCAL1[JJ]:= 1;
"FOR" I:= 2 "STEP" 1 "UNTIL" J "DO"
PASCAL1[JJ + I - 1]:= "IF" I = J "THEN"
PASCAL1[JJ + I - 2] * 2 "ELSE"
PASCAL1[JJ + I - 2] + PASCAL1[JJ + I - J];
JJ:= JJ + J
"END";
CHLDECINV1(PASCAL1, 4, AUX);
OUTPUT(61, "(""("INVERSE MATRIX WITH CHLDECINV1:")", /, 4B")");
"FOR" I:= 1 "STEP" 1 "UNTIL" 4 "DO"
"BEGIN" "FOR" J:= 1 "STEP" 1 "UNTIL" 4 "DO"
"IF" J < I "THEN" OUTPUT(61, "("12B")") "ELSE"
OUTPUT(61, "("+ZD.5D3B")", PASCAL1[(J - 1) * J // 2 + I]);
OUTPUT(61, "("/, 4B")")
"END"
"END"
THIS PROGRAM DELIVERS:
SOLUTION WITH CHLDECSOL1:
+0.00000 +4.00000 -4.00000 +2.00000
DETERMINANT WITH CHLDETERM1: +1.00000
INVERSE MATRIX WITH CHLDECINV1:
+4.00000 -6.00000 +4.00000 -1.00000
+14.00000 -11.00000 +3.00000
+10.00000 -3.00000
+1.00000
SOURCE TEXT(S) :
"CODE" 34400;
"CODE" 34401;
"CODE" 34402;
"CODE" 34403;