심파이에서 행렬객체에 수행할 수 있는 선형대수 관련 연산을 다음 표에 정리하엿다.
[표 1] 선형대수 연산
연산 | 기능 |
A.T A.H A.D | 전치행렬(transposition) 복소전치행렬(hermite conjugation) Dirac transposition |
A.rank() | 행렬의 랭크(rank) |
A.det() | 행렬식 (determinant) |
A.inv() | 역행렬 (inverse matrix) |
A.LUsolve(b) | 행렬방정식 Ax=b 를 푼다. |
A.norm() | norm을 구한다. |
A.eigenvals(**flags) A.eigenvects(**flag) | 행렬의 고유값을 구한다. 행렬의 고유값과 고유벡터를 구한다. |
A.evalf() | 행렬 각 요소의 실수 근사값을 구한다. |
A.applyfunc(f) | 행렬 각 요소에 함수 f를 적용한다. |
숫자로만 이루어진 행렬뿐만 아니라 대수 기호가 포함된 행렬에 대한 연산도 수행 가능하다.
>>> x=symbols('x') # x 를 기호로 설정>>> C=Matrix([[x,2],[1,x]])>>> D=ones(2)*x>>> C[x 2][1 x]>>> D[x x][x x]>>> C.det()2x - 2>>> C*D[ 2 2 ][x + 2*x x + 2*x ][ 2 2 ][ x + x x + x ] |
만약 대수 기호 대신에 숫자를 입력하고 싶다면 subs() 메쏘드를 이용한다.
>>> C.subs(x,11)[11 2 ][1 11]>>> y=symbols('y')>>> D.subs(x,y**2+1)[ 2 2 ][y + 1 y + 1][ 2 2 ][y + 1 y + 1]>>> D.subs(x,sqrt(y))[ ___ ___ ][\/ y \/ y ][ ___ ___ ][\/ y \/ y ] |
'프로그래밍언어.Lib > sympy' 카테고리의 다른 글
winPython 에서 ipython 의 sympy 설정 (0) | 2015.06.22 |
---|---|
심파이(sympy)를 이용한 미분방정식 풀이 1 (0) | 2015.06.03 |
심파이(sympy) 선형 대수 3 : 행렬의 연산 (0) | 2015.06.03 |
심파이(sympy) 선형대수 2 : 행렬의 indexing/slicing (0) | 2015.06.03 |
심파이(sympy) 실행 환경 (0) | 2015.06.03 |