Здесь мы решаем корней, использующих соотношение между матрицей и ее характеристическим многочленом.
Учитывая полиномиальной a0 + a1*x^1 + a2*x^2 + x^3
, определим матрицу:
0 0 -a0
1 0 -a1
0 1 -a2
Собственные значения этой матрицы являются корни многочлена.
y = -x
Подставив в вашем полиномиальное уравнение дает этот
y^3 + 6*y^2 - 51*y + 44=0
И дает этот пример
> z <- matrix(c(0,1,0,0,0,1,-44,51,-6),3,3)
> z
[,1] [,2] [,3]
[1,] 0 0 -44
[2,] 1 0 51
[3,] 0 1 -6
> eigen(z)
$values
[1] -11 4 1
$vectors
[,1] [,2] [,3]
[1,] 0.6172134 0.73827166 0.98733164
[2,] -0.7715167 -0.67115606 -0.15707549
[3,] 0.1543033 -0.06711561 -0.02243936
Или, так как мы замещенные -y
для x
:
> eigen(-z)$values
[1] 11 -4 -1
См: http://www-math.mit.edu/~edelman/publications/polynomial_roots.pdf
Что вы подразумеваете под «никто, кажется, не может заставить его работать»? –
Возможно, это возможно, но R предназначен для статистики, а не для математики. Попробуйте http://www.wolframalpha.com/input/?i=solve+-x%5E3%2B6*x%5E2%2B51*x%2B44%3D0 – Frank
Да, вы используете 'uniroot',' f <- function (x) -x^3 + 6 * x^2 + 51 * x + 44; uniroot (f, interval = c (-100, 100)) ' – jenesaisquoi