Example: LU Factorization of a Matrix
The LU Factorization of a Matrix is performed. A linear system is then solved using the factorization. The inverse, determinant, and condition number of the input matrix are also computed.
using System;
using Imsl.Math;
public class LUEx1
{
public static void Main(String[] args)
{
double[,] a = {
{1, 3, 3},
{1, 3, 4},
{1, 4, 3}
};
double[] b = new double[]{12, 13, 14};
// Compute the LU factorization of A
LU lu = new LU(a);
// Solve Ax = b
double[] x = lu.Solve(b);
new PrintMatrix("x").Print(x);
// Find the inverse of A.
double[,] ainv = lu.Inverse();
new PrintMatrix("ainv").Print(ainv);
// Find the condition number of A.
double condition = lu.Condition(a);
Console.Out.WriteLine("condition number = " + condition);
Console.Out.WriteLine();
// Find the determinant of A.
double determinant = lu.Determinant();
Console.Out.WriteLine("determinant = " + determinant);
}
}
Output
x
0
0 3
1 2
2 1
ainv
0 1 2
0 7 -3 -3
1 -1 2.22044604925031E-16 1
2 -1 1 0
condition number = 0.0151202749140893
determinant = -1
Link to C# source.