/// <summary> /// Solves the linear system Ax=b. /// </summary> /// <param name="input">The right hand side vector.</param> /// <returns></returns> public static double[] Solve(this DenseColumnMajorStorage <double> matrix, double[] input) { int columns = matrix.ColumnCount; var lu = DenseLU.Create(matrix); var x = new double[columns]; lu.Solve(input, x); return(x); }
/// <summary> /// Gets the inverse of the matrix. /// </summary> /// <returns></returns> public static Matrix Inverse(this DenseColumnMajorStorage <double> matrix) { int rows = matrix.RowCount; int columns = matrix.ColumnCount; var inv = new Matrix(rows, columns); DenseLU.Create(matrix).Inverse(inv); return(inv); }
/// <summary> /// Gets the determinant of the matrix. /// </summary> /// <returns></returns> public static double Determinant(this DenseColumnMajorStorage <double> matrix) { return(DenseLU.Create(matrix).Determinant()); }
public override LU <double> LU() { return(DenseLU.Create(this)); }
public override LU <float> LU() { return(DenseLU.Create(this)); }
public override LU <Complex32> LU() { return(DenseLU.Create(this)); }