public Vector MultiplyByVector(Vector vector) { if (vector.GetSize() != GetColumnsCount()) { throw new ArgumentException("Умножение невозможно, размерность вектора не равна количеству столбцов матрицы, сейчас равна: " + vector.GetSize() + ", а количество столбцов матрицы равно: " + GetColumnsCount(), nameof(vector)); } Vector result = new Vector(GetRowsCount()); for (int i = 0; i < GetRowsCount(); i++) { result.SetElement(i, Vector.GetScalarMultiplication(rows[i], vector)); } return(result); }
public Vector GetColumn(int index) { if (index < 0 || index >= GetColumnsCount()) { throw new IndexOutOfRangeException("Индекс столбца вне размеров матрицы, должен быть в пределах: [0, " + (GetColumnsCount() - 1) + "], сейчас он равен: " + index); } Vector columnVector = new Vector(GetRowsCount()); for (int i = 0; i < GetRowsCount(); i++) { columnVector.SetElement(i, rows[i].GetElement(index)); } return(columnVector); }