linalg::randomMatrix

Сгенерируйте случайную матрицу

Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.

Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразуют Notebook MuPAD в Live скрипты MATLAB.

Синтаксис

linalg::randomMatrix(m, n, <R>, <bound>, <Diagonal | Unimodular>)

Описание

Вызов linalg::randomMatrix(m, n) возвращает случайный m ×n матрица по звонку компонента по умолчанию для матриц, т.е. по доменному Dom::ExpressionField().

Матричные компоненты сгенерированы методом "random" из доменного R (см. Пример 2).

Параметр bound дан в качестве параметра методу "random" из доменного R для того, чтобы к связанному размер компонентов случайной матрицы. Правильный тип bound определяется методом "random". Параметр не оказывает влияния если паз "random" не имеет аргумента размера.

Примеры

Пример 1

Мы создаем случайную квадратную матрицу по целым числам. Поскольку матрица случайна, созданная матрица может варьироваться:

linalg::randomMatrix(2, 2, Dom::Integer)

Если вы хотите к связанному размер его компонентов, говорите между-2 и 2, введите:

linalg::randomMatrix(2, 2, Dom::Integer, -2..2)

Пример 2

Следующий вход создает случайный вектор по кольцевому Dom::FloatIV компонента из интервалов с плавающей точкой. Поскольку вектор случаен, созданный вектор может варьироваться:

v := linalg::randomMatrix(1, 4, Dom::FloatIV)

domtype(v)

Компоненты этой матрицы являются случайными интервалами с плавающей точкой, созданными "random" метод доменного конструктора Dom::FloatIV.

Пример 3

Чтобы создать случайную диагональную матрицу по rationals, мы входим, например:

linalg::randomMatrix(3, 3, Dom::Rational, Diagonal)

Пример 4

Следующая команда создает случайную унимодулярную матрицу по целым числам так, чтобы ее определитель был или 1 или-1:

A := linalg::randomMatrix(3, 3, Dom::Integer, Unimodular)

det(A)

Мы можем, связал размер компонентов. Следующий вход возвращает унимодулярную матрицу A = (a ij) с |aij | ≤ 2 для i, j = 1, 2, 3:

A := linalg::randomMatrix(3, 3, 2, Unimodular)

Поскольку мы не сделали specifiy звонок компонента, матрица задана по стандартному звонку компонента для матриц (доменный Dom::ExpressionField()):

domtype(A)

Параметры

mN

Положительные целые числа

R

Звонок компонента, т.е. область категории Cat::Rng; значение по умолчанию: Dom::ExpressionField()

bound

Арифметическое выражение

Опции

Diagonal

Создает случайный m ×n диагональная матрица по R.

Unimodular

Создает случайный m ×m унимодулярная матрица по R, так, чтобы его определитель был модулем в R.

Примечание

Обратите внимание на то, что эта опция только доступна для квадратных матриц.

Норма каждого компонента возвращенной матрицы не превышает bound, который должен быть положительным целым числом, если задано. Значение по умолчанию bound 10.

Возвращаемые значения

Матрица доменного Dom::Matrix(R).

Ссылки

Для генерации случайных unimodular матриц смотрите Юргена Хансена: Генерируя проблемы в Линейной алгебре, MapleTech, Объеме 1, № 2, 1994.

Смотрите также

Области MuPAD

Функции MuPAD