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.