Lyapunov의 방정식을 풀기위한 라이브러리


11

다음의 행렬 방정식 에서 Σ - 주어진 대 BC 행렬 - 공분산 행렬의 특성으로서 내 일 나타난다. 이 방정식은 특히 연속 시간 제어 이론에서 Lyapunov의 방정식으로 알려져 있으며,이 선형 방정식의 특수한 특성을 활용하는 방정식을 풀기위한 잘 알려진 다양한 알고리즘이 있음을 알게되었습니다.

BΣ+ΣBT+C=0
Σ BC

인터넷 검색에서 Matlab 및 Fortran 구현이 있음을 알게되었습니다. 나는 SLICOT와 RECSY를 발견했다. 라이센스 문제로 인해 SLICOT 소스에 대한 액세스가 중지되었습니다.

내 작업의 대부분은 R로 구현되며 솔버에 대한 R 인터페이스를 찾을 수 없으므로 직접 작성하는 것이 좋습니다. 내 질문은 SLICOT이 Lyapunov 방정식의 솔버를 구현할 수있는 최상의 Fortran (또는 C) 라이브러리인지 여부입니다. 또한 큰 희소 행렬을 처리 할 수있는 구현에 관심이 있습니다 . B


1
얼마나 크고 얼마나 드문? 합리적인 시간에 더 큰 문제를 처리하기 위해 R에서 벗어나야 할 수도 있습니다.
Bill Barth

5
아마 이것을 말해서는 안되지만 여기서 SLICOT를 사용할 수 있습니다 .
빅터 리우

@BillBarth, 치수는 1000, 대각선 및 B는 구조화되지 않았지만 잠재적으로 매우 희소 한 1 %가 아닌 항목입니다. CB
NRH

답변:


5

SLICOT은 치밀한 문제에 사용되는 도구입니다.

크고 드문 시스템 인 경우 MATLAB 용 lyapack 툴박스가 있습니다.

ZnZnHZnΣΣ

독일 마그데 부르크의 Max-Planck Institute에서 희소 한 Lyapunov 방정식에 대한 활발한 연구가 진행되고 있습니다. 그러나 곧 출시 될 리아 팩 (MESS)의 출시에 대한 발표는 꽤 오래되었습니다. 그럼에도 불구하고 MESS의 웹 페이지 와 기고가의 간행물을 수시로 확인하는 것이 좋습니다.

면책 조항 : 제 논문 감독자는 SLICOT 및 lyapack의 주요 공헌자이며 MESS 개발자와 정기적으로 연락하고 있습니다.


chat.stackexchange.com/rooms/9031/lyapunov 에 가입 하고 관련 질문이 있습니까?
Milind R

3

다음을 사용하여 MATLAB에 연결할 수있는 .

행렬이 너무 크지 않습니다. 알고리즘을 수동으로 코딩하면 시간이 많이 걸리지 않아야합니다. 아마도 1 시간 동안 실행될 수 있습니다. 다양한 요인에 따라 너무 길거나 길지 않을 수 있습니다.

그러나 직접 코딩하는 것은 쉽지 않을 수 있습니다. 나는 할 수 없다고 생각하며 지난 몇 달 동안 이것을 다루었습니다. 그러나 SLICOT 알고리즘 자체가 여기에 있습니다 .


3

SLICOT의 알고리즘은 그렇게 복잡하지 않으며 Schur form + 일부 대체로 축소됩니다. Bartels-Stewart 용지 ( http://dl.acm.org/citation.cfm?id=361582) 를 확인하면 합리적으로 읽을 수 있고 작동 방식을 설명 할 수 있습니다. 이 논문은 비대칭적인 경우에 관한 것이지만, 대칭적인 것에 적응하는 것은 어렵지 않아야합니다.-두 가지가 아닌 하나의 Schur 형식 만 있으면됩니다.

Schur 양식에 대한 루틴이 이미있는 경우 R로 직접 코딩 할 수도 있습니다 (나 자신을 확인하고 싶지만 불행한 이름 지정 선택으로 인해 Google에서 R에 대한 의미있는 결과를 얻는 것은 항상 엉망입니다).

이것은 조밀 한 경우를 해결할 수 있습니다. 크고 드문 것은 더 기술적 인 것입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.