SlideShare a Scribd company logo
1 of 24
02. 선형 변환과 행렬 데브루키스터디 닉네임 : 꿈꾸는소 이름 : 박재홍 1
목차 (p.61~p.81) 1. 선형변환    1) 정의    2) 영 공간과 범위    3)선형 변환과 기저 벡터들 2. 행렬    1) 행렬에 대한 소개    2) 간단한 연산들    3) 벡터 표현    4) 블록행렬    5) 행렬의 곱셈    6) 벡터 변환    7) 선형 변환의 결합    8) 항등 행렬    9) 행렬을 통한 벡터 연산 수행하기   10) 구 현 2
2.1 소개 선형 변환의 성질들은 벡터를 변환하기 위한 간략한 표현으로, 행렬이라고 불리는 구조를 사용할 수 있도록 해준다. 행렬의 실용성 - 행렬의 값은 단순하지만 선형 변환의 모든 능력을 담고 있다. - 새로운 변환을 만들기 위해 두 변환 행렬을 결합할 수 있다. - 이 행렬이 어떤 변환인지 알 수 있다 - 선형 연립 방정식을 풀기 위해서 사용될 수 있고 이것은 그래픽스와 물리 시뮬레이션에서 특정 알고리즘을 푸는 데 유용하다.  - 행렬은 그래픽 애플리케이션 프로그래밍 인터페이스에서 주요한 데이터 구조이다. 3 P . 61
2.2 선형 변환    선형 변환은 선형 대수에서 매우 유용하고중요한 개념이고, 변환이라고 알려진 함수들의 분류 중 하나이며, 벡터공간에서 벡터 공간으로 사상한다. 이것이 벡터에 복잡한 함수 또는 변환을 적용할 수 있도록 해준다. 1) 정 의      관계는 정의역이라고 하는 값들의 집합 X에서 치역이라고 하는 또 다른 값들의 집합 Y로 사상한다. 함수는 정의역의 모든 값들이 치역의 오직 하나의 값에 사상하는 관계이고 예를 들어 f(x) =sin x이다.  정의역이n차원이고 치역이m차원인 함수를 변환이라고 한다. 만약 정의역과치역이 동일하다면 때때로 연산자라고 부른다. 선형변환J는 두 벡터공간 V와 W사이의 사상이고, 여기서 V안의 모든 v 그리고 모든 스칼라a에 대해서 다음과 같이 설명할 수 있다. 	                                           V안의 모든 v0,v1에 대해서 					V안의 모든 v에대해서  4 p. 62
2.2 선형 변환 2) 영 공간과 범위     V안의 모든 벡터들의 집합이 0으로 사상하거나, 다음과 같은  선형 변환 J : V ->W의 영 공간(또는 핵) N(J)를 정의하자. 	N(J)의 차원은 변환의 영 공간의 차원이라고 부른다. V안의 적어도 하나의 벡터에 의해서 사상되는 W 안의 모든 벡터들의 집합 또는 다음과 같은 선형 변환 J :V->W의 범위 R(J)를 정의하자.    R(J)의 차원은 변환의 순위라고 부른다. 영 공간과 범위는 두 가지 매우 중요한 성질을 가진다. 첫째로, 그것들은 둘 다 벡터 공간이고 사실 영공간은 V의 부분 공간이고 범위는  W의 부분 공간이다. 둘째로, 다음을 설명할 수 있다. 5
6 A ㅏ……………….
2.2 선형 변환 3) 선형 변환과 기저 벡터들 N차원 벡터 공간 V안의 임의의 벡터x를 다음과 같이 표현할 수 있다는  것을 상기하자. 여기서 {V0,V1,…,Vn-1}은 V의기저이다. V에서 m차원 벡터 공간W로 사상하는 선형 변환 J : V -> W가 있다고  하자. 만약 임의의 벡터 x에 변환을 적용한다면, 그때 다음을 얻는다. V의 기저 중 하나인 원소Vd에 대해, W의 기저 {W0,W1,…,Wm-1}의 항 들의 선형 결합으로 J(Vd)를 표현할 수 있다. 7
2.2 선형 변환 3) 선형 변환과 기저 벡터들 만약 {W0,….,Wm-1}이 W의 표준 기저라면 식을 다음과 같이 간략히  정리할 수 있다. 앞의 식들을 결합하여 다음과 같은 식을 얻는다. 만약 b = J(x)라면, 그 때 b의 주어진 성분에 대해서 다음과 같이 나타낼 수 있다. 이 사실을 알기 때문에,N개의 변환된 기저 벡터들을 미리 계산해서 저 장할 수 있고, 일반 벡터 x를 변환하기 위해서 언제라도 이 공식을 사용할 수 있다. 8
9 아아아아짜증나아!!!!!!!!
2.3 행렬 1) 행렬에 대한 소개 행렬은 값들의 2차원 배열인 삼각형이다. 행렬에서 각 개별 값은 원소라고 부른다. 임의의 행렬을 ‘m개의 행 곱하기 n개의 열을 가진, 또는 m x n 행렬’이라고 표현한다. 정방행렬은 동일한 개수의 행과 열을 가지고 있는 행렬을 말한다. 또 모든 원소가 0인 행렬은 영 행렬이라고 부른다.  만약 두 행렬이 동일한 개수의 행과 열을 가지고 있다면, 또 대응하는 원소들이 동일한 값을 가진다면 둘은 같지만 크기만 같다면 같지 않다. 행과 열의 숫자가 동일한 곳의 원소들의 집합을 주대각 이라고 부른다.  행렬의 트레이스는주대각 원소들의 합이다. 주대각 아래 있는 모든 원소들이 0과 같으면 상삼각 행렬이다. 주대각 위에 있는 원소들은 필수적으로 0이 아니여도 되지만 반드시 정방이어야 한다. 10
2.3 행렬 11 주 대각 위에 있는 원소들이 0이라면, 그때 다음과 같은  하삼각 행렬을 갖는다. 마지막으로, 정방 행렬의 주대각이 아닌 원소들이0이라면 대각 행렬이라고 부른다. 임의의 대각 행렬은 상삼각이면서하삼각 행렬이다.
2.3 행렬 2) 간단한 연산들 행렬 덧셈과 스칼라 곱셈 S=A+B 벡터와 마찬가지로 성분별로 수행된다. 이러한 작업을 수행하기 위해서 셋다 반드시 동일한 크기를 가져야만 한다. 뺄셈은 유사하나,교환법칙이 성립하지 않는다. 행렬을 스케일 하기 위해서 아래와 같이한다.	 P=sA 벡터와 같이, 각 원소에 스칼라 값을 곱한다. 1. A + B = B + A 2. A + (B+C) = (A+B)+C 3. A + 0 = A 4. A + (-A) = 0 5. a(A+B) = aA+ aB 6. a(bA) = (ab)A 7. (a+b)A = aA +bA 8. 1A = A 12
2.3 행렬 2)간단한 연산들 전치 행렬의 전치는 A의 행들과 열들을 교체한다. 대칭행렬 대칭행렬의 전치는 자기 자신이다. 인 행렬을 반대칭 행렬이라고 부른다. 13
2.3 행렬 2) 간단한 연산들 반대칭 행렬의 전치는 이기 때문에 원본 행렬의 부정이다. 전치와 연관 있는 대수학적 규칙 1. 2. 3. 여기서 a는 스칼라이고 A와 B는 덧셈에 대해서  정합이다. 14
2.3 행렬 3)벡터 표현 행렬이 열만 혹은 행만 가진다면 이것들은 종종 벡터들을 표현하기 위해서 사용된다. 열과 행 둘중 어떤 것을 사용하는 것이 표준인지 정해진 것은 없다.  OpenGL 문서에서는 열 벡터를 사용하였다. 반대로 DirectX는행 벡터를 사용한다. 마지막으로 쿼터니언의 고전적인 표기법은 벡터들을 열 행렬로 표현하는 일관된 연관 순서를 사용한다. 15
2.3 행렬 4) 블록 행렬 행렬을 각 원소들이 아니라 부분행렬들로 표현할 수 있다. 이것을 블록 행렬이라고 한다. 따라서 다음과 같이 나타낼 수 있다. 		여기서 A는  그리고 0은 다음과 같다. 			=>			=>			 16
2.3 행렬 5) 행렬의 곱셈 행렬을 가지고 수행할 주된 연산은 행렬의 곱이라고 하는 곱셈이다. 두 가지 필수적인 일을 수행할 수 있도록 해주기 때문에 행렬의 곱은 중요하다.  1. 행렬과 벡터를 곱하는 것은 그 벡터에 선형 변환을 수행하는 것이다. 2. 행렬들을 서로 곱하는 것은 그것들의 결합된 선형 변환을 수행하는 단일 행렬을 생성한다. 행렬 A,B의 곱 C      	 C=AB 이것을 수식으로 표현 블록 행렬들로 곱을 표현 대수학적 규칙 1. A(BC) = (AB)C 2. a(BC) = (aB)C 3. A(B+C) = AB+AC 4. (A+B)C =AC+BC 5.  17
2.3 행렬 6) 벡터 변환 행렬은 벡터에 대한 선형 변환을 표현하기 위해서 사용될 수 있다. 변환하고자 하는 벡터에 행렬을 곱해서 이것을 수행하는데 단순히 표현된다. b = Ax n 차원 공간 V에서 m차원 공간 W로의 변환을 나타내고, 따라서 x는 n개의 성분들을 가지고 결과 벡터b는 m개를 가진다. 곱셈을 수행하기 위해서 행렬 A는 반드시 m x n이어야 한다. 일반적인 행렬 곱셈과 마찬가지로, 곱해질 벡터의 성분들의 개수는 반드시 행렬의 열들의 개수와 일치해야 하고 결과 벡터는 행의 개수와 동일한 성분의 개수를 가진다.  18 이러한 경우에 A의 행들이변환된 기저벡터들이고  xT안의    성분들의 개수는 반드시 행렬의 행들의 개수와 일치 해야만 한다
2.3 행렬 6) 벡터 변환 이제, 행렬에 대한 추가적인 성질들을 정의 할 수 있다. 행렬의 열공간은 행렬의 열 벡터들에 의해서 생성되는 벡터 공간이고 열 벡터를 후위에 곱함으로써 수행된 선형 변환의 치역이다. 마찬가지로 행 공간은 행렬의 행 벡터들에 의해서 생성된 벡터 공간이고 예상한 것처럼, 행 벡터를 전위에 곱함으로써 수행된 선형변환의 치역이다. 공교롭게도, 행 공간과 열 공간의 차원은 같고 그 값을 행렬의 순위라고 부른다.  행렬의 순위는 연관된 선형 변환의 순위와 동일하다. 열 공간과 행 공간이 동일한 벡터 공간일 필요는 없다. 19
2.3 행렬 7) 선형 변환의 결합 S와 J의 합성  변환의 합성(결합)은 일반화된 행렬 곱을 통해서 수행된다. 행렬 A, B가 각각 S,J를 대응할 때 A를 구성하기 위해 S로 표준 기저 벡터들을 먼저 변환하고 그것들을 A의 열로 저장한다 이번엔 J로 변환한다. 명시적으로 이 변환을 수행하거나 B 행렬을 곱하는 것이 J를 통해서 V안의 벡터들을 변환한다는 사실을 이용할 수 있다. 그래서 A의 각열을 B로 곱해서 그 결과를 새로운 행렬 C안에 열로서 순서대로 저장한다. 				C = BA U가 n차원 ,V가 m차원, W가 l차원을 가진다면  A는 m x n 행렬  B는 l x m 행렬 C는 l x n 행렬 20
2.3 행렬 8)항등 행렬 벡터 1*x = x  행렬도 있다! A*I=I*A=A 주대각이 모두 1이고 대각 정방행렬이여야한다!  PASS!! 21
2.3 행렬 9) 행렬을 통한 벡터 연산 수행하기 행백터 곱하기 열벡터는 내적 반대로 곱하면 정방행렬! 이 정방행렬 T는 텐서 곱 V X W라고 한다. V X W 외적 계산! 이것이 외적 공식! 다행히  효용성은 다음장에서!!  22
2.3 행렬 10) 구현 23 집에서 쳐보시는게….정신건강에 좋아요..
24 감사합니다 	Q&A

More Related Content

What's hot

게임수학 강의노트 1부
게임수학 강의노트 1부게임수학 강의노트 1부
게임수학 강의노트 1부Young-Min kang
 
Support Vector Machine Tutorial 한국어
Support Vector Machine Tutorial 한국어Support Vector Machine Tutorial 한국어
Support Vector Machine Tutorial 한국어Jungkyu Lee
 
7. Linear Regression
7. Linear Regression7. Linear Regression
7. Linear RegressionJungkyu Lee
 
유니티 고급 과정 -2-
유니티 고급 과정 -2-유니티 고급 과정 -2-
유니티 고급 과정 -2-Kiyoung Moon
 
Murpy's Machine Learing: 10. Directed Graphical Model
Murpy's Machine Learing: 10. Directed Graphical ModelMurpy's Machine Learing: 10. Directed Graphical Model
Murpy's Machine Learing: 10. Directed Graphical ModelJungkyu Lee
 
8. Logistic Regression
8. Logistic Regression8. Logistic Regression
8. Logistic RegressionJungkyu Lee
 
프로그래머을 위한 선형대수(Chap1)
프로그래머을 위한 선형대수(Chap1)프로그래머을 위한 선형대수(Chap1)
프로그래머을 위한 선형대수(Chap1)Haryun Lee
 
머피's 머신러닝, Mixture model and EM algorithm
머피's 머신러닝, Mixture model and EM algorithm머피's 머신러닝, Mixture model and EM algorithm
머피's 머신러닝, Mixture model and EM algorithmJungkyu Lee
 
머피의 머신러닝 : Gaussian Processes
머피의 머신러닝 : Gaussian Processes머피의 머신러닝 : Gaussian Processes
머피의 머신러닝 : Gaussian ProcessesJungkyu Lee
 
[아꿈사] 게임 기초 수학 물리 1,2장
[아꿈사] 게임 기초 수학 물리 1,2장[아꿈사] 게임 기초 수학 물리 1,2장
[아꿈사] 게임 기초 수학 물리 1,2장sung ki choi
 
introduction to dynamic programming and linear programming
introduction to dynamic programming and linear programmingintroduction to dynamic programming and linear programming
introduction to dynamic programming and linear programmingGyeongwook Choi
 

What's hot (12)

게임수학 강의노트 1부
게임수학 강의노트 1부게임수학 강의노트 1부
게임수학 강의노트 1부
 
Support Vector Machine Tutorial 한국어
Support Vector Machine Tutorial 한국어Support Vector Machine Tutorial 한국어
Support Vector Machine Tutorial 한국어
 
7. Linear Regression
7. Linear Regression7. Linear Regression
7. Linear Regression
 
유니티 고급 과정 -2-
유니티 고급 과정 -2-유니티 고급 과정 -2-
유니티 고급 과정 -2-
 
선형 대수학
선형 대수학선형 대수학
선형 대수학
 
Murpy's Machine Learing: 10. Directed Graphical Model
Murpy's Machine Learing: 10. Directed Graphical ModelMurpy's Machine Learing: 10. Directed Graphical Model
Murpy's Machine Learing: 10. Directed Graphical Model
 
8. Logistic Regression
8. Logistic Regression8. Logistic Regression
8. Logistic Regression
 
프로그래머을 위한 선형대수(Chap1)
프로그래머을 위한 선형대수(Chap1)프로그래머을 위한 선형대수(Chap1)
프로그래머을 위한 선형대수(Chap1)
 
머피's 머신러닝, Mixture model and EM algorithm
머피's 머신러닝, Mixture model and EM algorithm머피's 머신러닝, Mixture model and EM algorithm
머피's 머신러닝, Mixture model and EM algorithm
 
머피의 머신러닝 : Gaussian Processes
머피의 머신러닝 : Gaussian Processes머피의 머신러닝 : Gaussian Processes
머피의 머신러닝 : Gaussian Processes
 
[아꿈사] 게임 기초 수학 물리 1,2장
[아꿈사] 게임 기초 수학 물리 1,2장[아꿈사] 게임 기초 수학 물리 1,2장
[아꿈사] 게임 기초 수학 물리 1,2장
 
introduction to dynamic programming and linear programming
introduction to dynamic programming and linear programmingintroduction to dynamic programming and linear programming
introduction to dynamic programming and linear programming
 

Viewers also liked

이산수학[1].110707.l01.행렬
이산수학[1].110707.l01.행렬이산수학[1].110707.l01.행렬
이산수학[1].110707.l01.행렬Jung-Ho Kim
 
제 3장 삼각함수의 기초
제 3장 삼각함수의 기초제 3장 삼각함수의 기초
제 3장 삼각함수의 기초Woo Yeong Choi
 
GameMath-Chapter 03 변환
GameMath-Chapter 03 변환GameMath-Chapter 03 변환
GameMath-Chapter 03 변환Mark Choi
 
6조 발표자료
6조 발표자료6조 발표자료
6조 발표자료진환 김
 
Chapter 02 행렬
Chapter 02 행렬Chapter 02 행렬
Chapter 02 행렬Mark Choi
 
Ccx03.cocos builder
Ccx03.cocos builderCcx03.cocos builder
Ccx03.cocos builder우진 이
 
Dll파일 호출
Dll파일 호출Dll파일 호출
Dll파일 호출abapier
 
GameMath-Chapter 01 벡터
GameMath-Chapter 01 벡터GameMath-Chapter 01 벡터
GameMath-Chapter 01 벡터Mark Choi
 
Cocos2d x a to z (상)
Cocos2d x a to z (상)Cocos2d x a to z (상)
Cocos2d x a to z (상)SeungIl Choi
 
Dom 생성과정
Dom 생성과정Dom 생성과정
Dom 생성과정abapier
 
Silverlight vs flash
Silverlight vs flashSilverlight vs flash
Silverlight vs flash권 태혁
 
[NDC14] 파워포인트로 그래픽 리소스 만들기
[NDC14] 파워포인트로 그래픽 리소스 만들기[NDC14] 파워포인트로 그래픽 리소스 만들기
[NDC14] 파워포인트로 그래픽 리소스 만들기Sun Park
 
게임 개발자로서의 가치 창출
게임 개발자로서의 가치 창출게임 개발자로서의 가치 창출
게임 개발자로서의 가치 창출hongsungbock
 
C# 뉴비를 위한 맛보기 2
C# 뉴비를 위한 맛보기 2C# 뉴비를 위한 맛보기 2
C# 뉴비를 위한 맛보기 2진상 문
 
3D Engine (ICON 2007)
3D Engine (ICON 2007)3D Engine (ICON 2007)
3D Engine (ICON 2007)SeongWan Kim
 
4.5부동소수점
4.5부동소수점4.5부동소수점
4.5부동소수점JaeHong Park
 
GameMath-Chapter 13 발사체
GameMath-Chapter 13 발사체GameMath-Chapter 13 발사체
GameMath-Chapter 13 발사체Mark Choi
 
이권일 Sse 를 이용한 최적화와 실제 사용 예
이권일 Sse 를 이용한 최적화와 실제 사용 예이권일 Sse 를 이용한 최적화와 실제 사용 예
이권일 Sse 를 이용한 최적화와 실제 사용 예zupet
 

Viewers also liked (20)

이산수학[1].110707.l01.행렬
이산수학[1].110707.l01.행렬이산수학[1].110707.l01.행렬
이산수학[1].110707.l01.행렬
 
제 3장 삼각함수의 기초
제 3장 삼각함수의 기초제 3장 삼각함수의 기초
제 3장 삼각함수의 기초
 
GameMath-Chapter 03 변환
GameMath-Chapter 03 변환GameMath-Chapter 03 변환
GameMath-Chapter 03 변환
 
6조 발표자료
6조 발표자료6조 발표자료
6조 발표자료
 
고1 함수
고1 함수고1 함수
고1 함수
 
Chapter 02 행렬
Chapter 02 행렬Chapter 02 행렬
Chapter 02 행렬
 
Ccx03.cocos builder
Ccx03.cocos builderCcx03.cocos builder
Ccx03.cocos builder
 
Dll파일 호출
Dll파일 호출Dll파일 호출
Dll파일 호출
 
GameMath-Chapter 01 벡터
GameMath-Chapter 01 벡터GameMath-Chapter 01 벡터
GameMath-Chapter 01 벡터
 
Cocos2d x a to z (상)
Cocos2d x a to z (상)Cocos2d x a to z (상)
Cocos2d x a to z (상)
 
Dom 생성과정
Dom 생성과정Dom 생성과정
Dom 생성과정
 
Silverlight vs flash
Silverlight vs flashSilverlight vs flash
Silverlight vs flash
 
[NDC14] 파워포인트로 그래픽 리소스 만들기
[NDC14] 파워포인트로 그래픽 리소스 만들기[NDC14] 파워포인트로 그래픽 리소스 만들기
[NDC14] 파워포인트로 그래픽 리소스 만들기
 
게임 개발자로서의 가치 창출
게임 개발자로서의 가치 창출게임 개발자로서의 가치 창출
게임 개발자로서의 가치 창출
 
투영 공식
투영 공식투영 공식
투영 공식
 
C# 뉴비를 위한 맛보기 2
C# 뉴비를 위한 맛보기 2C# 뉴비를 위한 맛보기 2
C# 뉴비를 위한 맛보기 2
 
3D Engine (ICON 2007)
3D Engine (ICON 2007)3D Engine (ICON 2007)
3D Engine (ICON 2007)
 
4.5부동소수점
4.5부동소수점4.5부동소수점
4.5부동소수점
 
GameMath-Chapter 13 발사체
GameMath-Chapter 13 발사체GameMath-Chapter 13 발사체
GameMath-Chapter 13 발사체
 
이권일 Sse 를 이용한 최적화와 실제 사용 예
이권일 Sse 를 이용한 최적화와 실제 사용 예이권일 Sse 를 이용한 최적화와 실제 사용 예
이권일 Sse 를 이용한 최적화와 실제 사용 예
 

Similar to 02.선형변환과 행렬

Linear algebra for quantum computing
Linear algebra for quantum computingLinear algebra for quantum computing
Linear algebra for quantum computingssuserd0f07b
 
GameMath-Chapter 04 사원수
GameMath-Chapter 04 사원수GameMath-Chapter 04 사원수
GameMath-Chapter 04 사원수Mark Choi
 
Graphics 2장 행렬.pptx
Graphics 2장 행렬.pptxGraphics 2장 행렬.pptx
Graphics 2장 행렬.pptxHolyTak
 
프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2HyeonSeok Choi
 
선형연립방정식 가우스소거법
선형연립방정식 가우스소거법선형연립방정식 가우스소거법
선형연립방정식 가우스소거법KyeongWon Koo
 
파이썬 확률과 통계 기초 이해하기
파이썬 확률과 통계 기초 이해하기파이썬 확률과 통계 기초 이해하기
파이썬 확률과 통계 기초 이해하기Yong Joon Moon
 
3D Graphics Transform
3D Graphics Transform3D Graphics Transform
3D Graphics Transform문익 장
 
120428 게임 프로그래머를 위한 기초수학과 물리 제 5장 행렬연산
120428 게임 프로그래머를 위한 기초수학과 물리   제 5장 행렬연산 120428 게임 프로그래머를 위한 기초수학과 물리   제 5장 행렬연산
120428 게임 프로그래머를 위한 기초수학과 물리 제 5장 행렬연산 tedypicker
 
[14.12.08] 행렬대수(ShaderStudy)
[14.12.08] 행렬대수(ShaderStudy)[14.12.08] 행렬대수(ShaderStudy)
[14.12.08] 행렬대수(ShaderStudy)해강
 
Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815Yong Joon Moon
 
0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformationJeonghun Yoon
 
파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기Yong Joon Moon
 
[컴퓨터비전과 인공지능] 6. 역전파 2
[컴퓨터비전과 인공지능] 6. 역전파 2[컴퓨터비전과 인공지능] 6. 역전파 2
[컴퓨터비전과 인공지능] 6. 역전파 2jdo
 
1 2. 직선과 평면에서의 벡터 방정식
1 2. 직선과 평면에서의 벡터 방정식1 2. 직선과 평면에서의 벡터 방정식
1 2. 직선과 평면에서의 벡터 방정식jdo
 
소형 무인 비행체 2장-좌표계
소형 무인 비행체 2장-좌표계소형 무인 비행체 2장-좌표계
소형 무인 비행체 2장-좌표계jdo
 
Higher order procedure2 with conventional interface
Higher order procedure2 with conventional interface Higher order procedure2 with conventional interface
Higher order procedure2 with conventional interface fromitive
 

Similar to 02.선형변환과 행렬 (20)

Linear algebra for quantum computing
Linear algebra for quantum computingLinear algebra for quantum computing
Linear algebra for quantum computing
 
GameMath-Chapter 04 사원수
GameMath-Chapter 04 사원수GameMath-Chapter 04 사원수
GameMath-Chapter 04 사원수
 
Graphics 2장 행렬.pptx
Graphics 2장 행렬.pptxGraphics 2장 행렬.pptx
Graphics 2장 행렬.pptx
 
프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2
 
선형연립방정식 가우스소거법
선형연립방정식 가우스소거법선형연립방정식 가우스소거법
선형연립방정식 가우스소거법
 
점, 선, 면
점, 선, 면점, 선, 면
점, 선, 면
 
파이썬 확률과 통계 기초 이해하기
파이썬 확률과 통계 기초 이해하기파이썬 확률과 통계 기초 이해하기
파이썬 확률과 통계 기초 이해하기
 
3D Graphics Transform
3D Graphics Transform3D Graphics Transform
3D Graphics Transform
 
120428 게임 프로그래머를 위한 기초수학과 물리 제 5장 행렬연산
120428 게임 프로그래머를 위한 기초수학과 물리   제 5장 행렬연산 120428 게임 프로그래머를 위한 기초수학과 물리   제 5장 행렬연산
120428 게임 프로그래머를 위한 기초수학과 물리 제 5장 행렬연산
 
행렬
행렬행렬
행렬
 
[14.12.08] 행렬대수(ShaderStudy)
[14.12.08] 행렬대수(ShaderStudy)[14.12.08] 행렬대수(ShaderStudy)
[14.12.08] 행렬대수(ShaderStudy)
 
Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815Python_numpy_pandas_matplotlib 이해하기_20160815
Python_numpy_pandas_matplotlib 이해하기_20160815
 
0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation0131 1 spectral_theorem_transformation
0131 1 spectral_theorem_transformation
 
파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기파이썬 Numpy 선형대수 이해하기
파이썬 Numpy 선형대수 이해하기
 
[컴퓨터비전과 인공지능] 6. 역전파 2
[컴퓨터비전과 인공지능] 6. 역전파 2[컴퓨터비전과 인공지능] 6. 역전파 2
[컴퓨터비전과 인공지능] 6. 역전파 2
 
2012 Dm 04
2012 Dm 042012 Dm 04
2012 Dm 04
 
1 2. 직선과 평면에서의 벡터 방정식
1 2. 직선과 평면에서의 벡터 방정식1 2. 직선과 평면에서의 벡터 방정식
1 2. 직선과 평면에서의 벡터 방정식
 
소형 무인 비행체 2장-좌표계
소형 무인 비행체 2장-좌표계소형 무인 비행체 2장-좌표계
소형 무인 비행체 2장-좌표계
 
이산수학 Ch.5
이산수학 Ch.5이산수학 Ch.5
이산수학 Ch.5
 
Higher order procedure2 with conventional interface
Higher order procedure2 with conventional interface Higher order procedure2 with conventional interface
Higher order procedure2 with conventional interface
 

02.선형변환과 행렬

  • 1. 02. 선형 변환과 행렬 데브루키스터디 닉네임 : 꿈꾸는소 이름 : 박재홍 1
  • 2. 목차 (p.61~p.81) 1. 선형변환 1) 정의 2) 영 공간과 범위 3)선형 변환과 기저 벡터들 2. 행렬 1) 행렬에 대한 소개 2) 간단한 연산들 3) 벡터 표현 4) 블록행렬 5) 행렬의 곱셈 6) 벡터 변환 7) 선형 변환의 결합 8) 항등 행렬 9) 행렬을 통한 벡터 연산 수행하기 10) 구 현 2
  • 3. 2.1 소개 선형 변환의 성질들은 벡터를 변환하기 위한 간략한 표현으로, 행렬이라고 불리는 구조를 사용할 수 있도록 해준다. 행렬의 실용성 - 행렬의 값은 단순하지만 선형 변환의 모든 능력을 담고 있다. - 새로운 변환을 만들기 위해 두 변환 행렬을 결합할 수 있다. - 이 행렬이 어떤 변환인지 알 수 있다 - 선형 연립 방정식을 풀기 위해서 사용될 수 있고 이것은 그래픽스와 물리 시뮬레이션에서 특정 알고리즘을 푸는 데 유용하다. - 행렬은 그래픽 애플리케이션 프로그래밍 인터페이스에서 주요한 데이터 구조이다. 3 P . 61
  • 4. 2.2 선형 변환 선형 변환은 선형 대수에서 매우 유용하고중요한 개념이고, 변환이라고 알려진 함수들의 분류 중 하나이며, 벡터공간에서 벡터 공간으로 사상한다. 이것이 벡터에 복잡한 함수 또는 변환을 적용할 수 있도록 해준다. 1) 정 의 관계는 정의역이라고 하는 값들의 집합 X에서 치역이라고 하는 또 다른 값들의 집합 Y로 사상한다. 함수는 정의역의 모든 값들이 치역의 오직 하나의 값에 사상하는 관계이고 예를 들어 f(x) =sin x이다. 정의역이n차원이고 치역이m차원인 함수를 변환이라고 한다. 만약 정의역과치역이 동일하다면 때때로 연산자라고 부른다. 선형변환J는 두 벡터공간 V와 W사이의 사상이고, 여기서 V안의 모든 v 그리고 모든 스칼라a에 대해서 다음과 같이 설명할 수 있다. V안의 모든 v0,v1에 대해서 V안의 모든 v에대해서 4 p. 62
  • 5. 2.2 선형 변환 2) 영 공간과 범위 V안의 모든 벡터들의 집합이 0으로 사상하거나, 다음과 같은 선형 변환 J : V ->W의 영 공간(또는 핵) N(J)를 정의하자. N(J)의 차원은 변환의 영 공간의 차원이라고 부른다. V안의 적어도 하나의 벡터에 의해서 사상되는 W 안의 모든 벡터들의 집합 또는 다음과 같은 선형 변환 J :V->W의 범위 R(J)를 정의하자. R(J)의 차원은 변환의 순위라고 부른다. 영 공간과 범위는 두 가지 매우 중요한 성질을 가진다. 첫째로, 그것들은 둘 다 벡터 공간이고 사실 영공간은 V의 부분 공간이고 범위는 W의 부분 공간이다. 둘째로, 다음을 설명할 수 있다. 5
  • 7. 2.2 선형 변환 3) 선형 변환과 기저 벡터들 N차원 벡터 공간 V안의 임의의 벡터x를 다음과 같이 표현할 수 있다는 것을 상기하자. 여기서 {V0,V1,…,Vn-1}은 V의기저이다. V에서 m차원 벡터 공간W로 사상하는 선형 변환 J : V -> W가 있다고 하자. 만약 임의의 벡터 x에 변환을 적용한다면, 그때 다음을 얻는다. V의 기저 중 하나인 원소Vd에 대해, W의 기저 {W0,W1,…,Wm-1}의 항 들의 선형 결합으로 J(Vd)를 표현할 수 있다. 7
  • 8. 2.2 선형 변환 3) 선형 변환과 기저 벡터들 만약 {W0,….,Wm-1}이 W의 표준 기저라면 식을 다음과 같이 간략히 정리할 수 있다. 앞의 식들을 결합하여 다음과 같은 식을 얻는다. 만약 b = J(x)라면, 그 때 b의 주어진 성분에 대해서 다음과 같이 나타낼 수 있다. 이 사실을 알기 때문에,N개의 변환된 기저 벡터들을 미리 계산해서 저 장할 수 있고, 일반 벡터 x를 변환하기 위해서 언제라도 이 공식을 사용할 수 있다. 8
  • 10. 2.3 행렬 1) 행렬에 대한 소개 행렬은 값들의 2차원 배열인 삼각형이다. 행렬에서 각 개별 값은 원소라고 부른다. 임의의 행렬을 ‘m개의 행 곱하기 n개의 열을 가진, 또는 m x n 행렬’이라고 표현한다. 정방행렬은 동일한 개수의 행과 열을 가지고 있는 행렬을 말한다. 또 모든 원소가 0인 행렬은 영 행렬이라고 부른다. 만약 두 행렬이 동일한 개수의 행과 열을 가지고 있다면, 또 대응하는 원소들이 동일한 값을 가진다면 둘은 같지만 크기만 같다면 같지 않다. 행과 열의 숫자가 동일한 곳의 원소들의 집합을 주대각 이라고 부른다. 행렬의 트레이스는주대각 원소들의 합이다. 주대각 아래 있는 모든 원소들이 0과 같으면 상삼각 행렬이다. 주대각 위에 있는 원소들은 필수적으로 0이 아니여도 되지만 반드시 정방이어야 한다. 10
  • 11. 2.3 행렬 11 주 대각 위에 있는 원소들이 0이라면, 그때 다음과 같은 하삼각 행렬을 갖는다. 마지막으로, 정방 행렬의 주대각이 아닌 원소들이0이라면 대각 행렬이라고 부른다. 임의의 대각 행렬은 상삼각이면서하삼각 행렬이다.
  • 12. 2.3 행렬 2) 간단한 연산들 행렬 덧셈과 스칼라 곱셈 S=A+B 벡터와 마찬가지로 성분별로 수행된다. 이러한 작업을 수행하기 위해서 셋다 반드시 동일한 크기를 가져야만 한다. 뺄셈은 유사하나,교환법칙이 성립하지 않는다. 행렬을 스케일 하기 위해서 아래와 같이한다. P=sA 벡터와 같이, 각 원소에 스칼라 값을 곱한다. 1. A + B = B + A 2. A + (B+C) = (A+B)+C 3. A + 0 = A 4. A + (-A) = 0 5. a(A+B) = aA+ aB 6. a(bA) = (ab)A 7. (a+b)A = aA +bA 8. 1A = A 12
  • 13. 2.3 행렬 2)간단한 연산들 전치 행렬의 전치는 A의 행들과 열들을 교체한다. 대칭행렬 대칭행렬의 전치는 자기 자신이다. 인 행렬을 반대칭 행렬이라고 부른다. 13
  • 14. 2.3 행렬 2) 간단한 연산들 반대칭 행렬의 전치는 이기 때문에 원본 행렬의 부정이다. 전치와 연관 있는 대수학적 규칙 1. 2. 3. 여기서 a는 스칼라이고 A와 B는 덧셈에 대해서 정합이다. 14
  • 15. 2.3 행렬 3)벡터 표현 행렬이 열만 혹은 행만 가진다면 이것들은 종종 벡터들을 표현하기 위해서 사용된다. 열과 행 둘중 어떤 것을 사용하는 것이 표준인지 정해진 것은 없다. OpenGL 문서에서는 열 벡터를 사용하였다. 반대로 DirectX는행 벡터를 사용한다. 마지막으로 쿼터니언의 고전적인 표기법은 벡터들을 열 행렬로 표현하는 일관된 연관 순서를 사용한다. 15
  • 16. 2.3 행렬 4) 블록 행렬 행렬을 각 원소들이 아니라 부분행렬들로 표현할 수 있다. 이것을 블록 행렬이라고 한다. 따라서 다음과 같이 나타낼 수 있다. 여기서 A는 그리고 0은 다음과 같다. => => 16
  • 17. 2.3 행렬 5) 행렬의 곱셈 행렬을 가지고 수행할 주된 연산은 행렬의 곱이라고 하는 곱셈이다. 두 가지 필수적인 일을 수행할 수 있도록 해주기 때문에 행렬의 곱은 중요하다. 1. 행렬과 벡터를 곱하는 것은 그 벡터에 선형 변환을 수행하는 것이다. 2. 행렬들을 서로 곱하는 것은 그것들의 결합된 선형 변환을 수행하는 단일 행렬을 생성한다. 행렬 A,B의 곱 C C=AB 이것을 수식으로 표현 블록 행렬들로 곱을 표현 대수학적 규칙 1. A(BC) = (AB)C 2. a(BC) = (aB)C 3. A(B+C) = AB+AC 4. (A+B)C =AC+BC 5. 17
  • 18. 2.3 행렬 6) 벡터 변환 행렬은 벡터에 대한 선형 변환을 표현하기 위해서 사용될 수 있다. 변환하고자 하는 벡터에 행렬을 곱해서 이것을 수행하는데 단순히 표현된다. b = Ax n 차원 공간 V에서 m차원 공간 W로의 변환을 나타내고, 따라서 x는 n개의 성분들을 가지고 결과 벡터b는 m개를 가진다. 곱셈을 수행하기 위해서 행렬 A는 반드시 m x n이어야 한다. 일반적인 행렬 곱셈과 마찬가지로, 곱해질 벡터의 성분들의 개수는 반드시 행렬의 열들의 개수와 일치해야 하고 결과 벡터는 행의 개수와 동일한 성분의 개수를 가진다. 18 이러한 경우에 A의 행들이변환된 기저벡터들이고 xT안의 성분들의 개수는 반드시 행렬의 행들의 개수와 일치 해야만 한다
  • 19. 2.3 행렬 6) 벡터 변환 이제, 행렬에 대한 추가적인 성질들을 정의 할 수 있다. 행렬의 열공간은 행렬의 열 벡터들에 의해서 생성되는 벡터 공간이고 열 벡터를 후위에 곱함으로써 수행된 선형 변환의 치역이다. 마찬가지로 행 공간은 행렬의 행 벡터들에 의해서 생성된 벡터 공간이고 예상한 것처럼, 행 벡터를 전위에 곱함으로써 수행된 선형변환의 치역이다. 공교롭게도, 행 공간과 열 공간의 차원은 같고 그 값을 행렬의 순위라고 부른다. 행렬의 순위는 연관된 선형 변환의 순위와 동일하다. 열 공간과 행 공간이 동일한 벡터 공간일 필요는 없다. 19
  • 20. 2.3 행렬 7) 선형 변환의 결합 S와 J의 합성 변환의 합성(결합)은 일반화된 행렬 곱을 통해서 수행된다. 행렬 A, B가 각각 S,J를 대응할 때 A를 구성하기 위해 S로 표준 기저 벡터들을 먼저 변환하고 그것들을 A의 열로 저장한다 이번엔 J로 변환한다. 명시적으로 이 변환을 수행하거나 B 행렬을 곱하는 것이 J를 통해서 V안의 벡터들을 변환한다는 사실을 이용할 수 있다. 그래서 A의 각열을 B로 곱해서 그 결과를 새로운 행렬 C안에 열로서 순서대로 저장한다. C = BA U가 n차원 ,V가 m차원, W가 l차원을 가진다면 A는 m x n 행렬 B는 l x m 행렬 C는 l x n 행렬 20
  • 21. 2.3 행렬 8)항등 행렬 벡터 1*x = x 행렬도 있다! A*I=I*A=A 주대각이 모두 1이고 대각 정방행렬이여야한다! PASS!! 21
  • 22. 2.3 행렬 9) 행렬을 통한 벡터 연산 수행하기 행백터 곱하기 열벡터는 내적 반대로 곱하면 정방행렬! 이 정방행렬 T는 텐서 곱 V X W라고 한다. V X W 외적 계산! 이것이 외적 공식! 다행히 효용성은 다음장에서!! 22
  • 23. 2.3 행렬 10) 구현 23 집에서 쳐보시는게….정신건강에 좋아요..