Skip to content

jqp4/lin_alg

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ПрИвЕт ффсем в Этом чяТике!!1

В этом репозитории я написал код нахождения некоторых штук из линала, чтобы писать идз можно было быстрее:)

Краткое описание того, что тут есть!

В файлике permutation.py лежит класс Permutation. В файлике matrix.py лежит два класса - Matrix и SquareMatrix.

Permutation

Этот класс описывает перестановки и некоторые дополнительные вещи.

  • конструктор: принимает на вход массив с самой перестановкой, массив размера N, в котором должны быть все числа от 0 до N-1, иначе выбросит ошибку.

  • умножение: классическое умножение перестановок. Находится в работе.

  • возведение в степень: классическое возведение перестановок в степень. Находится в работе.

  • get_inversed_permutation: возвращает перестановку, обратную данной. Находится в работе.

  • get_permutation_sign(): возвращает -1 или 1, в зависимости от знака перестановки.

  • get_permutations(n, has): дурацкий статический метод, который генерирует все перестановки размера n. Нужно передать сам n и массив has со всеми числа от 0 до n - 1. Возвращает список всех перестановок, в виде массивов, где значение в i-ом индексе означает куда перейдет i после применения перестановки.

  • get_all_subsets(arr, n): еще один дурацкий статический метод, который возвращает все подмножества массива arr размера k.

Matrix

Этот класс описывает минимальные операции для матриц. В будущем сделаю его неизменяемым.

  • конструктор: принимает на вход двумерный массив, возвращает ошибку, если размеры строчек не равны между собой

  • умножение: класс поддерживает матричное умножение, выкидывает ошибку, если размеры матриц неправильные

  • multiply_on_number(x): умножение матрицы на действительное число x

  • get_transposed(): возвращает транспонированную матрицу, саму матрицу не изменяет

SquareMatrix

Этот класс описывает операции для квадратных матриц, является наследником Matrix. В будущем сделаю его неизменяемым.

  • конструктор: возвращает ошибку, если на входе не квадратный двумерный массив

  • compute_det(): возвращает определитель матрицы

  • get_minor(i, j): возвращает дополнительный минор для i-ой строки и j-ого столбца

  • get_r(arr_i): возвращает матрицу у которой вычеркнуты все столбцы и строчки, индексы которых есть в массиве arr_i

  • get_characteristic_polynomial(): возвращает коэффициенты характеристического многочлена матрицы

  • get_e(n): возвращает единичную матрицу n*n

  • возведение в степень: поддерживаю возведение в целые степени, для отрицательных он считает степень обратной матрицы

  • get_cofactor_matrix(): возвращает матрицу алгебраических дополнений

  • get_adjugate_matrix(): возвращает дополнительную (союзную) матрицу

  • get_inverse_matrix(): возвращает обратную матрицу

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%