2019년 10월 7일 월요일

15. 텐서 곱 공간(Tensor Product Spaces)

15. 텐서 곱 공간(Tensor Product Spaces)



In the past two videos we have talked about how the tensor product woks and how it works, but haven't really formal definition of it. In this video I'm going to define formally what the tensor product is and also introduce the idea of tensor product basics.



[0:23]------------------------------------------------------------
In previous video I'd showed how combining vector and covector together using the tensor product can give us Linear Maps. The coefficients of this linear map is really just entry of array given by the Kronecker product of the column array representing vector and row array representing covector.



[0:41]-----------------------------------------------------------
We also showed that combining two covectors using tensor product can give us Bilinear Forms whose coefficient really just the entries of array given by the Kronecker product of the two row array associated with these covectors.



[0:53]--------------------------------------------------------------
So in this video we're finally going to properly define what the tensor product operation is.



[0:58]-----------------------------------------------------------
So we've called all of those tensor product stuffs, sort of suggestion doing array multiplication what a column on the left and arow on the right. Now consider what happens if we scale this by some number, n. That's same things at scaling column by n or scaling row by n. In both cases we get the same result which is matrix up there.



Likewise when we have the tensor product between vector and covector that scaled by some number, n, we can either scale the vector by n or scale the covector by n and all get the same result. So all three things here are same linear maps.

[]-------------------------------------------------------------
If you wanted to, we can rewrite these array multiplication as Kronecker product and we rewrite these tensor product using the circled times symbol, it's basically all the same thing.



[1:45]--------------------------------------------------------------
Now let's consider addition. So, let's say we have two column-row array multiplications that are the same in both terms. This case we can factor out column and rewrite things like this. Both of these will result the same matrix.



Likewise if we have some of two tensor product, the tensor on the left is the same both terms, we can just factor out like this and both of these give the same Linear Maps.



Alternatively if we have some like this where we have the same row array in both terms, we can factor out the row.



And the same thing goes with the tensor product, we can factor out the tensor on the right to get this and go , so to be, same Linear Maps.



Finally, with the case if we have the array terms that is nothing in-common, there is basically no factor out we can do. So, we could multiply all separately and do this addition together as single array. But there's no way we can take this expression and factor it into something simpler. And the same thing can goes when we have some other tensor products, when we have two terms nothing in common, we can't simplify that all. We just however leave it as it is.



* 텐서 곱이 열(벡터)과 행(여벡터)에 대해 결합/분배 법칙이 성립된다는 이야기를 장황 스럽게 했다. 당연한 것 같아 보이지만 텐서 곱과 크로네커 곱 연산이 같은 것이며 그 연산의 선형성을 행렬 곱셉을 통해 증명하는 중이다.

Of course we can rewrite the array multiplications and Kronecker products and we can rewrite the tensor product with the circled-times symbol notation. It is all the same thing.



[3:00]------------------------------------------------------------
Ok. What we've just done is if we come up with scaling and adding rules, we can rewrite them out either in this notation I used or we can use circled-times notation that you'll find in the text books.



[3:14]-----------------------------------------------------
So, basically what this scaling rules saying what we have a bunch of tensors that are producted together like this. We scale the entire collection of tensor by some number, n. We can basically choose to move this n inside and scale any one of tensors that we'd like. So we can choose a or b or c or d or e, or we can only choose to scale one of them. And if you want to choose notation of the circled-times instead, we rewrite thing like this. So we can move n inside to scale one of the five tensors that we'd like.



* 다항식에서 공통인수 묶어내기(인수분해), 분배 법칙등을 설명하고 있다. 역시 텐서(벡터와 여벡터) 연산의 선형성을 보여주기 위함이다. 주의 할 점은 이 연산이 행렬 연산이므로 곱의 순서가 바뀌면 않된다.

[내용이 지루하지만 영어 듣기 연습이라 치고 옮겨 본다. 곱셈 덧셈을 이리 장황하게 늘어 놓는 걸 보면서  '서양 사람들은 구구단에 약하다'고 흉보지 말자. 텐서는 그냥 숫자가 아니라 상당한 수준의 추상성을 가진 객체다. 이런 객체와 그 연산도 선형성을 갖추고 있어서 구구단으로 풀수 있다는 것을 꼼꼼히 보여주는 중이다. 새로운 객체와 연산을 소개하면서 아주 기초적인 덧셈곱셈이 통하는지 증명하려는 이유는 수학으로 아무말 대잔치가 아니라는 점을 증명하는 것이다.]

[3:43]--------------------------------------------------------------
What the adding rules are saying is when we have some of tensor product like this.

Whenever both terms have something in common on the left we can factor it out. So in this case we can factor it out a, b and we have both terms something in common on the right. We can factor that out, so in this case we can factor out d, e.

And if we want to rewrite this things using circled-times notation, we get this. so we can factor out a tensors b, and then factor out d tensor e, and that's same thing. We just write a little bit differently.


[4:13]------------------------------------------------------------------
If we came up with scaling and adding rules and hopefully you know what that means, if we can scale, we can add, that means that we have vector space.

[지금 다루려는 Space(공간)는 기하학적 의미의 '공간'이 아니다. 어떤 연산이 일어나고 그 결과가 속할 조건을 뜻한다. (입출력 및 연산 포함)]

So, we know that these vector is v, w, e_1, e_2 and these vectors are live in vector space capital V. And we also know that covectors like α, β, ε_1, ε_2. These all live in the vector space V*.

We know that we can make vector pairs like vα, vβ, wα, wβ and any other of these examples.

And we can add them and scale them using these rules that we just talked about here.

So that means that these must be vectors in the vector space. So what the vector spaces do that live in and the answer is all of these living in the vector space, V tensor(circles times) V*.



And you noticed that using this circled-times symbol here again and this is actually new use of circled-times symbol that was never seen before. Because rather than combining vectors and/or tensors, we're combining vector space.

[5:15]-------------------------------------------------------------
Totally we're come across 3 different use of circled-times symbol. There's the Kronecker product which combine two array in new array. There's the tensor product whcich  can combine two tensors into a new tensor. And new usage here, we have the tensor product of vector space, which combine two vector space into a new vector space.



[5:32]-------------------------------------------------------------
So, the term, tensor product can offer two different things here. There's the tensor product of tensors which I'd like to think of little tensor product. Because it combine individual tensors. But the also the tensor product of vector space which i'd like to think of BIG tensor product, because combine entire vector space together.



[5:55]--------------------------------------------------------
We've discussed new vector space by combining V, V* together



and the vectors in this vector space follow these scaling and adding rules up here.



[6:09]----------------------------------------------------------
We have these vector space V tensor V*. So, what are the elements of this vector space? Well the members of this vector spaces are (1,1) tensor or basically vector-covector pairs and the linear combination.



What can these tensors do? Well, remember that vector components always going to have upstairs index, while covector components are always going to have a downstairs index.



So, if we have focused L coefficients here, if we do its summation with vector components like this, L of j, we end up vector component as the output. Because we have one upstairs i index that's left. So vector-in, vector-out, or essentially Linear Map.




So, we can also do it, summation with covector components like this, sum over i. Output will have j, which is downstair index. So we have basically end up covector components of the output. So, it's covector-in, covector-out. This is a map from V* to V*.



[7:11]------------------------------------------------------------
Also we can provide L with both vector component and covector component and we can do two summations over i and j. Now it gives a scalar as the output since the output has no indexes left some over. So this case L can be viewed as a function from a pair of vectors and covectors to scalar.



[7:31]-------------------------------------------------------
And finally we can do this same thing but reversed inputs, and this case L is function from a covector-vector pair to scalar.



So the elements of these vector space, (V tensor V*) can be interpreted as any of the these things depending on the number and type of inputs that we give it. So all of these are (1,1) Tensors and all of them is the members of the vector space, (V tensot V*).



[7:57]----------------------------------------------------------
So, let's consider something else. We have these same rules for the tensor product. But what if we use tensor product to combine two covector together. Covectors are α, β, εs live in V*. When we have covector-covector pair like αβ, or ε_1ε_2, it turns out that they are live in the vector space (V* tensor V*).



[8:21]------------------------------------------------------
So elements of (V* tensor V*) are (0,2)-Tensors which are covector-covector pairs and linear combinations. And we know already if we  take these v components and do two summations with two sets of vector components like this, then we end up with scalar. And this of course is Bilinear Form which takes pair of vectors and output to scalar.


[Ref]------------------------------------
'Bilinear Forms are covector-covector pair'. It's a function taking two vectors and output a scalar.

[8:45]-------------------------------------------------------
We also do single summation over i with one set of vector component and we've left with index j, downstairs. So output will be set of covector component. So, inthis case, W is a map from vectors to covectors or it map from V to V*.

Also, we could instead chooseand do a summation with vector component over j index and then it end up with covector components with i index on the bottom and this be another map of V to V*, but it'll be different map in this up here, because we're doing summation differently.



[9:21]-------------------------------------------------------------
So, elements of (V tensor V*) which are (0,2)-Tensors can be any of these things depending on the inputs that we give it.



[9:30]--------------------------------------------------------------
* 기저벡터와 기저 여벡터, 벡터와 여벡터를 모두 아우르는 텐서와 텐서 연산 규칙, 텐서 곱으로 생성되는 새로운 공간의 원소가 될 텐서의 성분 표기법(윗첨자 아랫 첨자의 표기)등을 예를 들어가며 길게 설명하고 있다. 다소 지루하지만 익혀두자. 색인 올림과 내림을 거저먹게될 것이다.

So, really, the basic building block of all these vector spaces are the two vector spaces, V and V*, and those contain tensors whose components are here, remember vector components have its upstair index and covector components have downstairs index.

We can combine these two vector spaces into new vector spaces using tensor product and these vector spaces will have these components and again we call the indexes from V upstairs and indexes from V* go downstairs.

And we can continue to make larger and larger vector spaces using the tensor product. All these new vector spaces contain tensors with components that have different combination of upstairs and downstairs indexes depending on whether they are constructed using V and V*.



* 벡터 공간 V와 여벡터 공간 V*의 텐서 곱으로 더욱 복잡한 새로운 벡터 공간을 만들 수 있다. 벡터와 여벡터의 텐서 곱의 결과는 벡터, 여벡터 혹은 실수 중 하나일 뿐이다. 이 결과로는 특정 공간의 원소임을 표기하지 못하므로 텐서 곱의 계수에 복잡한 텐서 곱의 연산을 반영한다. 윗 첨자는 벡터, 아랫첨자는 여벡터다. 벡터와 여벡터의 텐서 곱은 선형성을 갖지만 복합 구성의 경우 순서가 바뀌면 않된다. 크로네커 곱이라는 점을 기억해 두자. 벡터는 열, 여벡터는 행의 배열로 둔 행렬 곱셈이다. (V ⊗ V*)와 (V* ⊗ V)으로 생성된 공간은 서로 다르다.

[10:19]----------------------------------------------------------------
* "조각난 성분 색인('Cracked' component index)"에서 '조각난'의 의미에 주목하자.

We have some new tensor from vector space we've never seen before. We can easily get the 'cracked' component indexes just by looking at the vector spaces.

So, looking at this vector spaces we see that basis could be made up of covector, vector, covector and another covector and combination. And we get the components just by placing indexes and the opposite position that we have seen in the basis. So that all the summation properly.



복잡한 구성을 한 텐서의 예를 보자. 이 텐서는 한개 이상의 텐서 곱 공간에 존재하는 텐서다. 이 텐서를 구성하는 벡터와 여벡터에 대응하는 기저벡터와 총합 기호를 모두 써서 기술 할 수 있다. 하지만 간략한 표현(Einstein notation)을 쓰면 편하다. 기저벡터 조합의 성분(component=기저벡터의 계수) (T^j_ikl) 만 보더라도 어떤 기저벡터로 수성된 텐서 인지 알 수 있다. 따라서 텐서를 표현할 때 총합기호는 물론 기저벡터까지 모두 생략한 성분으로 나타낸다. 사실 '성분'은 그저 값일 뿐이다.

[10:46]-----------------------------------------------------------------
And now we can ask how can this tensor T act on other tensors ? We can basically do any summation we'd like as long as upstairs indexes  are matched with downstairs index, and downstairs index are matches with upstairs indexes.



So we do something like this with four summations and you can see all indexes are positioned properly,



Or we can do this again gour summation, and we get indexes work out.



Or we can do three summation and three indexes involved in the position correctly and it would left the index of i on the output.



Or we can do this two summation where we have indexes k and l on the output.



[11:23]---------------------------------------------------------
So the first example T is acting like a function and it takes vector, covector, vector, vector as inputs and output is a number, since all the indexes are summed over.



Here input components with three upper indexes. Remember the component in upper indexes means vector components. So this tensor components are from the tensor of V tensor V tensor V space and this is just covector component. So that's from V*, and again output is a scalar, all the coefficient summed over.



Here we have covector components. So that's from V* and component with two upper indexes. So, thus components are from (V tensor V) and since lower index i isn't summed and left over to the output. So that's element from V* as the output.


Here we have an input with one upper index and one lower index. So those are components from a tensor from (V tensor V*) and since the two lower indexes are remained, k and l aren't summed over. We end up output from (V* tensor V*).



So we have all these functions here, and I'm sure how often ... more examples what T can do. But, what do all this functions have in common.

[12:34]----------------------------------------------------------
Let's take a look at this function. It has four inputs,



and we'll going to take all input except one and make them constant. So it's like fixed in stone and all never change.



[Scaling]We scaled input w, we can just bring scaling coefficient n outside. Basically we can either scale the input before or scale the output after.

[Adding]Also we replace this input vector components with a same of two sets of components. We can just distribute the rest of and get the some output. So, basically we can add the input or we can add the outputs.



And the same things goes for this example. If we freeze all the inputs except one in stone, we can scale the remaining inputs before or scale the output after. Also we can choose either input or add outputs.



So basically with all this maps, all this maps are linear, if I choose, hold all input constant except one.



And there's words for that. We call functions that become this way "Multilinear Maps". So, a multilinear map is a function that is linear when all input except one are held constant. So another words are multilinear map is a function which is going to obey these two properties(scaling, adding).

The first property says that when all input except one are hole constant, if we scale the input variable, that's same thing as scaling output of the function.

The second property is, when we hold inputs constant except one, when we do summation this input, that's the same thing as doing as some of these two outputs here. So we can add these two output separately and get the same answer.

And just to be clear, these properties need to be true for all the input slots. So it doesn't matter which input hold constant and which input will allow to vary. These properties have to be true for all inputs.

Another way saying that is that multilinear functions are linear for each input variable. So saying what tensor is, when we use it as function, it obey these multilinearity properties.



[14:50]-----------------------------------------------------------
Let's summarize what we've learned in this video.



We learn this formal definition of tensor product which is a way combining tensors that obeys these scaling and adding rules.

We also learn that the tensors, we get from the tensor product, form new vector spaces which are denoted using the tensor product for vector spaces like this.

And finally we learned that all tensors are linear maps which means that they're functions that take some number of inputs and they're linear to one input variable while all other inputs are held constant.

------------------------------------------------------------------
[이전]14. 텐서는 벡터와 여벡터 조합의 일반형(Tensors are a general vector-covector combination)
[다음]16. 색인 올림과 내림(Raising/Lowering Indexes)

------------------------------------
[구구단만 알아도 '텐서']
-1. 동기(Motivation)
0. 텐서의 정의(Tensor Definition)
1. 정역방향 변환(Forward and Backward Transformation)
2 벡터의 정의(Vector Definition)
3. 벡터 변환 규칙(Vector Transformation Rules)
4. 여벡터 란?(What's a Covector?)
5. 여벡터 성분(Covector components)
6. 여벡터 변환 규칙(Covector Transformation Rules)
7. 선형 사상(Linear Maps)
8. 선형사상 변환규칙(Linear Map Transformation Rules)
9. 측량 텐서(Metric Tensor)
10. 쌍선형 형식(Bilinear Form)
11. 선형사상은 벡터-여벡터의 짝(Linear-Maps are Vector-Covector Pair)
12. 쌍선형 형식은 여벡터-여벡터 짝(Bilinear Forms are Covector-Covector Pairs)
13. 텐서 곱 vs. 크로네커 곱(Tensor Product vs. Kronecker Product)
14. 텐서는 벡터-여벡터 조합의 일반형(Tensors are a general vector-covector combinations)
15. 텐서 곱 공간(Tensor Product Spaces)
16. 색인 올림과 내림(Raising/Lowering Indexes)
-------------------------

2019년 10월 6일 일요일

14. 텐서는 벡터-여벡터 조합의 일반형(Tensors are a general vector-covector combinations)

14. Tensors are a general vector-covector combinations



이번 강의는 이제까지 배운 텐서의 일반화(generalized tensor)에 관한 것이다. 텐서는 벡터와 여벡터의 곱으로 생성된다. 일반화된 텐서란 임의 갯수의 벡터와(또는) 여벡터가 곱해진 것이다. 아울러 이번 강의에서 보여줄 텐서 곱(tensor product)에 교과서 표현인 '원곱(circled-times) ⊗' 기호를 사용하지 않는 경우가 있으므로 주의하기 바란다.



[0:20]--------------------------------------------------------------
앞서 선형사상(Linear Maps)은 벡터와 여벡터 곱의 선형조합(linear combination)이라고 배웠다. 이렇게 생성된 텐서의 변환 규칙(Transformation rules), 곱셈공식(Multiplication formula) 그리고 배열형(Array shapes)을 수월하게 구하는 방법을 배웠다.



[0:36]--------------------------------------------------------------
쌍선형 형식(Bilinear Forms)은 여벡터와 여벡터 곱의 선형조합이라는 것을 알게 되었고 그 들의 변환, 곱 그리고 배열 형에 대해 살펴봤다.


[0:50]--------------------------------------------------------------
이전에 보지 못했던 좀더 복잡한 구성의 텐서를 취급해 보자. 그 예로서 아래와 같이 복수의 벡터와 여벡터 연속곱의 선형조합의 텐서다. 텐서 D는 2개의 벡터가 연속적으로 곱해진 (2,0) 텐서이고 Q는 한 벡터와 두 여벡터가 연속으로 곱해진 (1,2)텐서다.



이들 두 텐서에 대해 위에서 선형사상이나 쌍선형 형식에서 구해봤던 것처럼 다음과 같은 문제에 대해 답을 해보자.



* 다음 강의 에서도 나오겠지만 여러 텐서가 연속적으로 곱해진 것은 매우 추상적인 공간의 표현을 의미한다. 고도의 추상적 공간에서 불변 벡터의 변환[transformation,다른 좌표계사이에서 불변성을 유지하며 표현하는 방법]과 선형사상[linear map,크기와(또는) 회전변형. 단, 원점고정]을 다뤄보자.

[1:25]---------------------------------------------------------------
변환 규칙(Transformation rule)은 쉽다. 두 좌표계 사이의 변환을 위한 기저벡터와 기저 여벡터의 선형조합(linear combination)을 연속 적용하면 된다.



텐서 성분의 변환(transforming tensor components)은 기저 벡터와 기저 여벡터 변환 규칙만 알고 있다면 이를 연속적으로 적용하면 되므로 '어렵지 않게' 구할 수 있다.




-------------------------------------------------------



[2:25]---------------------------------------------------------------
텐서 D에 작동하는 텐서 Q의 공식을 구하라. 이 공식은 복수의 공식이 존재한다. 그 이유를 보면 텐서 Q에 복수개의 여벡터 곱을 포함하고 있기 때문이다. 벡터 v에 작용하는 선형사상 함수 L(v)의 경우 한 여벡터 함수는 한개의 벡터를 입력으로 취하여 유일한 사상된 값을 출력한다.

복잡한 구성의 두 텐서의 작용을 다뤄보자. 단일 벡터에 작동하는 단일 여벡터 함수의 작용은 유일의 답을 갖지만 복수의 벡터에 작용하는 복수의 여벡터 함수의 작용은 답이 복수로 존재한다. 한 벡터와 두 여벡터(여벡터는 함수가 될 수 있다)를 갖는 Q를 역시 두 벡터의 곱으로 구성된 텐서 D에 작용 시키면 어떤 결과를 낳게 될까? 여러개의 답이 나올 수 있는데 그중 몇개만을 꼽아보면 다음과 같다.



기저 여벡터(함수)를 기저 벡터(입력)에 분배하는 방식에 따라 다른 답을 얻게된다. 위의 예는 그중 몇가지를 보여준 것이다. 위의 식만을 봐서 이 분배가 다소 특이하게 보일 수 있다. 하지만 위의 식에서 색인이 붙은 항은 선형조합(linear combination)을 의미한다. 즉, 총합 기호 ∑의 생략이다. 색인이 붙은 항마다 덧셈으로 확장되는 다항식이며 복수의 다항식의 곱에 따라 분배법칙으로 생성될 수 있는 항의 수는 엄청나게 증가한다. 게다가 더많은 경우의 공변 및 반변 색인이 가담하면서 혼동을 증가 시킨다. 총합 기호 ∑를 생략한 아인슈타인 방식 기술법(Einstein's notation)을 사용하므로써 표현이 간략화 될 뿐만 아니라 수식의 의도를 명확히 나타낼 수 있다.

[4:55]-------------------------------------------------------------
텐서를 배열 형상(Array Shape)으로 나타내보자. 텐서의 성분 값을 배열로 나타내는 것이다(tensor's component values as array). 텐서 D의 배열형상은 다음과 같다. 두 벡터의 곱이므로 열 벡터 행렬의 텐서 곱이다. 먼저 좌측의 열벡터를 우측의 열벡터 원소에 각각 분배하여 2개원소를 가진 열의 2개 원소를 가진 열이 된다(a column of columns).



-------------------------------------------------------------
이번에는 텐서 Q를 배열 형상으로 기술해보자. 텐서 Q는 한개의 벡터와 두개의 여벡터 곱이다. 벡터의 배열의 열(column)로 여벡터의 배열형상은 행(row)다. 벡터와 여벡터 배열의 곱은 크로네커 곱이다. 왼편의 열을 오른편 행의 각원소에 모두 곱한다. 이어서 두 행의 곱에서 분배하여 최종적으로 열의 행의 행 형상을 얻었다. 세개의 색인을 가지고 있어서 종종 육면체로 묘사하기도 하는데 시각적 효과는 있으나 의미상 썩좋은 방법은 아닌것 같다. 원소에 윗첨자(벡터의 반변하는 성분)와 아랫첨자(여벡터의 공변하는 성분)로 기술할 수 있어 텐서의 형을 보여줄 수 있는 행렬 방식이 좋다.


[6:35]--------------------------------------------------------------
텐서를 배열로 표현하고자 하는 이유중 하나는 표준 행렬 곱셈(행과 열의 원소를 곱한 후 모두 더하는 기계적 연산)을 적용할 수 있기 때문이다. 예를 들어 선형사상 L(v)의 배열형상은 다음과 같다. 표준의 행렬과 열의 곱이된다.



행렬과 열의 곱으로 얻은 열의 각 원소를 떼내어 일반화 한 것(cracked column vector)은 위와 같다.
[7:05]------------------------------------------------------------
하지만 앞선 예에서 보인 Q와 D 같은 고차 텐서(high-type tensors)의 경우, 텐서 곱을 행렬 곱으로 표현하기 매우 어렵다.



배열 표시 방식이 행렬계산이 직관적이라는 장점이 있긴 하지만 텐서 구성이 낮을 때(색인의 갯수가 작을 때) 유리할 뿐이다. 앞서 본 것처럼 텐서의 구성이 3개만 되어도 행렬 표기는 거의 불가능할 정도로 복잡해진다.



따라서 2 이상의 고차 텐서(high-type tensor)의 성분을 곱하는 행렬 곱셈은 총합 기호를 생략한 아인슈타인 표기법의 유용성이 확실히 드러난다.

With high-type tensors the array representation becomes sort of less useful and tensor be better stick to much compact Einstein notation to describe multiplication rules of components.

[7:37]------------------------------------------------------------
So, really with high-type tensors the abstract notation and the array notation have the limitation.

When trying to express tensor multiplication fomula, it's usually easier just stick with Einstein component notation.

For this reason a lot of sources just write tensors like this as the components only and leave out the basis vectors and covectors completely. [텐서를 기저벡터 표기를 빼고 성분 행렬로만 표기하는 경우가 많은데, 사실 행렬 성분의 표기만으로도 기저 벡터와 기저 여벡터의 곱 구성이 어땠는지 색인만 봐도 알 수 있다]

But it is important to remember that tensor component always compromise choice of basis. And the same tensor can have different component which is to represent any different basis.

[8:09]---------------------------------------------------------------
Hopefully after watching this video you can finally appreciate the best definition of tensor. Tensors are just collection of vectors and covectors combined together using the tensor product. And the matter how crazy easy tensors to get, you can still figure out the transformation rules just as we did with Linear Maps and Bilinear Forms and even tensors we have never seen before like Q and D, here.



And while we can write tensor out in the abstract or as array if we want when dealing with tensor multiplication for high-type tensors is usually better write things in the Einstein compact notation since it make summation rules obviously.

--------------------------------------------------------------
[이전]13. 텐서 곱 vs. 크로네커 곱(Tensor Product vs. Kronecker Product)
[다음]15. 텐서곱 공간(Tensor Product Spaces)

------------------------------------
[구구단만 알아도 '텐서']
-1. 동기(Motivation)
0. 텐서의 정의(Tensor Definition)
1. 정역방향 변환(Forward and Backward Transformation)
2 벡터의 정의(Vector Definition)
3. 벡터 변환 규칙(Vector Transformation Rules)
4. 여벡터 란?(What's a Covector?)
5. 여벡터 성분(Covector components)
6. 여벡터 변환 규칙(Covector Transformation Rules)
7. 선형 사상(Linear Maps)
8. 선형사상 변환규칙(Linear Map Transformation Rules)
9. 측량 텐서(Metric Tensor)
10. 쌍선형 형식(Bilinear Form)
11. 선형사상은 벡터-여벡터의 짝(Linear-Maps are Vector-Covector Pair)
12. 쌍선형 형식은 여벡터-여벡터 짝(Bilinear Forms are Covector-Covector Pairs)
13. 텐서 곱 vs. 크로네커 곱(Tensor Product vs. Kronecker Product)
14. 텐서는 벡터-여벡터 조합의 일반형(Tensors are a general vector-covector combinations)
15. 텐서 곱 공간(Tensor Product Spaces)
16. 색인 올림과 내림(Raising/Lowering Indexes)
-------------------------

2019년 10월 5일 토요일

13. 텐서 곱 vs. 크로네커 곱(Tensor Product vs. Kronecker Product)

13. 텐서 곱 vs. 크로네커 곱(Tensor Product vs. Kronecker Product)



In this quick video, I'd like to clarify the differences between tensor product and Kronecker products which have used in the previous video, but I haven't nicely mentioned by name.



Both products are denoted by the same symbol which is the circled-times symbol, ⊗, and guessing it probably little bit confusing.

[미궁속을 헤메일때 한줄기 구원의 빛이 있으니 바로 요약 이더라...]

[0:17]-----------------------------------------------------
The circled times symbol has number of different meaning in math and what I'm gonna discuss in this video will be Tensor product which is operation on tensors and Kronecker product which is operating on arrays.



And the basic summary is the tensor product combines two tensors into a new 3rd tensor, and the Kronecker product combines two arrays into a new 3rd array.

[0:38]-------------------------------------------------------
Start with 'Tensor Product'. So just review we write the basis for vector space V as these vectors, e_1 and e_2. The basis for the Dual Space V* are these covectors, ε_1, ε_2.



The covectors are linear function that was defined by these rules here or the covector ε_i acting on the vector e_j gives the Kronecker Delta as result. It just means that we get 1 if i and j is same and we get 0 if it's different.

[1:09]-------------------------------------------------------------
So early I said the tensor product takes two tensors and produces a new tensor. So, on this case we have a vector e_i and covector ε_j, and these both are tensors. We're going to combine together using the tensor product and result is e_i circled times ε_j, e_i⊗ε_j and this thing also a tensor which happen to be a Linear Maps.




[1:32]-------------------------------------------------------------
To convince this is 'Linear Maps', we can just try passing on input vector v.



So to get the output, we can just pass this vector v to the covector ε^j, and we expand vector v as a linear combination of basis vectors e_k. Then, we bring the components v^k outside since covectors are linear functions. And we can scale before and scale after. The covector ε^j acting on vector e_k becomes Kronecker delta by definition. And by Kronecker delta index cancellation rule we can cancel out the k index and get j. So, we get the vector (v^k)(e_j) as output.



So, this tensor product(or Linear Map) is really function takes vector input and produce a vector output. So, we really did construct a linear map using a vector and a covector. That's what the tensor product does. The circled-times takes two tensors and combine them to create new 3rd type of tensor.

[2:22]-------------------------------------------------------------
Now for the Kronecker product. The Kronecker product will take these two arrays which happen to be a column vector and row vector in this case. And they will produce 3rd array. So does that by taking the 1st array on the left and distribute it to every elements in the array on the right. We get this and multiply the α coefficients and we get this which is basically a row of columns.


[2:44]---------------------------------------------------------------
If we could take this, Kronecker product but another column vector, we do the same thing we just distribute this array into every elements of the other array on the right. So we get this.


And again multiplying ω, we get this which is basically a column of rows of columns. That's how the Kronecker product works. We just distribute the array on the left into the array on the right.

[3:08]---------------------------------------------------------------
Now the tensor product and the Kronecker product are technically different, but they also highly related each other. I'll show you why here.

Let's say we have the tensor product between vector v and covector α. So, this whole thing is new tensor which is really linear map.

And we can expand v and α into linear combination of basis vectors and bring out the coefficients in front to get this.

So, here we have linear combinations of basis tensors or in this case basis linear map.


And this basis linear maps are very like those special matrices that are 0s everywhere except for single entry which is 1. So these (v^i)(α_j) would make coefficients here like the entries of matrix.

[3:55]----------------------------------------------------------
Now if we talked the Kronecker product of the column vector associated with v and the row vector associated with α, this will give us a row of columns or basically a matrix. And remember that I said that these coefficients here I'd like the entries of matrix. Well here that makes matrix right here.



So really the tensor product and the Kronecker product are basically doing the same kind of things. it's just that tensor product is combining the abstract vector and the abstract covector in the land of algebraic symbol and Kronecker product is combinign the vector array and covector array in the land of arrays.



But the components that we get from the tensor product are just component of the matrix we get from the Kronecker product. So really the tensor product and the Kronecker product are sort of the same operation. They are just doing the works in different context.

---------------------------------------------------------------------
[이전]12. Bilinear Forms are Covector-Covector Pairs
[다음]14. Tensors are General Vector-Covector Combination

------------------------------------
[구구단만 알아도 '텐서']
-1. 동기(Motivation)
0. 텐서의 정의(Tensor Definition)
1. 정역방향 변환(Forward and Backward Transformation)
2 벡터의 정의(Vector Definition)
3. 벡터 변환 규칙(Vector Transformation Rules)
4. 여벡터 란?(What's a Covector?)
5. 여벡터 성분(Covector components)
6. 여벡터 변환 규칙(Covector Transformation Rules)
7. 선형 사상(Linear Maps)
8. 선형사상 변환규칙(Linear Map Transformation Rules)
9. 측량 텐서(Metric Tensor)
10. 쌍선형 형식(Bilinear Form)
11. 선형사상은 벡터-여벡터의 짝(Linear-Maps are Vector-Covector Pair)
12. 쌍선형 형식은 여벡터-여벡터 짝(Bilinear Forms are Covector-Covector Pairs)
13. 텐서 곱 vs. 크로네커 곱(Tensor Product vs. Kronecker Product)
14. 텐서는 벡터-여벡터 조합의 일반형(Tensors are a general vector-covector combinations)
15. 텐서 곱 공간(Tensor Product Spaces)
16. 색인 올림과 내림(Raising/Lowering Indexes)
-------------------------