어디다가 물어봐야 될 지 몰라서 여길 찾아왔어요
A=Eķ×Ek-1×...×E2×E1×I
이렇게 표현하잖아요?
근데 이거 보고 든 생각이 왜 왼쪽으로 나열해야지 순서가 맞냐는 거예요
곱셈 계산해보면 나중에 계산할 기본행렬을 오른쪽이 아니라 왼쪽에 둬야 기존 행렬에 올바르게 연산이 적용되는 걸 확인할 순 있는데
직접해봐도 그냥 맞는 게 맞다는 느낌이지
왜 왼쪽에 둬야 생각한 순서가 되는지 모르겠어요
행과 열에 대한 이해가 부족한 것 같기도...
왼쪽 행렬의 a번째 행벡터와 오른쪽 행렬의 b번째 열벡터의 내적이
곱셈 이후 행렬을 X라고 하면 X(ab)가 되잖아요
행과 행을 곱하거나 열과 열을 곱하거나 열과 행을 곱하는 게 아니라
행과 열을 곱하는 게 다른 것들과 무슨 차이가 있는지 분명하게 보이질 않아요
그 차이가 곱셈의 순서를 이해할 단서가 될 것 같은데...
왜 나중에 연산할 기본행렬을 왼쪽에다가 둬야 의미가 맞을까요
- dc official App
행렬을 선형변환(함수)으로 보면 행렬의 곱은 선형변환의 합성으로 볼 수 있는데, 얘랑 일관성을 주기 위해서...? x를 함수 f로 보낸 다음 g로 보내면 g(f(x))로 쓰듯 나중에 합성한걸 왼쪽에 쓰는게, 나중에 작용하는 행렬을 왼쪽에 곱하는 것
다른 이유가 있을수도 있는데 나는 이정도로 받아들임
댓글 감사합니다
A에 E1을 취하면 E1A이고, 이렇게 얻은 E1A라는 행렬에 다시 E2를 취하면 E2(E1A)=E2E1A이고, ...
왼쪽이 기본행연산이고 오른쪽에 놓는건 기본열연산이라고 보면됨 - dc App
너가 A라는 행렬을 기본행렬로 분해했잖아 그 말은 I에다가 너가 기본행연산 E1,E2,...Ek를 순서대로(E1부터) I에다가 적용한거고, 근데 이건 I가 맨 앞에 있고 Ek,E(k-1),...E1 순서대로 I에 기본열연산을 한거임. 따라서 너가 말한대로 기본 행렬들을 I 오른쪽에 두려면 둘 수 있는데 E들을 기본열연산으로 봐야함 - dc App
예를 들어 ((1,0),(3,1))을 너가 기본행연산으로 보면 2행에다가 3 * (1행)을 더하는 기본행연산이지만, 저걸 기본열연산으로 보면 1열에다가 3*(2열)을 더하는 기본열연산임 - dc App
순서 바꿔서 계산했을 때 오른쪽에 두면 열이 바뀌던데 그거 보고서도 그냥 내가 원하는 결과 아니라서 생각 없이 무시했는데, 이렇게 듣고나서야 의미가 보이네요
감사합니다
님 마지막 질문의 뜻을 ‘왜 2행에다가 3 * (1행)을 더하는 기본행렬 E를 오른쪽에 두면 왜 3 * 1행이 2행에 안 더해지지?‘ 라는 뜻으로 해석한건데 네가 이런 뜻으로 질문한건지는 잘 모르겠지만 이제 다른 사람들이 더 잘 설명해줄거임 - dc App
질문 내용은 이해하신 게 맞아요. 기본 행렬은 기본적으로 행에 대한 연산으로 봐야하고, 왼쪽에 두고 곱해야 행에 대한 연산으로써 그에 맞게 계산이 된다는 거네요. 기본행렬을 오른쪽에 두면 열 기준으로 다시 해석해서 그런 연산이 열에 처리되는거구요
그래도 왜 왼쪽은 행에 대한 연산이 되고 오른쪽은 열에 대한 연산이 되는지 모르겠네요...
행렬곱셈의 작동방식을 잘 들여다보면 알게됨.