파이썬프로그래밍-역행렬구하기
- 최초 등록일
- 2011.07.16
- 최종 저작일
- 2011.07
- 3페이지/ 한컴오피스
- 가격 3,000원
소개글
파이썬프로그래밍-역행렬구하기
목차
없음
본문내용
# -*- coding: cp949 -*-
# 파일명 : 20062480_역행렬.py
# 작성자 :
# 작성일 :
# 설명글 : Gauss_jordan 소거법을 이용한 역행렬 구하는 프로그램
# 참조 site: http://www.stephendiehl.com/?p=48
from fractions import Fraction # fractions는 분수모듈
#-------------------------------------------------------
# gauss_jordan() 함수
#-------------------------------------------------------
def gauss_jordan(mat):
r = len(mat)+1 # 행렬의 크기
c = len(mat[0])+1 # 첫번째줄 행렬의 크기
steps = ""
#map 함수를 이용하여 행렬은 분수로 바꿈
mat = map(lambda x: map(lambda y:Fraction(y),x) ,mat)
```
MAP() : seq리스트를 f함수를 통하여 변환시키는 과정
map 함수의 형식은 map(f, seq) 이다.
즉 f 는 함수, seq는 리스트
예)
>>> A=[1,2,3]
>>>def f(x):
return x*3
>>> map(f, A)
[3,6,9]
def 를 쓰지 않고 lambda를 쓸 수도 있다.
>>> A=[1,2,3]
>>> map(lambda x:x*3),A)
[3,6,9]
```
def render_matrix(mat):
mat = map(lambda x: map(lambda y:str(y),x) ,mat) # 행렬를 string으로 형변환
for x in range(len(mat)): # 행렬 출력
for y in range(len(mat[0])):
print "%7s" % mat[x][y],
if y == len(mat[0])-1:
참고 자료
없음