2013-02-15 5 views
0

저는 e^(Ax)과 같은 형태의 행렬을 가지고 있는데, 여기서 A은 정사각 행렬입니다. 주어진 값 a에서 다른 값 b으로 어떻게 합쳐서 출력이 해당 배열이 될 수 있습니까?파이썬에서 지수 함수 적으로 행렬을 찾는 방법

+0

이 경우 'a'와'b'는 무엇입니까? – tacaswell

+0

당신이'scipy'를 사용하고 싶다고 생각합니다. http://docs.scipy.org/doc/scipy/reference/integrate.html – tacaswell

답변

2

제공된 A는 올바른 속성을가집니다. 고유 벡터와 고유 값을 계산하여 A0 대각선 형식으로 변환 할 수 있습니다. 대각선 형식에서 솔루션은 sol = [exp(A0*b) - exp(A0*a)] * inv(A0)입니다. 여기서 A0은 고유 값이있는 대각선 행렬이고 inv(A0)은 대각선의 고유 값의 역수를 포함합니다. 마지막으로, 왼쪽으로부터의 고유 값의 전치와 오른쪽에서의 고유 값 : transpose(eigvecs) * sol * eigvecs을 곱하여 해를 역변환합니다.

+0

문제에 대한 좋은 접근 방식에 대한 Aradi와 참조 용 tcaswell에 감사드립니다. 그렇다면 어떻게 파이썬에서 이것을 구현할 수 있습니까? 예를 들어 scipy.integrate.quad 또는 이와 비슷한 것이 있습니까? 나는 행렬이 아닌 단일 함수에 대해이를 수행하는 방법을 안다. 루프를 형성하는 것이 유일한 해결책입니까? 다시 한번 감사드립니다. 오, a와 b는 스칼라이고, x가 통합 될 한계가있다. – user2076206