linalg
:: companion
Сопровождающая матрица одномерного полинома
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
linalg::companion(p
, <x
>)
linalg::companion(p)
возвращает сопровождающую матрицу, сопоставленную с полиномиальным p.
p
должен быть monic и степени один, по крайней мере.
Если p
является полиномом, т.е. объектом типа DOM_POLY
, то определение x
не имеет никакого эффекта.
Если p
является полиномом, то звонок компонента возвращенной матрицы является содействующим звонком p
, кроме двух случаев для встроенных содействующих звонков: если содействующим звонком p
является Expr
затем доменный Dom::ExpressionField
, ()
является звонком компонента сопровождающей матрицы. Если это - IntMod(m)
затем, сопровождающая матрица задана по кольцевому Dom::IntegerMod
(m)
(см. Пример 2).
Если p
является многочленным выражением, то сопровождающая матрица задана по Dom::ExpressionField()
.
Если p
является многочленным выражением, содержащим несколько символьных indeterminates затем, x
должен быть задан и отличает неопределенный x
от других символьных параметров.
Мы запускаем со следующего многочленного выражения:
delete a_0, a_1, a_2, a_3: p := x^4 + a_3*x^3 + a_2*x^2 + a_1*x + a_0
Чтобы вычислить сопровождающую матрицу p относительно x, мы должны задать второй параметр x, потому что выражение p
содержит indeterminates a 0, a 1, a 2, a 3 и x:
linalg::companion(p)
Error: Variables in multivariate polynomials must be specified by the second argument. [linalg::companion]
linalg::companion(p, x)
Конечно, мы можем вычислить сопровождающую матрицу p относительно a 0 также.
linalg::companion(p, a_0)
Следующие сбои с сообщением об ошибке, потому что полиномиальный p не является monic относительно a 1:
linalg::companion(p, a_1)
Error: Polynomial must be monic. [linalg::companion]
Если мы вводим полином по встроенной содействующей области Expr
, то сопровождающая матрица задана по стандартному звонку компонента для матриц (доменный Dom::ExpressionField
()
):
C := linalg::companion(poly(x^2 + 10*x + PI, [x]))
domtype(C)
Если мы задаем полином по сборке - в содействующей области IntMod(m)
, то сопровождающая матрица задана по соответствующему кольцевому Dom::IntegerMod(m)
компонента, как показано в следующем примере:
p := poly(x^2 + 10*x + 7, [x], IntMod(3))
C := linalg::companion(p)
domtype(C)
|
Одномерный полином или многочленное выражение |
|
Матрица доменного Dom::Matrix
(R)
.
Сопровождающая матрица полиномиального x n + a n 1 xn - 1 + … + a 1 x + a 0 является матрицей:
.
Сопровождающая матрица одномерного полиномиального p степени, n является n ×n матричный C с p C = p, где p C является характеристическим полиномом C.