이 프로그램은 지난 학기 수리물리 시간에 처음으로 다루어본 프로그램이다.
SageMath Mathematical Software System - Sage
SageMath is a free and open-source mathematical software system.
www.sagemath.org
기본적으로 무료로 사용할 수 있는 오픈-소스 수학 프로그램으로 대수학, 조합론, 미적분학, 수치해석을 포함하는 많은 수학 분야의 문제들을 해결 할 수 있는 프로그램이다.
뿐만 아니라 Jupyter Notebook에도 추가해서 쓸 수 있어서 사용하기가 매우 편리하다.
내가 지금 쓰고 있는 것은 9.1 버전인데 다운받지 않고 아래의 SageMathCell을 눌러도 브라우저에서 사용이 가능하다.

이번 학기에 KMOOC에서 강의하시는 서울시립대학교 수학과 박의용 교수님께서 강의에서 이 프로그램을 사용하는 방법을 브리핑을 하셔서, 모니터링단 활동 내용에 들어가지는 않지만 그 내용을 한 번 올려 본다.

파이썬과 문법이 비슷한 듯 하다.


# 1 ) 벡터들의 일차결합과 내적, 행렬과의 곱
v = vector[1,1,−4]
w = vector[2,2,−1]
showv
A = Matrix[[1,2,3],[3,2,1],[1,1,1]] # 행렬 A
showA
c = A*v # Av의 계산
showc
두 번쨰 주제는 행렬의 기약사다리꼴 변환, 행렬의 kernel의 이다.

# 2) 행렬의 기약사다리꼴 변환, 행렬의 핵Kernal계산
A = matrixQQ,[[0,1,2],[3,4,5],[6,7,8]] #행렬 A
# QQ는 유리수로 이루어졌다는 내용
showA
showA.echelonform() # A의 기약사다리꼴
printA.transpose(.kernel) # 선형사상 L_A의 핵kernel, 즉 AX = 0의 해공간
세 번째는 구체적인 연립일차방정식의 풀이이다.

# 3) 구체적인 연립일차방정식의 풀이
b = vectorQQ,[0,6,−1,3]
A = matrixQQ,[[0,−1,−1,1],[1,1,1,1],[2,4,1,−2],[3,1,−2,2]]
showb
showA
solution = A.solve_rightb # AX = b의 해
showsolution

행렬의 여러 가지 연산뿐 아니라 행렬식도 계산할 수 있다.

행렬사상의 rank도 계산할 수 있다.

마지막으로는 역행렬까지 구하면서 오늘의 주제를 마쳤다.
'Mathematical Physics' 카테고리의 다른 글
Sturm Liouville Theorem 0 | 2021.03.22 |
---|---|
Fourier Series로 계단함수 만들기 0 | 2020.12.13 |
수리물리학 - 쐐기 위에서 미끄러지는 물체 0 | 2020.11.16 |
공학수학 문제풀이 1 | 2020.10.08 |
매트랩 이용해서 공수 문제 그래프로 그리기 0 | 2020.09.28 |