하자 실제, 광장, 밀도 행렬합니다. G 와 Q 는 대칭입니다. 허락하다
해밀턴 행렬입니다. 의 행렬 지수를 계산하고 싶습니다 . 행렬 벡터 곱뿐만 아니라 전체 행렬 지수 e t H 가 필요합니다 . Hamiltonian 행렬의 지수를 계산하는 데 사용할 수있는 특별한 알고리즘이나 라이브러리가 있습니까?
하자 실제, 광장, 밀도 행렬합니다. G 와 Q 는 대칭입니다. 허락하다
해밀턴 행렬입니다. 의 행렬 지수를 계산하고 싶습니다 . 행렬 벡터 곱뿐만 아니라 전체 행렬 지수 e t H 가 필요합니다 . Hamiltonian 행렬의 지수를 계산하는 데 사용할 수있는 특별한 알고리즘이나 라이브러리가 있습니까?
답변:
매우 빠른 답변 ...
해밀턴 행렬의 지수는 상징적이며 보존하려는 속성입니다. 그렇지 않으면 단순히 비 구조적 보존 방법을 사용합니다. 실제로, 구조화 된 방법을 사용할 때 실제 속도 이점은 없으며 구조 보존 만 가능합니다.
문제를 해결하는 가능한 방법은 다음과 같습니다. 먼저 이러한 사교 매트릭스를 찾을 H = M - 1 H M = [ - G 0 - T가 ] 해밀턴이며 상 삼각 블록 및 A는 좌측 절반 평면의 고유 값들을 가진다. 예를 들어 [ I 0 X I ] 를 취 함으로써이 행렬을 얻습니다 . 여기서 X 는 H 와 관련된 Riccati 방정식을 풉니 다. 의 Schur 분해를 재정렬하고 Laub 트릭을 적용하여 (즉, 단일 Schur factor [ U 11 U 12 U 21 U 22 ] 를 [ U 11 − U 12 U 12 U 11로 대체) ] ). 해밀턴 인이 가상 축에 고유 값을 가지고 있다면 문제를 겪을 수도 있지만, 그것은 긴 이야기이며 지금은 문제에서 발생하지 않는다고 가정합니다.
사용자가 일단 사용하면이 EXP ( H ) = M EXP ( H ) M - 1 ,하면 계산할 수 EXP ( H ) = [ EXP ( ) X 0 EXP ( - T ) ] , 여기서, X는 내가 같은 생각, 특정 아프 노프 방정식을 해결 X + X T를
그런 다음 세 가지 요소가 정확히 나타납니다. 별도로 사용하십시오 : 제품을 계산하지 마십시오.이 속성을 수치 적으로 잃게됩니다.