기본 콘텐츠로 건너뛰기

라벨이 단사인 게시물 표시

[matplotlib]quiver()함수

[Linear Algebra]변환과 관련된 용어

변환과 관련된 용어 선형대수에서 변환(transformation)은 함수(function)를 의미합니다. 함수는 어떤 객체에 대해 한개이상의 연산 과정을 실시하여 다른 결과를 반환하는 연산의 모둠이라고 할 수 있습니다. 즉, 변환(함수)에 의해 x 1 이라는 인자를 투입하면 y 1 또는 y 1 , y 2 , ... 등 다중의 결과를 반환할 수도 있습니다. 이와 같은 변환과정에 빈번히 사용되는 용어들을 정리해보면 다음과 같습니다. 1.사상(mapping, Function) 입력(X) → 함수(f) → 출력(Y) ⇔ f: x rarr; y ⇔ y = f(x) 위 관계를 "집합 X에서 집합 Y로의 사상(함수)"이라고 표현합니다. 2. 상(Image) 위의 입력 X가 함수에 적용되면 입력값에 대응되는 Y가 반환됩니다. 그 함수에 대응하여 반환되는 각각의 결과를 상(image)라고 합니다. 3. 정의역(domain), 공역(codomain), 치역(range) 상을 나타내기 위한 입력 집합을 정의역 함수의해 생성될 가능성이 있는 모든 부분을 공역 공역 중에서 함수에 의해 생성되는 결과들의 집합을 치역(image, 상) 공역(Y)과 치역($y_i$ i=...-1, 0, 1,...)은 같을 수가 있습니다. $y_i \subseteq Y$ 4. 핵(kernel) $T: R^n \rightarrow R^n$의 선형변환에서 즉, 함수 T에 의해 정의역에 대한 상이 0이 되는 전체 집합을 T의 핵(kernel)이라 하며 kerT 로 나타냅니다. kerT = { v ∈ R n | T(v) = 0 } 예) 다음 변환의 핵(ker T)를 결정합니다. $$T: R^2 \rightarrow R^2,\; T(x, y) =(x-y, 0)$$ 위 선형변환의 표준행렬을 생각해 보면 다음과 같습니다. \begin{align}T\left(\begin...

[Linear Algebra] 직교집합(Orthogonal Set)과 선형결합

직교집합(Orthogonal Set)과 선형결합 ℝ n 차원에서 식 1과 같이 내적이 0인 모든 벡터들의 집합 u 1 , u 2 , …, u p 를 직교집합(orthogonal set) 이라고 합니다( 직교벡터(Orthogonal vectors) 참조 ). $$u_i\cdot u_j=0,\quad i \ne j$$ (식 1) 예 1) 다음 벡터 집합이 직교 집합인지를 결정해봅니다. $$u_1=\begin{bmatrix}3\\1\\1\end{bmatrix}\quad u_2=\begin{bmatrix}-1\\2\\1\end{bmatrix} \quad u_3=\begin{bmatrix}-\frac{1}{2}\\-2\\\frac{7}{2}\end{bmatrix}$$ u1=np.array([3.,1.,1.]).reshape(3,1) u2=np.array([-1.,2.,1.]).reshape(3,1) u3=np.array([-1/2,-2,7/2]).reshape(3,1) u=[u1,u2, u3] for i, j in itertools.combinations([0,1,2], 2): print(np.dot(u[i].T,u[j])) [[0.]] [[0.]] [[0.]] 위 결과에 의하면 벡터들 간의 내적이 모두 0이므로 세 벡터들은 모두 직교 상태입니다. 그 결과는 세 벡터를 나타낸 그림 1에서 확인할 수 있습니다. 그림 1. 직교관계인 세개의 벡터. 위 벡터들로 이루어진 동차선형결합 성립여부를 결정합니다. U=np.hstack([u1,u2,u3]) c=np.zeros([3,1]) au=np.hstack([U,c]) Matrix(au).rref() (Matrix([ [1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0]]), (0, 1, 2)) 확대 행렬(au)의 rref는 모든 열이 피벗 열 임을 나타내며 이 시스템의 모든 변수는 선도변수(leading variable)입니다( 기약행 사다리꼴 ...

[Linear Algebra] 변환(Transform): 핵 그리고 치역(Kernel and Range)

핵과 치역(Kernel and Range) 변환은 어떤 수 x를 식에 대입하여 그 값에 대응하는 결과인 y를 반환하는 함수를 의미합니다. 다시 말하면 어떤 값들에 함수를 적용하여 변환된 결과가 생성되는 과정을 변환(transforamtion) 이라 합니다. 이 과정에서 함수를 기준으로 입력된 데이터의 범위를 정의역(domain) 이라하며 이에 대응하는 가능한 모든 결과물들의 범위를 공역(codomain) 이라고 합니다. 예로서 python에서 함수 int() 는 실수를 정수로 만들기 위해 사용합니다. 이 경우 정의역은 실수이지만 공역(codomain)은 정수가 될것입니다. x=3.24 y=int(x) y 3 공역 중 함수의 결과를 상(image) 이라 하며 이 상들의 집합을 치역(range) 이라고 합니다. 치역(range)은 공역의 부분집합이 됩니다. 식 1의 선형결합은 표준행렬에 의해 변수벡터의 변환된 결과를 나타내는 것으로 위에서 소개한 변환과정으로 나타낼 수 있습니다. 즉, 변수벡터와 결과는 각각 정의역과 치역이 되며 이들의 매개가 되는 표준행렬은 함수로 간주할 수 있습니다. \begin{align}\begin{bmatrix}-2& -1\\0& 4 \end{bmatrix}\begin{bmatrix}3\\1\end{bmatrix}&=\begin{bmatrix}-7\\-4\end{bmatrix}\\ F(\text{정의역})&=\text{상}\end{align} (식 1) 식 1의 표준행렬을 함수 F()로 표시하였습니다. 일반적으로 위와 같은 결합에서 함수는 Transform의 접두어를 적용하여 T()로 나타냅니다. 그림 1은 정의역, 공역, 그리고 치역을 나타낸 것입니다. 그림 1. 정의역(domain), 공역(codomain), 그리고 치역(range). 함수에 의한 정의역과 공역의 대응은 그림 2와 같이 정의할 수 있습니다. 그림 2. 정의역과 공역의 대응방식. 변환의 ...