/// <summary> /// Возвращает вектор в новом базисе. Векторы базиса записываются в столбцы масссива. /// </summary> /// <param name="vector"></param> /// <param name="basis"></param> /// <returns></returns> public static Vector ToNewBasis(this Vector vector, double[,] basis) { if (Vector.Determinant(basis) == 0) { throw new ArgumentException("Determinant of the matrix of vectors is equal to 0." + "Vectors cannot be basis"); } else { double[,] invertMatrix = Vector.InvertibleMatrix(basis); double[] newVector = Vector.MatrixMultiplication(invertMatrix, vector); return(new Vector(newVector)); } }