본문 바로가기
● 인공지능, 분석/20.10 NIPA_주가예측

[DA와ML_05.PY lib활용한 기초 행렬 미션] 전치행렬(transpose), 역행렬(linalg)

by 0ver-grow 2020. 10. 13.
반응형

2. Numpy 사용하기

Numpy 시작하기 import numpy def matrix_tutorial(): # 3×4 의 크기를 가진 2차원 배열 선언 A = numpy.array([[1,4,5,8], [2,1,7,3], [5,4,5,9]]) return A print(matrix_tutorial()) 행렬변환 import numpy de..

iamdaisy.tistory.com

import numpy

def matrix_tutorial(A):

    # 2 : A의 전치행렬 B를 생성
    B = A.transpose()
    
    try:
        #3 - 1 : B의 역행렬을 구해 C로 저장
        C = numpy.linalg.inv(B)
    except:
        #3 - 2 : 에러 발생시
        return "not invertible"

    # 4 : C안에 들어있는 0보다 큰 원소들의 개수를 리턴
    return numpy.sum(C > 0)

def get_matrix():
    # 1
    mat = [] # define mat variable

    first_line = input().strip() # receice first line
    first_line_splitted = first_line.split(" ") # split line by space " "
    n = int(first_line_splitted[0]) # convert to integer
    m = int(first_line_splitted[1]) # convert to integer

    for i in range(n):
        line = input().strip() # receive each line ...
        row = line.split(" ")  # ... and split
        for j in range(m):
            row[j] = int(row[j]) # convert to integer
        mat.append(row)

    return numpy.array(mat)

if __name__ == "__main__":
    A = get_matrix()
    print(matrix_tutorial(A))
반응형