Примеры решения матриц: виды матриц, формулы
Определение
Матрица — это математическая таблица с числовыми значениями. Обозначаются матрицы латинскими знаками.
Есть два вида матриц:
- Комплексные матрицы. Одно из чисел равно комплексному.
- Действительные матрицы. Матрица в которой содержаться действительные числа.
С матрицей выполняют самые простейшие действия: умножение, деление, сложение, вычитание и трансформацию. Данные действия можно совершать тогда, когда матрицы схожи меж собой, чтобы в самом конце вышло выражение схожей размерности. Сложение и вычитание производятся подобно друг другу.
Эти числа, являются элементами матрицы.
Матрицу можно записать в следующем виде:
\[A=\left(a_{\mathrm{ij}}\right)=\left\|a_{i j}\right\|\]
Квадратная матрица — это число строк, которое равно числу столбцов (m=n), при этом число n – это порядок матрицы.
Пример квадратной матрицы 3-го порядка:
\[A=\left(\begin{array}{lll} a_{11} & a_{12} & a_{13} \\ a_{21} & a_{22} & a_{23} \\ a_{31} & a_{32} & a_{33} \end{array}\right)\]
Главная диагональ квадратной матрицы – это диагональ, которая состоит из a21,a22, a23, идущая из левого верхнего угла этой матрицы в правый нижний угол. Побочной диагональю квадратной матрицы называется диагональ, составленная из элементов идущая из правого верхнего угла этой матрицы в левый нижний угол.
В квадратной матрице, у которой все элементы, стоящие выше или ниже главной диагонали, равны нулю, называют треугольной, пример:
\[\left(\begin{array}{ccc} a_{11} & a_{12} & a_{13} \\ 0 & a_{22} & a_{23} \\ 0 & 0 & a_{33} \end{array}\right)\]
Квадратная матрица, у которой все элементы, стоящие на верхней и нижней грани, равны нулю, является диагональной:
\[a_{i} \neq 0, a_{i j}=0\]
Для того чтобы получить квадратную диагональную матрицу с единичными элементами, нужно использовать букву E. Например, квадратная диагональная матрица 3-го порядка имеет такой вид:
\[E=\left(\begin{array}{lll} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{array}\right)\]
Трансформированием квадратной матрицы называется такое преобразование, при котором ее строки становятся столбцом с теми же номерами, а столбец — строкой. {T}=\left(\begin{array}{lll} a_{11} & a_{21} & a_{31} \\ a_{12} & a_{22} & a_{32} \\ a_{13} & a_{23} & a_{33} \end{array}\right)\]
Матрица называется нулевой, если все ее элементы равны нулю.
Матрицы А и В называются равными, если они имеют одинаковую размерность, и все их соответствующие элементы совпадают.
Определитель матриц второго и третьего порядка
Определителем второго порядка квадратной матрицы называется число, равное:
\[ A=\left(\begin{array}{ll} a_{11} & a_{12} \\ a_{21} & a_{22} \end{array}\right) \quad \Delta=|A|=\operatorname{det} A=\left|\begin{array}{ll} a_{11} & a_{12} \\ a_{21} & a_{22} \end{array}\right|=a_{11} a_{22}-a_{12} a_{21} \]
Суммой А + В двух матриц А=(аij) и В= (bij) одинакового размера m*n, называется матрица C=(cij), элементы которой cij=aij+ bij, для всех i=1,2,…,m и j=1,2…,n.
Задача
\[ \left(\begin{array}{rrr} 1 & 4 & 3 \\ 8 & -3 & 2 \end{array}\right)+\left(\begin{array}{rrr} 3 & 1 & 1 \\ 4 & -1 & 0 \end{array}\right)=\left(\begin{array}{rrr} 4 & 5 & 4 \\ 12 & -4 & 2 \end{array}\right) \]
Согласно правилу сложения матриц A+O=A, где A — произвольная матрица, а O — нулевая матрица того же размера, что и A.
Вычитание матриц
Разность двух матриц одинакового размера определяется с помощью операции умножения матрицы B на число —1 и последующего сложения матриц A и (—1) B т. е.
\[A-B=A+(-1) B\]
Некоторые свойства, присущие операциям над числами, справедливы и для операций над матрицами. В частности, из определений операций умножения матрицы на число и сложения матриц следует, что
\[A+B=B+A\]
Вышеуказанная формула показывает свойство коммуникативности при сложении матриц.
Доказательство. Так как операция сложения определена только для матриц одинакового размера, причем сумма матриц является матрицей того же размера, что и слагаемые матрицы, то очевидно, что размер матрицы
\[A+B=F\]
равен размеру матрицы
\[B+A=G\]
Докажем, что и все элементы матрицы F равны соответствующим элементам матрицы G. {k} a_{i s} b_{s j}\]
\[i=1,2, \ldots, m \text { и } j=1,2, \ldots, n .\]
Обратим внимание на размеры матрицы C, число строк матрицы-произведения совпадает с числом строк первой, а число столбцов — с числом столбцов второй из перемножаемых матриц (см. Рис. 1).
Пример. Вычислить произведение матриц AB, если
\[ A=\left(\begin{array}{rrr} 1 & 2 & 3 \\ 5 & 4 & -5 \end{array}\right), \quad B=\left(\begin{array}{rrr} 1 & 2 & 4 \\ 3 & -3 & 1 \\ 1 & 0 & 2 \end{array}\right) \]
Решение матриц:
Определим размер матрицы — произведения:
\[\underset{2 \times 3}{A} \underset{3 \times 3}{B}=\underset{2 \times 3}{C} .\]
Далее, вычислим элементы матрицы — произведения:
\[ C=\left(\begin{array}{rrr} 1+6+3 & 2-6+0 & 4+2+6 \\ 5+12-5 & 10-12+0 & 20+4-10 \end{array}\right) =\left(\begin{array}{lll} 10 & -4 & 12 \\ 12 & -2 & 14 \end{array}\right) \]
Нет времени решать самому?
Наши эксперты помогут!
Контрольная
| от 300 ₽ |
Реферат
| от 500 ₽ |
Курсовая
| от 1 000 ₽ |
Обратная матрица
Прежде чем переходить к понятию обратного выражения матрицы, следует рассмотреть алгоритм её транспонирования. Во время операции строки и столбцы переставляются местами.
На рисунке представлен метод решения обратной матрицы:
Для вычисления матрицы приведем ее к верхнетреугольному виду, используя преобразования над строками матрицы и свойства определителя матрицы.
По аналогии обратная матрица сходна с обратными числами. Например, противоположной цифре 5 будет дробь 1/5 = 5 (-1) степени. Произведение этих чисел равно 1, выглядит оно так: 5*5 (-1) = 1. Умножение обычной матричной таблицы на обратную даст в итоге единичную: А* А (-1) = Е. Это аналог числовой единицы.
Но для начала нужно понять алгоритм вычисления обратной матрицы. Для этого находят её определитель. Разработано два метода решения: с помощью элементарных преобразований или алгебраических дополнений.
Более простой способ решения — путём алгебраических дополнений. Рассмотрим матричную таблицу А, обратная ей А (-1) степени находится по формуле:
Матрица обратного вида возможна только для квадратного размера таблиц 2*2, 3*3 и т. д. Обозначается она надстроенным индексом (-1). Задачу легче рассмотреть на более простом примере, когда размер таблицы равен 2*2.
На первом этапе выполняют действия:
Обратного выражения матрицы не может быть, если определитель равен нулю. В рассматриваемом случае он равен -2, поэтому всё в порядке.
2 этап: рассчитывают матрицу миноров, которая имеет те же значения, что и первоначальная. Под минором k-того порядка понимается определитель квадратной матрицы порядка k*k, составленный из её элементов, которые располагаются в выбранных k- столбцах и k-строках. При этом расположение элементов таблицы не меняется. Чтобы найти минор верхнего левого числа, вычёркивают строчку и столбец, в которых прописан этот элемент. Оставшееся число и будет являться минором. На выходе должна получиться таблица:
3 этап: находят алгебраические дополнения
4 этап: определяют транспонированную матрицу
лекции_1_курс_1_поток_осень_2016 | Кафедра высшей алгебры
Лекции по алгебре, 1 курс, 1 поток
Лектор: Д. А.Тимашёв
Лекции проходят по понедельникам на 2-й паре (10:45-12:20) в ауд. П4 и по средам на каждой чётной неделе на 3-й паре (13:15-14:50) в ауд. П11.
Литература
А.И.Кострикин. Введение в алгебру. Часть I. Основы алгебры.
Э.Б.Винберг. Курс алгебры.
5 сентября 2016
Лекция 1
Системы линейных уравнений (СЛУ) и их решения. Совместные и несовместные, определённые и неопределённые СЛУ. Матрица коэффициентов и расширенная матрица системы.
Элементарные преобразования систем линейных уравнений и их матриц. Элементарное преобразование приводит к эквивалентной СЛУ.
Метод Гаусса решения СЛУ: ведущие элементы (лидеры) строк матрицы, приведение к ступенчатому и улучшенному ступенчатому виду, ранг ступенчатой матрицы, анализ ступенчатой СЛУ, главные и свободные неизвестные, общее решение системы.
Линейные комбинации векторов, их значения, тривиальная комбинация. Линейная зависимость, примеры (случай одного и двух векторов). Свойства линейной зависимости: сохранение линейной зависимости/независимости при увеличении/уменьшении системы векторов, эквивалентное определение (один из векторов системы линейно выражается через остальные), однозначное выражение вектора, добавление которого делает систему линейно зависимой. Обобщение на бесконечные системы векторов.
12 сентября 2016
Лекция 3
Основная лемма о линейной зависимости.
Эквивалентность условий максимальности линейно независимой подсистемы в системе векторов и выражаемости остальных векторов системы через эту подсистему. Базис системы векторов: определение, примеры — базисы в пространствах геометрических векторов, стандартный базис в R^n. n), её геометрический смысл (только формулировка).
21 сентября 2016
Лекция 5
Доказательство теоремы о структуре множества решений СЛУ.
Линейные отображения векторных пространств: определение, геометрические примеры (поворот плоскости, проекция пространства на плоскость). Линейные отображения арифметических векторных пространств и их матрицы. Интерпретация СЛУ на языке линейных отображений.
Алгебраические операции над линейными отображениями и матрицами (сложение и умножение, умножение на числа). Матричная запись линейных отображений и СЛУ.
26 сентября 2016
Лекция 6
Свойства матричных операций: коммутативность и ассоциативность сложения, ассоциативность и дистрибутивность умножения матриц на числа и между собой, некоммутативность умножения матриц, нулевая и противоположная матрицы, умножение на 0 и на 1. Векторное пространство матриц размера m×n. Матричные операции и транспонирование.
Ранг произведения матриц.
Тождественное отображение и единичная матрица. Символы Кронекера. Обратная матрица: определение, единственность, связь с обратным линейным отображением. Произведение обратимых матриц обратимо. Невырожденные квадратные матрицы. Матрица обратима тогда и только тогда, когда она невырождена. Алгоритм нахождения обратной матрицы (с примером).
3 октября 2016
Лекция 7
Элементарные матрицы, их основное свойство. Обратимость элементарных матриц. Разложение произвольной невырожденной матрицы в произведение элементарных матриц.
Перестановки, их количество. Подстановки степени n, их двухрядная запись. Взаимно однозначное соответствие между перестановками и подстановками, количество подстановок степени n равно n!.
Умножение подстановок, его ассоциативность. Тождественная подстановка и подстановка, обратная к данной. Некоммутативность умножения подстановок.
Циклические подстановки (циклы), их орбиты, однорядная запись цикла. Независимость циклов, разложение произвольной подстановки в произведение независимых циклов, его единственность.
5 октября 2016
Лекция 8
Транспозиции, разложение произвольной подстановки в произведение транспозиций.
Инверсии в перестановке, чётность и знак перестановки и подстановки. Изменение чётности перестановки при транспозиции двух её элементов. Количество чётных и нечётных перестановок n элементов (или подстановок степени n) одинаково и равно n!/2. Определение знака подстановки по числу сомножителей в её разложении на транспозиции. Знак произведения подстановок. Знак обратной подстановки.
Определители квадратных матриц: определение по развёрнутой формуле. Свойства определителя как функции от набора строк матрицы: полилинейность, кососимметричность, определитель матрицы с нулевой строкой, с одинаковыми и с пропорциональными строками, неизменность при элементарных преобразованиях 1-го типа.
Определитель транспонированной матрицы, свойства определителя как функции от набора столбцов.
Определитель треугольной матрицы. Метод вычисления определителя приведением матрицы к треугольному виду.
10 октября 2016
Лекция 9
Квадратная матрица невырождена тогда и только тогда, когда её определитель не равен 0.
Определитель матрицы — единственная, с точностью до пропорциональности, полилинейная кососимметрическая функция от её строк.
Определитель матрицы с углом нулей. Определитель Вандермонда, его основное свойство. Определитель произведения матриц.
Миноры прямоугольной матрицы. Дополнительный минор и алгебраическое дополнение к элементу квадратной матрицы. Разложение определителя по строке и по столбцу.
17 октября 2016
Лекция 10
Лемма о фальшивом разложении определителя. Присоединённая матрица, её основное свойство. Формула для обратной матрицы. Пример: формула для обратной к матрице размера 2×2.
Правило Крамера для решения квадратных СЛУ.
Теорема о ранге матрицы (его совпадение с наибольшим порядком ненулевого минора), метод окаймляющих миноров для вычисления ранга матрицы.
Группы: определение, единственность нейтрального и обратного элемента.
19 октября 2016
Лекция 11
Примеры групп (в т.ч. симметрическая группа S_n). Абелевы группы. Сравнение мультипликативной и аддитивной терминологий в теории групп. Подгруппы: определение и примеры (в т.ч. знакопеременная группа A_n).
Кольца: определение, аддитивная группа кольца. Классы колец: ассоциативные, коммутативные, кольца с единицей. Примеры колец (кольцо целых чисел Z, кольцо квадратных матриц Mat_n, кольцо геометрических векторов в пространстве с векторным умножением). Простейшие следствия аксиом кольца (единственность 0, 1 и противоположного элемента, умножение на 0 и на -1).
Обратимые элементы в ассоциативных кольцах с единицей, примеры: 1 обратима, 0 не обратим в кольцах с числом элементов >1. Мультипликативная группа кольца, примеры (в т.ч. полная матричная группа GL_n).
Делители нуля, их необратимость. Возможность сокращения на множитель, не являющийся делителем нуля.
Поля: определение и примеры. Подкольца и подполя: определение и примеры (Z
⊂Q⊂R). Перенос теории линейных уравнений, векторов, матриц и определителей с поля R на произвольное поле.20 октября 2016
Лекция 12
Сравнимость целых чисел по модулю m, классы вычетов. Операции над вычетами, корректность их определения. Кольцо вычетов Z_m.
Делители нуля и обратимые элементы в кольцах вычетов. Z_m — поле тогда и только тогда, когда m — простое число.
Характеристика поля, примеры. Если характеристика поля положительна, то это простое число. Возведение суммы в степень, равную характеристике поля. Малая теорема Ферма.
Комплексные числа: аксиоматическое определение поля C, как минимального расширения поля R, содержащего квадратный корень из -1. Алгебраическая форма записи комплексных чисел: существование и единственность, действительная и мнимая части комплексного числа.
Геометрическая интерпретация комплексных чисел как точек или векторов на координатной плоскости. Геометрический смысл операций сложения и вычитания комплексных чисел. Модуль комплексного числа и сопряжённое число, их геометрический смысл, свойства операции сопряжения. Деление комплексных чисел в алгебраической форме.
Аргумент комплексного числа, его главная ветвь. Тригонометрическая форма записи комплексных чисел, её экспоненциальная версия.
27 октября 2016
Лекция 14
Свойства модуля и аргумента комплексного числа, умножение и деление комплексных чисел в тригонометрической форме, геометрический смысл этих операций, формула Муавра.
Извлечение корней из комплексных чисел. Корни из единицы, первообразные корни.
Многочлены: неформальное определение, функциональная точка зрения на многочлены, её недостаток на примере поля вычетов Z_p (разные многочлены x и x^p задают одинаковые функции). ∞ финитных последовательностей элементов кольца K.
Целостные кольца (области целостности). Кольцо многочленов над областью целостности целостно. Аддитивность степени многочлена. Обратимые элементы в кольце многочленов над областью целостности.
Многочлены над полем и полиномиальные функции. Задача о (полиномиальной) интерполяции. Теорема об интерполяции, интерполяционная формула Лагранжа. Эквивалентность формального и функционального равенства многочленов над бесконечным полем. Число различных корней многочлена не превосходит его степени.
16 ноября 2016
Лекция 16
Деление с остатком в кольце многочленов. Теорема Безу. Корни многочленов, кратность корня, простые и кратные корни. Число корней многочлена, с учётом их кратностей, не превосходит его степени.
Производная многочлена, её свойства. Высшие производные. Связь кратности корня со значениями производных.
Разложение многочлена по степеням линейного двучлена. Формула Тейлора.
Делимость в целостных кольцах. Ассоциированные элементы.
17 ноября 2016
Лекция 17
Наибольший общий делитель (НОД) двух элементов целостного кольца, его единственность с точностью до ассоциированности. Евклидовы кольца, примеры. Существование НОД в евклидовом кольце, алгоритм Евклида для его нахождения. Линейное выражение НОД через исходные элементы.
Простые элементы целостного кольца, примеры: простые числа и неприводимые многочлены. Разложение элемента евклидова кольца на простые множители, его единственность с точностью до перестановки множителей и ассоциированности. Факториальные кольца, факториальность евклидовых колец. Выяснение делимости элементов факториального кольца друг на друга, нахождение их НОД и НОК в терминах разложения на простые множители.
21 ноября 2016
Лекция 18
Неприводимость многочлена зависит от поля коэффициентов. Многочлены 1-й степени неприводимы над любым полем. Неприводимые многочлены степени >1 не имеют корней (над данным полем).
Основная теорема алгебры комплексных чисел (ОТА): любой многочлен положительной степени над полем C имеет комплексный корень. Её следствия: неприводимые многочлены над полем C — это многочлены 1-й степени, разложение многочлена над полем C на линейные множители, число комплексных корней многочлена, с учётом кратностей, равно степени многочлена. Алгебраически замкнутые поля.
Основные понятия и факты математического анализа над полем C: ε-окрестности, пределы последовательностей и функций, непрерывность, существование минимума R-значной непрерывной функции на компакте. Лемма о неограниченном возрастании модуля многочлена. Лемма Д’Алабмера. Доказательство ОТА.
Комплексные корни многочлена с действительными коэффициентами, их разбиение на пары сопряжённых друг другу корней одинаковой кратности. Разложение многочлена над неприводимые множители (линейные и квадратичные с отрицательным дискриминантом) над полем R.
28 ноября 2016
Лекция 19
Проблема приближённого вычисления действительных (комплексных) корней многочлена сводится к нахождению количества корней в заданном интервале (заданной области). Теорема Декарта (правило знаков), оценка числа действительных корней (с учётом кратности) по одну сторону от заданной границы. Избавление от кратных корней (над полем характеристики 0).
Поле дробей целостного кольца.
30 ноября 2016
Лекция 20
Поле рациональных дробей K(x). Интерпретация рациональных дробей как функций.
Несократимые дроби. Представление элемента поля K(x) несократимой дробью, его единственность.
Правильные дроби. Представление рациональной дроби в виде суммы многочлена и правильной дроби, его единственность.
Простейшие дроби, их описание над полями C и R. Разложение правильной дроби в сумму простейших дробей.
Кольцо K[x_1,…,x_n] многочленов от нескольких переменных над ассоциативным коммутативным кольцом K с единицей: аксиоматическое определение, единственность с точностью до изоморфизма, индуктивное построение.
5 декабря 2016
Лекция 21
Полиномиальные функции от нескольких переменных. Эквивалентность формального и функционального равенства многочленов от нескольких переменных над бесконечным полем.
Степень одночлена и многочлена (полная и по отдельным переменным), однородные многочлены, разложение многочлена в сумму однородных компонент.
Лексикографический порядок на одночленах, его свойства. Старший член ненулевого многочлена. Старший член произведения многочленов над целостным кольцом K, целостность кольца K[x_1,…,x_n].
Многочлены от одной переменной над факториальным кольцом A, примитивные многочлены, лемма Гаусса. Факториальность кольца многочленов A[x], факториальность колец Z[x] и K[x_1,…,x_n], где K — поле.
12 декабря 2016
Лекция 22
Симметрические многочлены: определение и примеры. Степенные суммы и элементарные симметрические многочлены.
Теорема Виета: выражение значений элементарных симметрических многочленов на корнях многочлена от одной переменной через его коэффициенты.
Основная теорема о симметрических многочленах: существование и единственность выражения произвольного симметрического многочлена через элементарные симметрические многочлены.
Выражение значения симметрического многочлена на корнях многочлена от одной переменной через его коэффициенты.
Дискриминант многочлена от одной переменной, его основное свойство: дискриминант равен 0 тогда и только тогда, когда многочлен имеет кратные корни. Вычисление дискриминанта через определитель из степенных сумм корней многочлена.
14 декабря 2016
Лекция 23
Инвариантность дискриминанта относительно сдвига переменной на константу, сведение к дискриминанту неполного многочлена. Дискриминант неполного кубического трёхчлена, его связь с количеством вещественных корней.
Результант двух многочленов от одной переменной, его свойства, вычисление результанта через определитель из коэффициентов многочленов. Связь дискриминанта многочлена c результантом многочлена и его производной.
Возведение элемента группы в целую степень, свойства степени.
19 декабря 2016
Лекция 24
Порядок элемента группы, его свойства. Пример: порядок подстановки.
Циклическая подгруппа, порождённая элементом группы, циклические группы, примеры: аддитивные группы колец Z и Z_m. Порядок циклической группы, все циклические группы одного порядка изоморфны (пример: группа комплексных корней степени m из 1 изоморфна Z_m). Описание подгрупп циклической группы.
Смежность элементов группы G слева по подгруппе H — отношение эквивалентности. Левые смежные классы в G по H, индекс подгруппы. n=e в группе порядка n. Теорема Эйлера о вычетах.
ODE_Main.dvi
%PDF-1.6 % 383 0 объект > эндообъект 380 0 объект >поток GPL Ghostscript 8.632008-10-07T11:21:25-04:002008-10-07T11:09:48-04:00dvips(k) 5.96dev Copyright 2007 Radical Eye Software2008-10-07T11:21:25-04:007b270d41- 96dd-11dd-0000-b530c606d50euuid:b3f98389-1a88-4255-8808-691408d34f5capplication/pdf
Алгебраическое решение матричного уравнения
Переключить боковую панель оглавления
Используйте SymPy для решения матричного (линейного) уравнения. Например, решение \( \left[\begin{массив}{cc} c & d\\1 & -e\end{массив}\right] \left[\begin{массив}{cc} x\\y\end{массив}\right] = \left[\begin{array}{cc} 2\\0\end{массив}\right] \) дает \( \left[\begin{массив}{cc} x\\y\end{массив}\right] = \left[\begin{массив}{cc} \frac{2e}{ce+d}\\\frac{2}{ce+d}\end{массив}\right]\).
Альтернативы для рассмотрения
Если ваша матрица и постоянный вектор содержат только числа, а не символы, для пример \(\left[\begin{массив}{cc} 1 и 2\\3 и 4\end{массив}\right] \left[\begin{массив}{cc} x\\y\end{массив}\right] = \left[\begin{массив}{cc} 2\\0\end{массив}\right]\), вы можете использовать один из этих других бесплатных и открытых пакеты вместо SymPy:
NumPy
numpy.linalg.solve()
SciPy
scipy.linalg.solve()
mpmath lu_solve()
Решение матричного уравнения эквивалентно решению системы линейных уравнения, поэтому, если вы предпочитаете, вы можете Решите систему уравнений алгебраически
Если вы сформулировали свою задачу как систему линейных уравнений и хотите преобразовать его в матричную форму, вы можете использовать
linear_eq_to_matrix()
, а затем следуйте процедурам, описанным в этом руководстве.
Решение матричного уравнения
Вот пример решения матричного уравнения с помощью SymPy sympy.matrices.matrices.MatrixBase.solve()
. Используем стандартную матрицу
формулировка уравнения \(Ax=b\), где
\(A\) — матрица, представляющая коэффициенты в линейных уравнениях
\(x\) — вектор-столбец неизвестных, которые необходимо решить для
\(b\) — вектор-столбец констант, где каждая строка — значение уравнение
>>> из sympy import init_printing >>> init_printing(use_unicode=Истина)
>>> из символов импорта sympy >>> из sympy.matrices импортировать матрицу >>> c, d, e = символы ("c, d, e") >>> A = Matrix([[c,d], [1, -e]]) >>> А ⎡к д ⎤ ⎢ ⎥ ⎣1 -е⎦ >>> b = Матрица ([2, 0]) >>> б ⎡2⎤ ⎢ ⎥ ⎣0⎦ >>> А.решить(б) ⎡ 2⋅е ⎤ ⎢───────⎥ ⎢с⋅е + г⎥ ⎢ ⎥ ⎢ 2 ⎥ ⎢───────⎥ ⎣с⋅е + г⎦
Руководство
Матрица обычно должна быть квадратной
Матрица \(A\) обычно должна быть квадратной, чтобы представить систему линейных уравнений
с тем же числом неизвестных, что и уравнения. Если нет, SymPy выдаст ошибку ShapeError: `self` и `rhs` должны иметь одинаковое количество строк.
Исключение из требования, чтобы матрица была квадратной, связано с использованием SymPy.
псевдообратного Мура-Пенроуза .
Методы решения матричных уравнений
Метод решения матриц SymPy, sympy.matrices.matrices.MatrixBase.solve()
,
может использовать несколько различных методов, которые перечислены по этой справочной ссылке API.
В зависимости от характера матрицы данный метод может быть более эффективным. От
по умолчанию, Гаусс-Жордан
будет использовано устранение.
Указание метода решения эквивалентно использованию специализированного метода решения.
функция. Например, используя , решить
с помощью method='LU'
вызовов LUsolve()
.
Решение нескольких матричных уравнений с одной и той же матрицей
Если вам нужно повторно решить матричные уравнения с одной и той же матрицей \(A\), но различных постоянных векторов \(b\), эффективнее использовать один из следующих методы.
Вы можете использовать разложение LU
через LUsolve()
:
>>> из символов импорта sympy, матрица, глаз, упростить >>> c, d, e = символы ("c, d, e") >>> A = Matrix([[c,d], [1, -e]]) >>> А ⎡к д ⎤ ⎢ ⎥ ⎣1 -е⎦ >>> b = Матрица ([2, 0]) >>> б ⎡2⎤ ⎢ ⎥ ⎣0⎦ >>> решение = A.LUsolve(b) >>> решение ⎡ 2⋅е ⎤ ⎢───────⎥ ⎢с⋅е + г⎥ ⎢ ⎥ ⎢ 2 ⎥ ⎢───────⎥ ⎣с⋅е + г⎦ >>> # Демонстрация правильного решения >>> упростить (решение *) ⎡2⎤ ⎢ ⎥ ⎣0⎦ >>> b2 = Матрица ([4, 0]) >>> б2 ⎡4⎤ ⎢ ⎥ ⎣0⎦ >>> решение2 = A.LUsolve(b2) >>> решение2 ⎡ 4⋅е ⎤ ⎢───────⎥ ⎢с⋅е + г⎥ ⎢ ⎥ ⎢ 4 ⎥ ⎢───────⎥ ⎣с⋅е + г⎦ >>> # Демонстрация правильности решения 2 >>> упростить(A * решение2) ⎡4⎤ ⎢ ⎥ ⎣0⎦
Другой подход заключается в вычислении обратной матрицы, но это почти всегда
медленнее и значительно медленнее для больших матриц. Если эффективное вычисление
не является приоритетом, вы можете использовать inv()
:
>>> из символов импорта sympy, Matrix, упростить >>> c, d, e = символы ("c, d, e") >>> A = Matrix([[c,d], [1, -e]]) >>> b = Матрица ([2, 0]) >>> б ⎡2⎤ ⎢ ⎥ ⎣0⎦ >>> b2 = Матрица ([4, 0]) >>> б2 ⎡4⎤ ⎢ ⎥ ⎣0⎦ >>> инв = А. инв() >>> инв ⎡ э д ⎤ ⎢─────── ───────⎥ ⎢c⋅e + d c⋅e + d⎥ ⎢ ⎥ ⎢ 1 -с ⎥ ⎢─────── ───────⎥ ⎣c⋅e + d c⋅e + d⎦ >>> # Решает Ax = b для x >>> решение = инв * б >>> решение ⎡ 2⋅е ⎤ ⎢───────⎥ ⎢с⋅е + г⎥ ⎢ ⎥ ⎢ 2 ⎥ ⎢───────⎥ ⎣с⋅е + г⎦ >>> # Демонстрация правильного решения >>> упростить (решение *) ⎡2⎤ ⎢ ⎥ ⎣0⎦ >>> # Решает Ax = b2 для x >>> решение2 = инв * b2 >>> решение2 ⎡ 4⋅е ⎤ ⎢───────⎥ ⎢с⋅е + г⎥ ⎢ ⎥ ⎢ 4 ⎥ ⎢───────⎥ ⎣с⋅е + г⎦ >>> # Демонстрация правильности решения 2 >>> упростить(A * решение2) ⎡4⎤ ⎢ ⎥ ⎣0⎦
Определение обратной большой символьной матрицы не может быть вычислительно сговорчивый.
Работа с символьными матрицами
Вычислительная сложность манипулирования символьными матрицами может увеличиться быстро с размером матрицы. Например, количество членов в определителе символическая матрица увеличивается с факториалом размерности матрицы. Как В результате максимальная размерность решаемых матриц больше ограничено, чем для числовых матриц. Например, определитель этого 4x4 символьная матрица имеет 24 члена по четыре элемента в каждом члене:
>>> из sympy импорта MatrixSymbol >>> A = MatrixSymbol('A', 4, 4).as_explicit() >>> А ⎡А₀₀ А₀₁ А₀₂ А₀₃⎤ ⎢ ⎥ ⎢А₁₀ А₁₁ А₁₂ А₁₃⎥ ⎢ ⎥ ⎢А₂₀ А₂₁ А₂₂ А₂₃⎥ ⎢ ⎥ ⎣А₃₀ А₃₁ А₃₂ А₃₃⎦ >>> А.дет() A₀₀> a₁₁g₂₂ age₃₃ - a₀₀> a₁₁g₁₁ a₂₃g₂₃ a₃₂ - a₀₀> a₁₂tairt ₃omA₂₁taira₃₂ - a₀₀> a₁₃g₂₂ he₂₂⋅a₃₁ - a₀₁> A₁₀ веза -a₃₃ + a₀₁> A₁₀ везете + A₀₁g₁₀ ag₁₀tet A₃₃ - a₀₁> A₁₂> A₂₃> A₀₁ - a₀₁g₁₃ ag₂₀test A₀₂> a₁₀g₂₃ age₃₁ - a₀₂> a₁₁g₁₁ a₂₀g₂₀ + a₀₂> a₁₁tairtairt ₃omA₂₁taira₃₀ - a₀₃> a₁₀g₂₁ he₂₁> a₀₃> a₁₀ везat А₃₀ - А₀₃⋅А₁₂⋅А₂₀⋅А₃₁ + А₀₃⋅А₁₂⋅А₂₁⋅А₃₀
и решение матричного уравнения из него занимает около минуты, тогда как аналогичный Матрица 3x3 занимает менее одной секунды. Более несвязанные, символические записи в матрица, тем более вероятно, что она будет медленной в управлении. Этот пример, нахождение общее решение матрицы, где все элементы являются независимыми символами, есть крайний случай и, следовательно, самый медленный для матрицы такого размера.
Ускорить решение матричных уравнений
Вот несколько предложений:
Если элементы матрицы равны нулю, убедитесь, что они распознаются как нулевые. Вы можете сделать это, либо сделав их равными нулю, либо применив предположения.
Выбор метода решения, соответствующего свойствам матрицы, например эрмитовым, симметричным или треугольным. Ссылаться на Методы решения матричных уравнений.
Используйте класс
DomainMatrix
, который может работать быстрее потому что это ограничивает область определения матричных элементов.
Использовать результат решения
Использование решения в качестве вектора
Результат решения можно использовать как вектор. Например, чтобы доказать, что решение \(x\) правильное, вы можете умножить его на матрицу \(A\) и убедиться, что оно производит вектор констант \(b\):
>>> из символов импорта sympy, упростить >>> из sympy.matrices импортировать матрицу >>> c, d, e = символы ("c, d, e") >>> A = Matrix([[c,d], [1, -e]]) >>> b = Матрица ([2, 0]) >>> решение = A. solve(b) >>> решение ⎡ 2⋅е ⎤ ⎢───────⎥ ⎢с⋅е + г⎥ ⎢ ⎥ ⎢ 2 ⎥ ⎢───────⎥ ⎣с⋅е + г⎦ >>> # Не сразу очевидно, является ли этот результат вектором нулей >>> (А * решение) - б ⎡ 2⋅с⋅е 2⋅д ⎤ ⎢─────── + ─────── - 2⎥ ⎢c⋅e + d c⋅e + d ⎥ ⎢ ⎥ ⎣ 0 ⎦ >>> # упрощает показывает, что этот результат является вектором нулей >>> упростить((A * решение) - б) ⎡0⎤ ⎢ ⎥ ⎣0⎦
Обратите внимание, что нам пришлось использовать SimPy()
, чтобы сделать SymPy
упростите выражение в матричном элементе, чтобы сразу стало очевидно, что
решение правильное.
Извлечение элементов из раствора
Поскольку вы можете перебирать элементы в векторе-столбце, вы можете извлечь его элементы с использованием стандартных методов Python. Например, вы можете создать список элементов, использующих понимание списка
>>> [элемент для элемента в растворе] ⎡ 2⋅е 2 ⎤ ⎢───────, ───────⎥ ⎣c⋅e + d c⋅e + d⎦
или вы можете извлечь отдельные элементы, подписав
>>> решение[0] 2⋅е ─────── с⋅е + д
Уравнения без решения
Если определитель матрицы равен нулю, матричные уравнения с ним не имеют решение:
>>> из символов импорта sympy >>> из sympy.