중요 사항 :이 과제는 제곱 행렬에만 적용되므로 "매트릭스"라는 용어를 사용할 때마다 제곱 행렬을 참조한다고 가정합니다. 간결하게하기 위해 "사각형"설명을 생략합니다.
배경
행렬식 계산, 선형 시스템 풀기 또는 스칼라 값 함수를 행렬로 확장하는 등의 행렬 관련 연산은 대각선 행렬 (주 대각선에없는 요소가 0 인)을 사용하여보다 쉽게 수행 할 수 있습니다. 원래 매트릭스 (입력 행렬, 즉 A
상기 대각 행렬 D
일부 가역 행렬이 존재 P
되도록 D = P^(-1) * A * P
, 또한, D
및 A
의 고유 값, 결정, 및 추적과 같은 중요한 특성을 공유한다). 고유치와 고유 행렬 (해결 의해 주어진 행렬의 특성 다항식의 뿌리 det(A-λI) = 0
에 대해 λ
, I
동일한 측정 기준을 가진 행렬이다 A
), 대각이 간단하다 :D
는 주 대각선에 고유 값을 갖는 행렬이며, 고유 값에 P
해당하는 고유 벡터로 구성된 행렬입니다 (동일한 순서로). 이 과정을 고유 분해 라고 합니다 .
그러나 고유 값이 반복되는 행렬은 이러한 방식으로 대각선화할 수 없습니다. 운 좋게도 모든 행렬 의 요르단 정규 형식 은 쉽게 계산할 수 있으며 일반 대각 행렬보다 다루기가 어렵지 않습니다. 또한 고유 값이 고유 한 경우 Jordan 분해가 고유 분해와 동일하다는 멋진 특성이 있습니다.
요르단 분해 설명
A
고유 값이 모두 1의 기하 다중성을 갖는 정사각 행렬 의 경우, Jordan 분해 과정은 다음과 같이 설명 할 수 있습니다.
- 반복되는 고유 값이 연속적으로 나타나는 다중도
λ = {λ_1, λ_2, ... λ_n}
의 고유 값 목록을 보자A
. - 대각 행렬 만들기
J
요소가의 요소 인 을λ
동일한 순서로 만듭니다. - 다중도가 1보다 큰 각 고유 값에 대해
1
값에J
대해 마지막 대각선을 제외하고의 주 대각선에서 고유 값의 각 반복 오른쪽에 를 .
결과 행렬 J
은 Jordan 정규 형식입니다 A
(고유 값의 순서에 따라 주어진 행렬에 대해 여러 Jordan 표준 형식이있을 수 있음).
효과적인 예
A
다음 행렬로 보자 .
A
다중성을 갖는의 고유 값 은 λ = {1, 2, 4, 4}
입니다. 이것을 대각선 행렬에 넣으면 다음과 같은 결과를 얻습니다.
다음 1
으로 반복되는 고유 값 중 하나를 제외한 모든 오른쪽에 s를 배치 합니다. 이후 4
유일하게 반복되는 고유 값이, 우리는 하나의 배치 1
처음 4 옆에 :
이것은 요르단의 정상적인 형태입니다. A
(단일 행렬에는 여러 가지 유효한 요르단 표준 형식이있을 수 있지만 설명의 목적으로 그 세부 사항에 대해 글을 쓰고 있습니다).
작업
정사각 행렬 A
을 입력으로 받으면 유효한 Jordan 표준 형식의을 출력하십시오 A
.
- 입력 및 출력은 임의의 합리적인 형식 (2D 배열 / 목록 / 무엇이든, 목록 / 배열 / 열 또는 행 벡터 중 무엇이든, 내장 행렬 데이터 유형 등) 일 수 있습니다.
- 의 원소와 고유 값
A
은 항상 범위 내의 정수입니다[-200, 200]
. - 단순성을 위해, 모든 고유 값은 1의 기하학적 다중성을 가질 것이다 (따라서 상기 프로세스는 유지된다).
A
기껏해야 10x10 행렬과 최소한 2x2 행렬이됩니다.- 고유 값 및 / 또는 고유 벡터를 계산하거나 고유 분해, Jordan 분해 또는 다른 종류의 분해 / 대각선 화를 수행하는 내장은 허용되지 않습니다. 행렬 산술, 행렬 역전 및 기타 행렬 내장이 허용됩니다.
테스트 사례
[[1, 0], [0, 1]] -> [[1, 1], [0, 1]]
[[3, 0], [0, 3]] -> [[1, 1], [0, 1]]
[[4, 2, 2], [1, 2, 2],[0, 3, 3]] -> [[6, 0, 0], [0, 3, 0], [0, 0, 0]]
[[42, 48, 40, 64, 64], [41, 47, 31, 58, 42], [-55, -47, -27, -74, -46], [-46, -58, -46, -70, -68], [30, 20, 12, 34, 18]] -> [[10, 0, 0, 0, 0], [0, -18, 0, 0, 0], [0, 0, 6, 1, 0], [0, 0, 0, 6, 1], [0, 0, 0, 0, 6]]
Last@JordanDecomposition@#&
? 아니면 부정 행위입니까?