Warning: include(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/wp-cache-base.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 65

Warning: include_once(/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php): failed to open stream: No such file or directory in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82

Warning: include_once(): Failed opening '/var/www/iill7773/data/www/wiselab.ru/wp-content/plugins/wp-super-cache/ossdl-cdn.php' for inclusion (include_path='.:/opt/alt/php55/usr/share/pear:/opt/alt/php55/usr/share/php') in /home/u7426dd0/domains/wiselab.ru/public_html/wp-content/plugins/wp-super-cache/wp-cache.php on line 82
Интерактивный ввод матриц | Учебники

Главная > Maple 15 > Интерактивный ввод матриц


Интерактивный ввод матриц

Интерактивный ввод матриц
Для интерактивного ввода матриц можно, определив размерность некоторого массива, использовать функцию entermatrix:
> А:=аггау(1..3,1..3):
А :=аггау(1 ..3,1 .. 3, [ ])
После исполнения этого фрагмента документа диалог с пользователем имеет следующий вид:
 

 

Основные функции для задания векторов и матриц
В библиотечном файле Unalg имеются следующие функции для задания векторов и матриц: 

  • vector(n,list) — сoздание вектора с n элементами, заданными в списке list;
  •  matrix(n,m,list) — создание матрицы с числом строк n и столбцов m с элементами, заданными списком list.

Ниже показано применение этих функций:

Обратите внимание на последние примеры — они показывают вызов индексированных переменных вектора и матрицы.
Функции для работы с векторами и матрицами
Для работы с векторами и матрицами Maple 15 имеет множество функций, входящих в пакет linalg. Ограничимся приведением краткого описания наиболее распространенных функций этой категории.
Операции со структурой отдельного вектора V и матрицы М: 

  •  coldim(M) — возвращает число столбцов матрицы М; 
  •  rowdim(M) — возвращает число строк матрицы М;
  •  vectdim(V) — возвращает размерность вектора V;
  •  col(M,i) — возвращает i-й столбец матрицы М;
  •  row(M,i) — возвращает i-ю строку матрицы М;
  •  tninor(M,i, j) — возвращает минор матрицы М для элемента с индексами i и j;
  •  delcols(M,i.. j) — удаляет столбцы матрицы М от i-roдо j-ro;
  •  del rows (V,i..j) — удаляет строки матрицы М от i-й до j-й;
  •  extend (М, т, n,х) — расширяет матрицу М на m строк и n столбцов с применением заполнителя х.

Основные векторные и матричные операции:

  •  dotprod(U,V) — возвращает скалярное произведение векторов U и V;
  •   crossprod(U,V) — возвращает векторное произведение векторов U и V;
  •   norm(V) или norm(M) — возвращает норму вектора или матрицы;
  •  copyinto(A,B,i, j) — копирует матрицу А в В для элементов последовательно от i до j;
  •  concat(Ml,M2) — возвращает объединенную матрицу с горизонтальным слиянием матриц Ml и М2;
  •  stack(Ml,M2) — возвращает объединенную матрицу с вертикальным слиянием Ml и М2;
  •  matadd(A,B) и evalm(A+B) — возвращает сумму матриц А и В;
  •  multlply(A,B) и evalm(A&*B) — возвращает произведение матриц А и В;
  •  adjoint (М) или adj(M) — возвращает присоединенную матрицу, такую что M?adj(M) дает диагональную матрицу, определитель которой есть det(M);
  •  charpoly(M,lambda) — возвращает характеристический полином матрицы М относительно заданной переменной lambda;
  •  det(M) — возвращает детерминант (определитель) матрицы М;
  •  Eigenvals(M,vector) — инертная форма функции, возвращающей собственные значения матрицы М и (при указании необязательного параметра vector) соответствующие им собственные векторы;
  •  jordan(M) — возвращает матрицу М в форме Жордана;
  • hermite(M) — возвращает матрицу М в эрмитовой форме;
  •  trace(M) — возвращает след матрицы М;
  •  rank(M) — возвращает ранг матрицы М;
  •  transpose(M) — возвращает транспонированную матрицу М;
  •  inverse(M) или evalm(l/M) — возвращает матрицу, обратную к М;
  •  singularvals(A) — возвращает сингулярные значения массива или матрицы А.

Приведем примеры применения некоторых из этих функций:
 

Читатель, понимающий суть матричных вычислений, легко справится с тестированием других функций, входящих в пакет linalg. В приведенных примерах полезно обратить внимание на то, что многие матричные функции способны выдавать результаты вычислений в аналитическом виде, что облегчает разбор выполняемых ими операций.

Решение систем линейных уравнений
Ниже представлен простой пример составления и решения трех систем линейных уравнений с применением функций, входящих в пакет linalg:

А теперь рассмотрим пример решения матричного уравнения в символьном виде:

Следующий пример показывает решение более сложной системы линейных уравнений с комплексными коэффициентами:

На этот раз решение получено использованием функций умножения матриц и вычисления обратной матрицы в виде X = А-1 В, то есть в матричном виде. В конце примера показано преобразование результатов с целью их получения в обычной форме комплексных чисел с частями, представленными в форме чисел с плавающей точкой.
Пакет линейной алгебры с алгоритмами NAG LinearAlgebra
Назначение и загрузка пакета LinearAlgebra
В последние годы разработчики систем символьной математики осознали, что малая скорость выполнения векторных и матричных операций при решении задач линейной алгебры оборачивается потерей заметной части рынка систем компьютерной математики. Новые версии таких систем (Mathematica 4/4.1 и Maple 6/7) отличаются от прежних прежде всего резким повышением эффективности решения задач линейной алгебры в численном виде.
В новых реализациях систем Maple и MATLAB была сделана ставка на использование давно апробированных быстрых алгоритмов линейной алгебры, предложенных создателями Number Algorithm Group (NAG). Эти алгоритмы издавна применяются на больших ЭВМ и суперкомпьютерах, обеспечивая ускорение численных матричных операций от нескольких раз до нескольких десятков раз. Их применение обеспечивает эффективное использование систем символьной математики в решении задач, сводящихся к задачам линейной алгебры. В числе таких задач многочисленные задачи теоретической электротехники, механики многих объектов, моделирования электронных устройств и т. д. В Maple 15 использование алгоритмов NAG является одной из первых отличительных черт новой версии системы. Оно реализуется новым пакетом LinearAlgebra. Для его загрузки используются следующие команды:
> restart; with(LinearAlgebra):
[Add, Adjoint, BackwardSubstitute, BandMatrix, Basis, BezoutMatrix, BidiagonalForm, BilinearForm, CharacteristicMatrix, CharacteristicPolyhomial, Column, ColumnDimension, ColumnOpemtion, ColumnSpace, CompanionMatrix, CondittonNumber, ConstantMatrix, ConstantVector, CreatePermutation, CrossProduct, DeleteColumn, DeleteRow, Determinant, DiagonalMatrix, Dimension,
Dimensions, DotProduct, Eigenvalues, Eigenvectors, Equql, FonyardSubstitute, FrobeniusForm, GenerateEquations, GenerateMatrix, GetResuNDataType, * GetResultShape, GivensRotationMatrix, GramSchmidt, HarikelMatrix, HermiteForm, HermitianTranspose, HessenbergForm, HilbertMatrix, Households-Matrix, IdentityMatrix, IntersectionBasis, IsDefinite, IsOrthogonal, IsSimilar, IsUnitary,
JordanBlockMatrix, JordanForm, LA_Main, LUDecomposition, LeastSquares, LinearSolve, Map, Map2, MatrixAdd, Matrixlnverse, MatrixMatrixMultiply, MatrixNorm, MatrixScalarMultiply, MatrixVectorMultiply,Minimal/Polynomial, Minor, Multiply, NoUserValue, Norm, Normalize, NullSpace, OuterProductMatrix, Permanent, Pivot, QRDecomposition, RandomMatrix, RandomVector, Rank, Row,
RowDimension, RowOperation, RowSpace, ScalarMatrix, ScalarMultiply, ScalarVector, SchurForm, SingularValues, SmithForm, SubMatrix, SubVector, SumBasis, SylvesterMatrix, ToeplitzMatrix, Trace, Transpose, TridiagonalForm, UnitVector, VandermondeMatrix, VectorAdd, VectorAngle, VectorMatrixMultiply, VectorNorm, VectorScalarMultiply, ZeroMatrix, Zero Vector, Zip ] 
> 1nfolevel[LinearA1gebra]:=l:
infolevelLinearAlgebra:=1

Нетрудно заметить, что многие функции этого пакета повторяет по назначению функции более старого пакета linalg, описанного выше. Поэтому мы не будем останавливаться на их повторном описании. Главное то, что эти функции задействуют возможности быстрых алгоритмов NAG и в отличие от функций пакета linalg ориентированы на численные расчеты в формате обработки вещественных чисел, характерном для компьютерной платформы. Знающий матричные методы читатель легко поймет назначение функций пакета LinearAlgebra по их составным названиям. Например, DeleteColumn означает удаление столбца матрицы, ToeplitzMatrix означает создание матрицы Теплица, ZeroMatrix — создание матрицы с нулевыми элементами и т. д. Все имена функций этого пакета начинаются с заглавной буквы.

Статьи по теме

Комментарии запрещены.