본문 바로가기

CS?/코딩끄적

[Python] 전치행렬 구현 코드 (numpy 없이 구하기)

반응형

요즘 1학년 수학 수업을 청강하고 있는데

교제에 행렬 덧셈을 직접 코드로 구현한 것이 나왔다.

 

그래서 numpy의 .T 사용하는 것 대신

행렬 전치도 코드로 구현해 사용하고 싶어서 구현하기로 했다!!

(일주일이 걸릴 줄은 몰랐지만...)

 

코드는 책에 나온 코드에 구글링해서 나온 코드 참고해서 작성했다.

구글링 없이 짜보려고 노력하다 도오오오저히 안될 것 같아 구글링 해보니까

입력한 배열을 전치하는 코드가 있긴 했지만,

 

문제는 입력값이 아니라 미리 행렬길이를 정해놓은 코드

입력하는 행렬에 따라 자유롭게 전치하는 것이 불가능했다.

 

그래서 이 부분을 입력값에 따라 자유롭게 전치가 가능하도록 구현해봤다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
def matrixMult(A):
    row=len(A)
    col=len(A[0])    
    
    B = [[0 for row in range(row)]for col in range(col)]
    
    for i in range(row):
        for j in range(col):
            B[j][i]=A[i][j]
    return B
 
           
= [[2-3],[-14]]
matrixMult(A)
cs

 

 

끽해봤자 10줄정도 되는 짧은 코드지만

살면서 처음으로 라이브러리에 있는 함수 그대로 안쓰고

직접 코드 짜봤다는 것에 의의를 두면 현타는 그닥 많이 오진 않았다..ㅎㅎ

 

-암튼 신나서 쓴 코딩 포스팅 끝-

 

 

참고

-미적분과 벡터해석 기초, 경문사, 심성아&윤기현

-Program to find transpose of a matrix, GeeksforGeeks

 

반응형