[LA] sympy로 Reduced Row Echelon Matrix 구하기.
Linear Algebra 2022. 9. 2. 12:27728x90
반응형
David C. Lay의 Linear Algebra에서 1.2장의 Example 3에 sympy적용.
- RREF는 unique하기 때문에 sympy에서 지원함.
import numpy as np
import sympy as sp
# ----------------------------------
# colab에서 sympy의 값을 latex 지원하여 출력하기 위해 정의
def custom_latex_printer(exp, **options):
from google.colab.output._publish import javascript
url = "https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.3/latest.js?config=default"
javascript(url=url)
return sp.printing.latex(exp, **options)
sp.init_printing(use_latex="mathjax", latex_printer=custom_latex_printer)
# end ----------------------------------
A = np.array([
[0 , 3, -6, 6, 4,-5],
[3 ,-7 , 8,-5, 8, 9],
[3 ,-9 ,12,-9, 6,15]
], dtype=float)
A = sp.Matrix(A)
rref_A = A.rref()
rref_A # rref and pivot columns
결과는 다음과 같음.
$$\displaystyle \left( \left[\begin{matrix}1 & 0 & -2.0 & 3.0 & 0 & -24.0\\0 & 1 & -2.0 & 2.0 & 0 & -7.0\\0 & 0 & 0 & 0 & 1 & 4.0\end{matrix}\right], \ \left( 0, \ 1, \ 4\right)\right)$$
References
https://gist.github.com/dsaint31x/72fa6d150b869c561eded8f745004913
https://docs.sympy.org/latest/tutorials/intro-tutorial/matrices.html#rref
728x90
'Linear Algebra' 카테고리의 다른 글
[LA] Homogeneous and Non-homogenous Linear System (0) | 2022.09.02 |
---|---|
[LA] Theorem 4 (0) | 2022.09.02 |
[LA] Span (0) | 2022.09.02 |
[LA] Linear Combination 및 Vector equation, Matrix equation (1) | 2022.09.02 |
Gaussian Jordan Elimination Method (가우스 조단 소거법) (0) | 2022.09.02 |