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)

Параметры

m, n

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

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