internal static MatrixList AddMatricies(MatrixList A, MatrixList B) { int[,] C = new int[A.Count, A.Count]; for (int i = 0; i < A.Count; i++) { for (int j = 0; j < A.Count; j++) { C[i, j] = A.ItemAt(i, j) + B.ItemAt(i, j); } } return(MatrixFromArray(C)); }
internal static MatrixList TransposeMatrix(MatrixList matrix) { int m = matrix.Count; int[,] c = new int[m, m]; for (int i = 0; i < m; i++) { for (int j = 0; j < m; j++) { c[i, j] = matrix.ItemAt(j, i); } } return(MatrixFromArray(c)); }
internal static MatrixList MultiplyMatricies(MatrixList a, MatrixList b) { int m = a.Count; int n = b.Length; int[,] c = new int[m, n]; for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { c[i, j] = 0; for (int k = 0; k < 2; k++) { c[i, j] += a.ItemAt(i, k) * b.ItemAt(k, j); } } } return(MatrixFromArray(c)); }