18 lines
567 B
Text
18 lines
567 B
Text
var [const] GSL=Import("zklGSL"); // libGSL (GNU Scientific Library)
|
|
fcn luTask(A){
|
|
A.LUDecompose(); // in place, contains L & U
|
|
L:=A.copy().lowerTriangle().setDiagonal(0,0,1);
|
|
U:=A.copy().upperTriangle();
|
|
return(L,U);
|
|
}
|
|
|
|
A:=GSL.Matrix(3,3).set(1,3,5, 2,4,7, 1,1,0); // example 1
|
|
L,U:=luTask(A);
|
|
println("L:\n",L.format(),"\nU:\n",U.format());
|
|
|
|
A:=GSL.Matrix(4,4).set(11.0, 9.0, 24.0, 2.0, // example 2
|
|
1.0, 5.0, 2.0, 6.0,
|
|
3.0, 17.0, 18.0, 1.0,
|
|
2.0, 5.0, 7.0, 1.0);
|
|
L,U:=luTask(A);
|
|
println("L:\n",L.format(8,4),"\nU:\n",U.format(8,4));
|