using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Science.Mathematics.LinearAlgebra { public class Cofactor { public Cofactor(Matrix A, int row, int column) { Matrix M = new Matrix(A.SizeOfRow - 1, A.SizeOfColumn - 1); for (int i = 0; i < A.SizeOfRow; i++) { if (i > row) { for (int j = 0; j < A.SizeOfColumn; j++) { if (j > column) M[i - 1, j - 1] = A[i, j]; else if (j == column) continue; else M[i - 1, j] = A[i, j]; } } else if (i == row) continue; else { for (int j = 0; j < A.SizeOfColumn; j++) { if (j > column) M[i, j - 1] = A[i, j]; else if (j == column) continue; else M[i, j] = A[i, j]; } } } if ((row + column) % 2 == 0) d = M.Determinant; else d = -M.Determinant; } private double d; public double Determinant { get{return d;} } } }