Dom
:: MatrixGroup
Абелева группа матриц
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
Dom::MatrixGroup(m
,n
, <R
>)
Dom::MatrixGroup(m, n, R)(Array
)
Dom::MatrixGroup(m, n, R)(Matrix
)
Dom::MatrixGroup(m, n, R)(<m, n
>)
Dom::MatrixGroup(m, n, R)(<m, n
>,List
)
Dom::MatrixGroup(m, n, R)(<m, n
>,ListOfRows
)
Dom::MatrixGroup(m, n, R)(<m, n
>,f
)
Dom::MatrixGroup(m, n, R)(<m, n
>,List
, <Diagonal>)
Dom::MatrixGroup(m, n, R)(<m, n
>,g
, <Diagonal>)
Dom::MatrixGroup(m, n, R)(<m, n
>,List
, <Banded>)
Dom::MatrixGroup(m, n, R)
создает область, которая представляет Абелевую группу m ×n матрицы по кольцевому R
компонента, т.е. это - область категории Cat::AbelianGroup
.
Доменный Dom::ExpressionField()
используется в качестве звонка компонента для матриц, если дополнительный параметр R
не дан.
Для матриц области, созданной Dom::MatrixGroup(m, n, R)
, матричная арифметика реализована путем перегрузки стандартных арифметических операторов +, -, *, /
и ^
. Могут быть применены все функции linalg пакета, имеющего дело с матрицами.
Dom::MatrixGroup(m, n, R)
имеет доменный Dom::Matrix(R)
как свою супер область, т.е. это наследовало каждый метод, который задан Dom::Matrix(R)
и не повторно реализован Dom::MatrixGroup(m, n, R)
.
Методы, описанные ниже, реализованы Dom::MatrixGroup
.
Доменный Dom::Matrix(R)
представляет матрицы по R
произвольного размера, и это поэтому не имеет никакой алгебраической структуры (кроме того, чтобы быть набором матриц).
Доменный Dom::SquareMatrix(n, R)
представляет звонок n ×n матрицы по R.
Dom::MatrixGroup(m, n, R)(Array)
и Dom::MatrixGroup(m, n, R)(Matrix)
создают новую матрицу, сформированную записями Array
и Matrix
, соответственно.
Компоненты Array
и Matrix
, соответственно, преобразованы в элементы доменного R
. Сообщение об ошибке выпущено, если одно из этих преобразований перестало работать.
Вызов Dom::MatrixGroup(m, n, R)( m , n )
возвращает m ×n нулевая матрица. Обратите внимание на то, что m ×n нулевая матрица может также быть найден в записи "zero"
(см. ниже).
Dom::MatrixGroup(m, n, R)( m , n List)
создает m ×n матрица с компонентами, взятыми из list List
.
Этот вызов только позволен для m ×1 или 1 ×n матрица, т.е. если или m
или n
равны одному.
Если список имеет слишком мало записей, остающиеся компоненты матрицы обнуляются.
Записи списка преобразованы в элементы доменного R
. Сообщение об ошибке выпущено, если одно из этих преобразований перестало работать.
Dom::MatrixGroup(m, n, R)( m , n ListOfRows)
создает m ×n матрица с компонентами, взятыми из вложенного list ListOfRows
. Каждый внутренний список соответствует строке матрицы.
Если внутренний список имеет меньше, чем записи n
, остающиеся компоненты в соответствующей строке матрицы обнуляются. Если существуют меньше, чем m
внутренние списки, остающиеся более низкие строки матрицы заполнены, обнуляет.
Записи внутренних списков принуждены в элементы доменного R
. Сообщение об ошибке выпущено, если одно из этих преобразований перестало работать.
Это может быть хорошая идея сначала, чтобы создать двумерный массив из того списка прежде, чем вызвать Dom::MatrixGroup(m, n, R)
. Это - то, вследствие того, что создание матрицы от массива является самым быстрым способом, которым можно достигнуть. Однако в этом случае подсписки должны иметь то же число элементов.
Dom::MatrixGroup(m, n, R)( m , n f)
возвращает матрицу, чья (i, j) th компонент значение вызова функции f(i, j)
. Индекс строки i колеблется от 1 до m
и индекса столбца j от 1 до n
.
Значения функции принуждены в элементы доменного R
. Сообщение об ошибке выпущено, если одно из этих преобразований перестало работать.
Dom::Matrix
(R)
Если R
имеет Ax::canonicalRep
, то Ax::canonicalRep
.
Много примеров может быть найдено на странице справки доменного конструктора Dom::Matrix
, и большинство из них является также примерами для работы с областями, созданными Dom::MatrixGroup
. Этот пример только подсвечивает некоторые различия относительно работы с матрицами доменного Dom::Matrix(R)
.
Следующая команда задает абелевую группу 3 ×4 матриц по rationals:
MatGQ := Dom::MatrixGroup(3, 4, Dom::Rational)
MatGQ::hasProp(Cat::AbelianGroup), MatGQ::hasProp(Cat::Ring)
MatGQ
является коммутативной группой относительно сложения матриц. Модуль этой группы является 3 нулевыми матрицами ×4:
MatGQ::zero
Обратите внимание на то, что некоторые операции, заданные доменным MatGQ
, возвращают матрицы, которые больше не являются элементами матричной группы. Они возвращают матрицы доменного Dom::Matrix(Dom::Rational)
, суперобласть MatGQ
.
Например, если мы задаем матрицу:
A := MatGQ([[1, 2, 1, 2], [-5, 3], [2, 1/3, 0, 1]])
и удалите его третий столбец, мы получаем матрицу:
MatGQ::delCol(A, 3)
который имеет доменный тип:
domtype(%)
Как другой пример мы создаем 3×3 единичная матрица с помощью метода "identity"
нашей области:
E3 := MatGQ::identity(3)
Это - также матрица доменного Dom::Matrix(Dom::Rational)
:
domtype(E3)
Если мы конкатенируем E3
справа от матричного A
, заданного выше, мы получаем 3 ×7 матрицы:
B := A . E3
который имеет доменный тип Dom::Matrix(Dom::Rational)
:
domtype(B)
Мы можем преобразовать матрицу от области, созданной с Dom::MatrixGroup
в или от другой матричной области, как показано затем:
MatGR := Dom::MatrixGroup(2, 3, Dom::Real): MatC := Dom::Matrix(Dom::Complex):
A := MatGR((i, j) -> i*j)
Преобразовывать A
в матрицу доменного MatC
, введите:
coerce(A, MatC)
domtype(%)
Преобразование сделано покомпонентно. Например, мы задаем следующую матрицу:
B := MatC([[0, 1, 0], [exp(I), 0, 1]])
Матричный B имеет один комплексный компонент и поэтому не может быть преобразован в доменный MatGR
:
coerce(B, MatGR)
Примечание: системная функция coerce
использует методы "convert"
и "convert_to"
, реализованный любой областью, созданной с Dom::MatrixGroup
и Dom::Matrix
.
|
Положительные целые числа (матричная размерность) |
|
Коммутативный звонок, т.е. область категории |
|
m ×n массив |
|
m ×n матрица, т.е. элемент области категории |
|
Список матричных компонентов |
|
Список в большинстве строк |
|
Функция или функциональное выражение с двумя параметрами (индекс строки и столбца) |
|
Функция или функциональное выражение с одним параметром (индекс строки) |
|
Создайте диагональную матрицу С опцией
Записи
Значения функции принуждены в элементы доменного |
|
Создайте полосную матрицу Теплица С опцией Ленточная матрица имеет весь нуль записей вне основной диагонали и некоторые смежные под - и супердиагоналей.
Все элементы основной диагонали созданной матрицы инициализируются со средним элементом Записи |
"один" | только задан, если |
"randomDimen" | установлен в |
"нуль" | m ×n нулевая матрица. |