// find the cofactor matrix and return the same public Matrix2D CoFactor() { int i1, j1; double det; Matrix2D m = new Matrix2D(); Matrix2D CMat = new Matrix2D(); for (var j = 0; j < 2; j++) { for (var i = 0; i < 2; i++) { i1 = 0; for (var ii = 0; ii < 2; ii++) { if (ii != i) { j1 = 0; for (var jj = 0; jj < 2; jj++) { if (jj != j) { m.matrix.SetValue(matrix[ii, jj], i1, j1); j1 = +j1 + 1; } } i1 = i1 + 1; } } det = m.Determinant(); CMat.matrix.SetValue(System.Math.Pow(-1.0, i + j + 2.0) * det, i, j); } m = null; } return CMat; }