티스토리 뷰

mmmmmmmmmmmmmmath study

행렬 matrix 이야기

몰라아 2017. 6. 11. 19:07

 

 A슈퍼

B슈퍼 

C슈퍼 

 딸기

 3000

2800 

3500 

 바나나

 7000

8300 

8000 

=>

 

 딸기

바나나 

 1아주머니

 4팩

 2팩

 2아주머니

 6팩

1팩 

=>

 

 *   =

 

1아주머니가 가장 절약가능한슈퍼

2아주머니가 가장 절약가능한 슈퍼

 

 

 

1 개이상의 수나 식을 사각형 배열로 나열한 것을 행렬이라고 한다.

(가로줄 : 행(Row) 세로줄: 열(Column))

아서케일리와 윌리엄 로원 해밀턴이 발명했다.

연립일차방정식의 풀이에 대한 해결방법을 고민한데서 시작했다.

 

아서케일리가 연구하던 중 ad-bc의 값에 따라 연립방정식의 해가 다르게 나오는 것을 보고

ad -bc 가 해의 존재 여부( 궁극적으로 행렬의 가역여부 ) 를 판별한다는 관점에서 determinant 라고 부르기 시작했다 ( 행렬식 )

윌리엄 로원 해밀턴이 연립방정식의 계수와 변수를 따로 떼어내 쓰는것이 어떨 까 라는 생각을 한 시점에 행렬이 탄생했다.

 

행렬의 존재가치는

함수, 내지는 사상을 표현하기 위한 도구라는데 있다.

(모든 선형변환(일차변환) 은 행렬로 표현할 수 있고 그 역도 성립한다. 즉, 행렬은 선형변환과 같다. 이를 선형대수학의 기본정리라고 한다. 행렬의 곱셈을 덧셈이나 뺄셈처럼하지 않고 복잡하게 정의해놓은 이유도 여기있다. 참고로 정확히 말하면 차원이 n인 F- 벡터 공간에서 차원이 m인 F- 벡터공간으로 가는 선형변환의 집합과 F위의 n*m행렬의 집합이 .,,,..more)

 

왼쪽은 하나의 열로만 구성된 행렬 열벡터라고 부른다.

오른쪽은 한 행으로만 구성된 행렬 열벡터라고 부른다.

행, 열 모두 둘 이상이면 텐서

 

독립변수 1개 종속변수 1개인 일반적인 일변수함수는 행렬 개념을 쓰지 않고도 수로 직관적으로 설명가능하지만, 정의역, 공역의 차원이 둘 이상 되기 시작하면 그 때부턴 수가 아니라 행렬로 함수를 표현해야 한다.

계산 노가다가 행 하나, 열 하나 더해질 때마다 무지막지하게 늘어난다.

예를 들어 행렬식을 구하는 경우, 3차 정사각행렬은 2차의 3배의 계산을, 4차 정사각행렬은 3차의 4배의 계산을 필요로 한다. 5차 정도 되면 맨손으로는 도저히 못 푼다. 뭐 다행스럽게도 실제로 풀 때는 그렇게 야만스럽게(...) 계산하라고 하진 않고, 가우스 소거법으로 어찌저찌 잘 풀 수는 있다. 물론 머리 아프기는 마찬가지.

다만 컴퓨터 연산에 매우 친화적이라서 슈퍼컴퓨터의 점수놀음은 대부분 행렬 연산에 기반을 둔 애플리케이션의 실행 시간으로 행해진다.

 이를테면 y=ax²+bx+c와 같은 기본적인 이차방정식도 이를 컴퓨터로 하여금 계산하게 하는 것은 매우 난감하다. 사람은 직관적으로 이런 식을 이해할 수 있지만, 컴퓨터는 그렇지가 못하기 때문이다. 그러나 이를 행렬식으로 표현하면 문제는 아주 간단해진다. 그냥 곱하기 더하기 연산만 여러번 반복하면 그게 곧 결과값이 되니까.

이는 컴퓨터에서 하나의 연산을 빠르게 하는 건 어렵지만 같은 시간에 더 많은 데이터에 대해 동일한 연산을 일률적으로 처리하는 건 쉽기 때문이다. 대표적인 예로 인텔CPU의 MMX나 SSE, 요즘 슈퍼컴퓨팅에서 핫한 GPGPU와 FPGA가 그런 전략을 쓴다. 이런 것과 별도로 병렬 프로그래밍을 써서 멀티코어나 MPI나 Hadoop MapReduce등을 활용하는 것도 결국 이 원리에 해당한다. 덧셈, 뺄셈, 곱셈은 쉬울 줄 알았지? 그러니까 행렬 계산되는 공학계산기를 사용해야 합니다.

 

위의 두가지 형태중 하나로 나타낼 수 있다.

x'= Ax 꼴의 수식을

이렇게 표현하고

이렇게 간단하게도 표현한다.

 

덧셈, 뺄셈 상수배

행렬간의 곱셈 연산도 가능하다

전치 ( Transpose )

행렬 내의 원소를 대각선축 기준으로 서로 위치를 바꾼것, 즉 m*n 행렬의 전치행렬은 n*m 행렬이된다.

텐서곱 연산의 필수요소

영행렬 (Zero Metrix)

모든성분이 0인 행렬 O로 적는다.

덧셈의 항등원이다.

행렬환이나 행렬벡터공간의 영원이 된다.

크기가 맞는 입의의 행렬과 곱하면 영행렬이 된다.

 

정사각행렬( Square Matrix)

행 갯수와 열 갯수가 같은 행렬 (n*n 행렬 n차 행렬이라고 부른다.)

정사각 행렬을 모두 모으면 행렬환Mn(F)을 이룬다.

특히, 이 행렬환은 수학사적으로 의미가 매우 깊다. 흔히 대수학의 해방이라 일컬어지는 대수학의 인식전환의 계기가 되었다. 그 전까지 모든 대수적 대상에서 교환법칙이 성립하는 줄 알았는데, 해밀턴의 사원수와 더불어, 교환법칙이 성립하지 않는 대수였기 때문이다. 그리고, 행렬환은 환들 중에서 조건이 가장 열악하기 때문에, 많은 반례들을 여기서 찾을 수 있다.

 

역행렬(Inverse Matrix) 

정사각행렬 A의 곱셈에 대한 역원을 말한다. 

곱셈에 대한 항등원 I에 대하여

 를 만족하는 유일한 행렬을 말한다.

어떠한 규칙에 의하여 존재할 조건을 알 수 있다.

 

단위행렬(Identity Matrix)

주 대각선은 모두 1이고 나머지 성분이 모두 0 인 행렬로 I 또는 E라고 적는다.

단위행렬을 곱하여도 행렬에는 변화가 없다. (숫자 곱셈에서의 1과 같다.)

AI = IA = A

따라서 행렬환의 단위원, 즉 곱셈의 항등원이 된다.

 

기본행렬(Elementry Matrix) 과 단위행렬(Identity Matrix) 은 다르다. 기본행렬은 단위행렬에 기본행연산을 한번 적용한 행렬로서, 기본행렬을 왼쪽에 곱하는 것은 대응하는 기초행 연산을 한 것과 동일한 결과가 된다

 

 

 

 

-더보기- 역행렬

-더보기- 행렬과 변환

 

댓글