2014-05-18 1 views
-1

다음과 같이 행렬을 뒤집을 수 있다는 것을 알고 있습니다 :mpmath의 행렬 반전에 대한 .I와 ** - 1 사이의 차이점은 무엇입니까?

A.I, A ** - 1 in Python, 그리고 나는 차이점이 있는지 궁금합니다. 내가 묻는 이유는 높은 정확도를 위해 mpmath을 사용하려고 생각하고 ** - 1 구현 만 지원한다는 것입니다. .I**-1에 대한 속기 인 경우

내가 궁금하거나 np.linalg.inv 또는 다른 함수를 호출하는 경우 :

몇 가지 설명을 추가하려면 :

EDIT 감사드립니다.

+0

보통 정밀도는 A.I를, 고정밀도는 ** ** 1을 ​​의미합니까? – emeth

+0

질문을 이해할 수 없습니다. A.I는 mpmath 행렬에는 사용할 수 없지만 ** - 1은 사용 가능합니다. 만약 내가 ** - 1 또는 np.linalg.inv 또는 다른 함수를 호출하면 단축형인지 궁금합니다. – evan54

+0

좋아, 댓글을 달았을 때 게시물을 업데이트하십시오. 덕분에 – emeth

답변

1

내기에는 NumPy와 매트릭스 코드에 답을 찾을 수 있습니다 matrix 클래스

def __pow__(self, other): 
    return matrix_power(self, other) 

에 대한

https://github.com/numpy/numpy/blob/master/numpy/matrixlib/defmatrix.py

def matrix_power.... 
    ''' 
    If ``n < 0``, the inverse is computed and then raised to the ``abs(n)`` 
    ... 
    matrix Provides an equivalent function as the exponentiation operator (``**``, not ``^``). 
    ''' 
    from numpy.linalg import inv 
    ... 
    elif n<0: 
     M = inv(M) 
     n *= -1 

M.getI에서 M.I보기를 위해 (IPython가 편리한 방법입니다 소스 파일을 가져 오지 않고 코드를 보는 것. 예 : M.getI??)

+0

! 이것은 정확히 제가 묻고있는 것입니다. 어떻게하면 ipython을 사용하여 원하는 것을 찾을 수 있습니까? '도움 (M.getI)'을 의미합니까? – evan54

+0

확인했습니다! 나는 당신의 대답에 그것을 추가 할 것이다! – evan54