poly
지정한 근을 포함한 다항식 또는 특성 다항식
설명
예제
입력 인수
출력 인수
팁
벡터의 경우,
r = roots(p)
와p = poly(r)
은 반올림 오차, 나열 순서, 스케일링의 차이는 있지만 서로 역함수입니다.
알고리즘
poly
와 roots
에 사용된 알고리즘은 고유값 계산에 대한 현대적 접근 방식의 흥미로운 측면을 보여줍니다. poly(A)
는 A
의 특성 다항식을 생성하고, roots(poly(A))
는 이 다항식의 근을 구합니다. 이 근은 A
의 고유값입니다. 하지만 poly
와 roots
모두 eig
를 사용하며, 이것은 유사 변환(Similarity Transformation)에 기반합니다. 고유값을 특성 다항식의 근으로 간주하는 전통적인 접근 방식은 사실상 순서가 이와 반대입니다.
A
가 n
×n
행렬인 경우, poly(A)
는 다음 식에 있는 p(1)
부터 p(n+1)
까지의 계수를 생성합니다. 여기서 p(1)
=
1
입니다.
알고리즘은 다음과 같습니다.
z = eig(A); p = zeros(n+1,1); p(1) = 1; for j = 1:n p(2:j+1) = p(2:j+1)-z(j)*p(1:j); end
이러한 재귀는 다음 곱을 전개해 유도됩니다.
poly(A)
가 A
의 반올림 오차 범위 내에서 행렬의 특성 다항식의 계수를 생성한다는 사실을 증명할 수 있습니다. 이는 A
의 고유값이 조건이 나쁜 경우에도 성립합니다. 특성 다항식을 얻기 위한 전통적인 알고리즘은 고유값을 사용하지 않으며, 이러한 만족스러운 수치적 속성을 갖지 않습니다.
확장 기능
버전 내역
R2006a 이전에 개발됨