Ma trận hàm mũ của ma trận Hamilton


10

Đặt là ma trận thực, vuông, dày đặc. và đối xứng nhau. Để choG QA,G,QGQ

H=[AGQAT]

là một ma trận Hamilton. Tôi muốn để tính hàm mũ ma trận . Tôi cần toàn bộ số mũ ma trận, , không chỉ sản phẩm vector ma trận. Có bất kỳ thuật toán hoặc thư viện chuyên dụng nào có sẵn để tính toán hàm mũ của ma trận Hamilton không?e t HHetH


2
Bạn có muốn chính ma trận theo cấp số nhân hay bạn thực sự chỉ muốn giải ODE ? z˙=Hz
Daniel Shapero

Tôi cần Ma trận theo cấp số nhân. Nhưng tương đương tôi có thể giải quyết vấn ODE . Z˙=HZ, Z(0)=I
Max Behr

2
Cấu trúc bảo tồn eigensolvers của Benner có thể đối phó với sự biến đổi tương tự để dễ dàng tính toán hàm mũ theo ma trận.
percusse

1
@RichardZhang Cách thức tàn bạo là phân rã QZ. Kiểm tra ví dụ bắt đầu từ link.springer.com/article/10.1007/s002110050315 để biết thêm chi tiết.
percusse

2
Bài viết 19 Cách nổi tiếng để tính toán hàm mũ của ma trận, 25 năm sau bao gồm nhiều cách xấu (và một vài cách tốt) để tính toán theo cấp số nhân của ma trận. Nó không cụ thể đối với các vấn đề của Hamilton nhưng dù sao cũng thực sự có giá trị nếu bạn đang giải quyết các loại vấn đề này.
Daniel Shapero

Câu trả lời:


6

Câu trả lời rất nhanh ...

Số mũ của ma trận Hamilton là symplectic, một thuộc tính mà bạn có thể muốn bảo tồn, nếu không, bạn chỉ cần sử dụng một phương pháp không bảo tồn cấu trúc. Thật vậy, không có lợi thế tốc độ thực sự trong việc sử dụng phương pháp có cấu trúc, chỉ bảo toàn cấu trúc.

Một cách có thể để giải quyết vấn đề của bạn là sau đây. Đầu tiên tìm thấy một ma trận symplectic mà H = M - 1 H M = [ A - G 0 - Một T ] là Hamilton và chặn hình tam giác trên, và A có giá trị riêng trong trái nửa mặt phẳng. Ví dụ, bạn lấy ma trận này bằng cách lấy [ I 0 X I ] , trong đó X giải phương trình Riccati liên quan đến HH^=M1HM=[A^G^0A^T]A^[I0XI]XHhoặc (ổn định hơn vì nó trực giao) bằng cách sắp xếp lại phân tách Schur của và áp dụng thủ thuật Laub (nghĩa là thay thế hệ số Schur đơn nhất [ U 11 U 12 U 21 U 22 ] bằng [ U 11 - U 12 U 12 U 11 ] ). Bạn có thể gặp khó khăn khi làm điều đó nếu Hamilton có giá trị riêng trên trục tưởng tượng, nhưng đó là một câu chuyện dài và bây giờ tôi sẽ cho rằng nó không xảy ra trong vấn đề của bạn.H[U11U12U21U22][U11U12U12U11]

Một khi bạn có , bạn có exp ( H ) = M exp ( H ) M - 1 , và bạn có thể tính exp ( H ) = [ exp ( A ) X 0 exp ( - Một T ) ] , nơi X giải quyết một phương trình Lyapunov nhất định, tôi tin rằng một cái gì đó giống như một X + X một TMexp(H)=Mexp(H^)M1

exp(H^)=[exp(A^)X0exp(A^T)],
X (dấu hiệu có thể sai; áp đặt exp ( H ) H = H exp ( H ) và mở rộng khối để có được phương trình chính xác. Tra cứu "Phương pháp Schur-Parlett" để tham khảo về thủ thuật này).
A^X+XA^T=exp(A^)G^G^exp(A^T)
exp(H^)H^=H^exp(H^)

Sau đó, ba yếu tố là chính xác symplectic. Chỉ cần sử dụng chúng một cách riêng biệt: không tính toán sản phẩm hoặc bạn sẽ mất tài sản này bằng số.


1
HH~=[A^G0A^T]XLA^XL+XLA^T=GM2=[IXL0I]H^H^^A^AT^

1

H

AGQHHHAGQAGQ đến từ một phương trình tích phân cũng sẽ giải thích cấu trúc dày đặc và tiềm năng nén của chúng (tùy thuộc vào hạt nhân).

(HλI)1HHAGQ

H

HH

Nhược điểm của phương pháp này:

  • AGQ
  • không tận dụng cấu trúc Hamilton

Tích cực:

  • biểu diễn nén của hàm mũ ma trận, mặc dù nó vẫn là ma trận, không chỉ là cách để thực hiện MVP
  • độ phức tạp logarit (với giả định thứ hạng thấp là có)
  • thư viện có thể tận dụng sự hoán vị và đối xứng trong các khối
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.