Dom:: SquareMatrixЗвонки квадратных матриц
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
Dom::SquareMatrix(n, <R>)
Dom::SquareMatrix(n, R)(Array)Dom::SquareMatrix(n, R)(Matrix)Dom::SquareMatrix(n, R)(<n, n>)Dom::SquareMatrix(n, R)(<n, n>,ListOfRows)
Dom::SquareMatrix(n, R)(<n, n>,f)
Dom::SquareMatrix(n, R)(<n, n>,List, <Diagonal>)
Dom::SquareMatrix(n, R)(<n, n>,g, <Diagonal>)
Dom::SquareMatrix(n, R)(<n, n>,List, <Banded>)
Dom::SquareMatrix(n, R) создает область, которая представляет звонок n ×n матрицы по доменному R компонента. Доменный R должен иметь категорию Cat::Rng (звонок, возможно без модуля).
Если дополнительный параметр, который R не дан, доменный Dom::ExpressionField(), используется в качестве звонка компонента для квадратных матриц.
Для матриц области, созданной Dom::SquareMatrix(n, R), стандартная матричная арифметика реализована путем перегрузки стандартных арифметических операторов +, -, *, / и ^. Все функции пакета linalg, имеющего дело с матрицами, могут также быть применены.
Dom::SquareMatrix(n, R) имеет доменный Dom::Matrix(R) как свою супер область, т.е. это наследовало каждый метод, который задан Dom::Matrix(R) и не повторно реализован Dom::SquareMatrix(n, R).
Методы, описанные ниже, повторно реализованы Dom::SquareMatrix.
Доменный Dom::Matrix(R) представляет матрицы по R произвольного размера, и это поэтому не имеет никакой алгебраической структуры (кроме того, чтобы быть набором матриц).
Доменный Dom::MatrixGroup(m, n, R) представляет Абелевую группу m ×n матрицы по R.
Dom::SquareMatrix(n, R)(Array) и Dom::SquareMatrix(n, R)(Matrix) создают новую матрицу, сформированную записями Array и Matrix, соответственно.
Компоненты Array и Matrix, соответственно, преобразованы в элементы доменного R. Сообщение об ошибке выпущено, если одно из этих преобразований перестало работать.
Вызов Dom::SquareMatrix(n, R)( n , n ) возвращает n ×n нулевая матрица. Обратите внимание на то, что n ×n нулевая матрица также задан записью "zero" (см. ниже).
Dom::SquareMatrix(n, R)( n , n ListOfRows) создает n ×n матрица с компонентами, взятыми из вложенного list ListOfRows. Каждый внутренний список соответствует строке матрицы.
Если внутренний список имеет меньше, чем записи n, остающиеся компоненты в соответствующей строке матрицы обнуляются. Если существуют меньше, чем n внутренние списки, остающиеся более низкие строки матрицы заполнены, обнуляет.
Записи внутренних списков преобразованы в элементы доменного R. Сообщение об ошибке выпущено, если одно из этих преобразований перестало работать.
Это может быть хорошая идея сначала, чтобы создать двумерный массив из того списка прежде, чем вызвать Dom::SquareMatrix(n, R). Это - то, вследствие того, что создание матрицы от массива является самым быстрым способом, которым можно достигнуть. Однако в этом случае подсписки должны иметь то же число элементов.
Dom::SquareMatrix(n, R)( n , n f) возвращает матрицу, чья (i, j) th компонент значение вызова функции f(i, j). Индексы строки и столбца i и j колеблются от 1 до n.
Значения функции преобразованы в элементы доменного R. Сообщение об ошибке выпущено, если одно из этих преобразований перестало работать.
Dom::Matrix (R)
Если R имеет Ax::canonicalRep, то Ax::canonicalRep.
Много примеров может быть найдено на странице справки доменного конструктора Dom::Matrix, и большинство из них является также примерами для работы с областями, созданными Dom::SquareMatrix.
Эти примеры только концентрируются на некоторых различиях относительно работы с матрицами доменного Dom::Matrix(R).
Следующая команда задает звонок двумерных матриц по rationals:
SqMatQ := Dom::SquareMatrix(2, Dom::Rational)
![]()
SqMatQ::hasProp(Cat::Ring)
![]()
Модуль задан записью "one", который является 2×2 единичная матрица:
SqMatQ::one
![]()
Обратите внимание на то, что некоторые операции, заданные доменным SqMatQ, возвращают матрицы, которые более не не являются квадратными. Они возвращают поэтому матрицы доменного Dom::Matrix(Dom::Rational), суперобласть SqMatQ. Например, если мы удаляем первую строку матрицы:
A := SqMatQ([[1, 2], [-5, 3]])
![]()
мы получаем матрицу:
SqMatQ::delRow(A, 1)
![]()
который имеет доменный тип:
domtype(%)
![]()
Мы можем преобразовать квадратную матрицу в или от другой матричной области, как показано затем:
SqMatR := Dom::SquareMatrix(3, Dom::Real): MatC := Dom::Matrix(Dom::Complex):
A := SqMatR((i, j) -> sin(i*j))

Преобразовывать A в матрицу доменного MatC, введите:
coerce(A, MatC)

domtype(%)
![]()
Преобразование сделано покомпонентно, когда следующие примеры показывают:
B := MatC([[0, 1], [exp(I), 0]])

Матричный B является квадратным, но имеет один комплексный компонент и поэтому не может быть преобразован в доменный SqMatR:
coerce(B, SqMatR)
![]()
|
Положительное целое число |
|
Звонок, т.е. область категории |
|
n ×n массив |
|
n ×n матрица, т.е. элемент области категории |
|
Список матричных компонентов |
|
Список в большинстве строк |
|
Функция или функциональное выражение с двумя параметрами (индекс строки и столбца) |
|
Функция или функциональное выражение с одним параметром (индекс строки) |
|
Создайте диагональную матрицу С опцией
Записи
Значения функции преобразованы в элементы доменного |
|
Создайте полосную матрицу Теплица
Все элементы основной диагонали созданной матрицы инициализируются со средним элементом Записи |
| "один" | n ×n единичная матрица. Эта запись существует, если кольцевой |
| "randomDimen" | установлен в |
| "нуль" | n ×n нулевая матрица. |