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 нулевая матрица. |