Skip to content

Libod3/Matrix

Repository files navigation

Класс Matrix.

Класс Matrix представляет собой реализацию матрицы с плавающей запятой дробной точностью. В классе реализованы следующие функции:

Конструкторы

Matrix(): Конструктор по умолчанию, создает пустую матрицу.

Matrix(int rows, int cols, double value_of_element): Конструктор, создает матрицу с заданным количеством строк и столбцов, заполненную заданным значением.

Matrix(const std::vector<std::vector>& matrix_data): Конструктор, создает матрицу из вектора векторов double.

Matrix(const Matrix& other): Копирующий конструктор, создает копию матрицы.

Методы

int get_row(): Возвращает количество строк в матрице.

int get_coloms(): Возвращает количество столбцов в матрице.

void print(): Выводит матрицу в консоль.

void print_cat(): Выводит матрицу в виде рисунка (например, котика).

double determinant(): Вычисляет определитель матрицы.

double find_elem(int i, int j): Возвращает элемент матрицы по индексам i и j.

void set_elem(int i, int j, double num): Устанавливает элемент матрицы по индексам i и j в значение num.

Matrix sum_mtx(const Matrix& other): Складывает две матрицы.

Matrix dif_mtx(const Matrix& other): Вычитает одну матрицу из другой.

Matrix product_num(double num): Умножает матрицу на число.

Matrix product(const Matrix& other): Умножает две матрицы.

Matrix division_num(double num): Делит матрицу на число.

Matrix inverse(): Вычисляет обратную матрицу.

Matrix divicion(const Matrix& other): Делит одну матрицу на другую.

Matrix rank(): Методом Гаусса вычисляет ранг матрицы.

Matrix unary_minus(): Меняет знак всех элементов матрицы на противоположный.

Matrix transpose(): Транспонирует матрицу.

std::pair<Matrix,Matrix>luDecomposition():LU-разложение (представление матрицы A в виде произведения двух матриц, A=LU, где L — нижняя треугольная матрица, а U — верхняя треугольная матрица.)

std::pair<Matrix,Matrix>qrDecomposition(): QR-разложение (с использованием метода Грама-Шмидта) где первая матрица выдает ортогональную матрицу, а вторая матрица является верхней треугольной.

Ограничения

• Матрица должна быть квадратной для вычисления определителя и обратной матрицы.

• Матрицы должны иметь одинаковое количество строк и столбцов для сложения и умножения.

• Матрицы должны иметь совпадающие размеры для деления.

image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published