Справочник от Автор24
Поделись лекцией за скидку на Автор24

Решение задач линейной алгебры

  • 👀 216 просмотров
  • 📌 154 загрузки
Выбери формат для чтения
Загружаем конспект в формате doc
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Конспект лекции по дисциплине «Решение задач линейной алгебры» doc
Лекция 5 РЕШЕНИЕ ЗАДАЧ ЛИНЕЙНОЙ АЛГЕБРЫ Рассмотрим основные определения относящиеся к линейной алгебре. Матрица () – прямоугольная двумерная таблица, содержащая строк и столбцов элементов, каждый из которых может быть представлен числом, константой, переменной, символьным или математическим выражением. Квадратная матрица – матрица, у которой число строк равно числу столбцов. Сингулярная (вырожденная) матрица – квадратная матрица, у которой детерминант (определитель) равен нулю. Линейные уравнения с почти сингулярными матрицами могут давать большие погрешности при решении. Транспонированная матрица – матрица, у которой столбцы и строки меняются местами, т.е. элементы транспонированной матриц удовлетворяют условию . Обратная матрица – это матрица , которая, будучи умноженной на исходную матрицу , даёт единичную матрицу . Ранг матрицы – наибольший из порядков отличных от нуля квадратной матрицы. Определитель матрицы – это многочлен от элементов квадратной матрицы, каждый элемент которого является произведением элементов, взятых по одному из каждых строк и каждого столбца со знаком произведения, заданным четностью перестановок: , где – определитель матрицы , полученной из матрицы вычёркиванием первой строки и -го столбца. В таком виде определитель легко получить в символьных вычислениях. Идемпотентная матрица – матрица, отвечающая условию . Симметричная матрица – матрица отвечающая условию . Ортогональная матрица – матрица, отвечающая условию . Собственные значения матрицы – корни её характеристического многочлена. Норма – обобщенное понятие абсолютной величины числа. Норма трёхмерного вектора – его длина. Норма матрицы – значение . Пакет решения задач линейной алгебры (linalg) Maple предоставляет возможность решения задач линейной алгебры в символьном виде. Для интерактивного ввода матриц можно, определив размерность некоторого массива, использовать функцию entermatrix. > restart; > with(linalg): > A:=array(1..3,1..3): > entermatrix(A): После ввода этих команд на экране появится окно с предложением для ввода элемента 1,1 – 400; затем появляется окно с предложением о вводе элемента 1,2 и т.д. После набора команды > A:=(%); на экране получим Основные функции для задания векторов и матриц В библиотечном файле linalg имеются следующие функции для задания векторов и матриц: • vector(n,list) – создание вектора с элементами в списке list; • matrix(m,n,list) – создание матрицы с числом строк и столбцов с элементами, заданными списком list. Например: > V:=vector(3,[12,34,56]); > M:=matrix(2,3,[1,2,3,4]); Функции для работы с векторами и матрицами Для работы с векторами и матрицами имеется множество функций, входящих в пакет linalg. Операции со структурой отдельного вектора и матрицы : • coldim(M) – возвращает число столбцов матрицы ; • rowdim(M) – возвращает число строк матрицы ; • vecdim(V) – возвращает размерность вектора ; • col(M,i) – возвращает -й столбец матрицы ; • row(M,,j) – возвращает -ю строку матрицы ; • minor(M,i,j) – возвращает минор матрицы для элемента с индексами и ; • delcols(M,i..j) – удоляет столбцы матрицы от -го до -го; • delrows(V,i..j) – удоляет строки матрицы от -й до -й; • extend(M,m,n,x) – расширяет матрицу на строк и столбцов с применением заполнителя . Основные векторные и матричные операции: • dotprod(U,V) – возвращает скалярное произведение векторов и ; • crossprod(U,V) – возвращает векторное произведение векторов и ; • norm(V) или norm(M) – возвращает норму вектора и матрицы; • copyinto(A,B,i,j) – копирует матрицу в для элементов последовательно от до ; • concat(M1,M2) – возвращает объединённую матрицу с горизонтальным слиянием матриц и ; • stack(M1,M2) – возвращает объединённую матрицу с вертикальным слиянием матриц и ; • matadd(A,B) и evalm(A+B) – возвращает сумму матриц и • multiply(A,B) и evalm(A*B) – возвращает произведение матриц и • adjoint(M) или adj(M) – возвращает присоединённую матрицу, такую что даёт диагональную матрицу, определитель которой есть • charpoly(M,lambda) – возвращает характеристический полином матрицы относительно заданной переменной lambda; • det(M) – возвращает детерминант (определитель) матрицы ; • Eigenvals(M,vector) – инертная форма функции, возвращающей собственные значения матрицы и (при указании необязательного параметра vector) соответствующие им собственные векторы) • jordan(M) – возвращает матрицу в форме Жордана; • transpose(M) – возвращает транспонированную матрицу ; • inverse(M) или evalm(1/M) – возвращает матрицу, обратную к ; • singularvals(A) – возвращает сингулярные значения массива или матрицы . Решение систем линейных уравнений Ниже приведен пример решения системы линейных уравнений с применением функций входящих в пакет linalg > restart; > with(linalg): > C:=matrix(4,4,[[0.02,0.016,0.3,0.15],[-0.06,0.067,0.027,0.1], [0.45,0.133,0.08,0.139], [0.011,0.25,-0.2,0.1]]): > A:=evalm(C); > opr:=det(A); > A:=evalm(C): > B:=matrix(4,1,[0.662,0.029,2.312,0.379]); По формулам Крамера > A1:=copyinto(B,A,1,1); > A:=evalm(C): A2:=copyinto(B,A,1,2); > A:=evalm(C): A3:=copyinto(B,A,1,3); > A:=evalm(C): A4:=copyinto(B,A,1,4); > x1:=det(A1)/opr; > x2:=det(A2)/opr; > x3:=det(A3)/opr; > x4:=det(A4)/opr; > X:=vector(4,[x1,x2,x3,x4]); Блочным методом > with(linalg): > A:=evalm(C): > X:=multiply(inverse(A),B); Методом простых итераций Интерактивный ввод исходных данных > restart: > with(linalg): > A:=array(1..3,1..3): > entermatrix(A): Последовательный ввод в окне элементов матрицы А > A:=(%); > B:=array(1..3,1..1): > entermatrix(B): Последовательный ввод в окне элементов вектора В > B(%); > U:=concat(B,-A); > P0_1:=mulrow(U,1,1/A[1,1]): > P0_2:=mulrow(P0_1,2,1/A[2,2]): > P0:=mulrow(P0_2,3,1/A[3,3]): > P0[1,2]:=0*P0[1,2]:P0[2,3]:=0*P0[2,3]: P0[3,4]:=0*P0[3,4]:print(P0); > print(P0); Нулевое приближение > X0:=col(P0,1); > evalf(%); Первое приближение > betta:=col(P0,1): > alpha:=submatrix(P0,1..3,2..4): > X1:=matadd(betta,multiply(alpha,X0)): > evalf(%); Второе приближение > X2:=matadd(betta,multiply(alpha,X1)): > evalf(%); Третье приближение > X3:=matadd(betta,multiply(alpha,X2)): > evalf(%); Проводим проверку > matadd(multiply(A,X3),-1*B): > evalf(%); > X:=linsolve(A,B): > evalf(%);
«Решение задач линейной алгебры» 👇
Готовые курсовые работы и рефераты
Купить от 250 ₽
Решение задач от ИИ за 2 минуты
Решить задачу
Помощь с рефератом от нейросети
Написать ИИ
Получи помощь с рефератом от ИИ-шки
ИИ ответит за 2 минуты

Тебе могут подойти лекции

Смотреть все 938 лекций
Все самое важное и интересное в Telegram

Все сервисы Справочника в твоем телефоне! Просто напиши Боту, что ты ищешь и он быстро найдет нужную статью, лекцию или пособие для тебя!

Перейти в Telegram Bot