作者anovachen ( )
看板Math
標題Re: [其他] 不同矩陣相乘
時間Tue Sep 17 23:27:08 2013
(為方便起見,以下^T代表transpose)
※ 引述《pigheadthree (爬山)》之銘言:
: 題目:A_m*n = |1 1 0|*|1|
: |0 1 0| |0|
: |1|
: A_2*3 = |1 1 0|
: |0 1 0|
: B_4*2 = |1 1|
: |0 3|
: |2 -1|
: |0 1|
: C_4*3 = ( A_2*3 ) * ( B_4*2 )
這個( A_2*3 ) * ( B_4*2 )沒辦法算,因為A的行數不等於B的列數。
但是C=BA可以算,因為B的行數等於A的列數。
: 試求 C_4*3 = ???
: 答案:C_4*3 = |1|
: |0|
: |2|
: |0|
: C_4*3 = |1 1| |1 1 0| 請問版上前輩們,不同矩陣該如何相乘?
: |0 3| * |0 1 0| 小弟實在無法下筆,麻煩不吝嗇指導,謝謝!
: |2 -1|
: |0 1|
: C_4*3 = |1 1| |1 1 0|
: |0 3| * |0 1 0|
: |2 -1|
: |0 1|
:
:
: = | (1,1)。(1,0) (1,1)。(1,1) (1,1)。(0,0) |
: | (0,3)。(1,0) (0,3)。(1,1) (0,3)。(0,0) |
: |(2,-1)。(1,0) (2,-1)。(1,1) (2,-1)。(0,0)|
: | (0,1)。(1,0) (0,1)。(1,1) (0,1)。(0,0) |
:
: = |1 2 0| * |1| = |(1,2,0)。(1,0,1)| = |1|
: |0 3 0| |0| |(0,3,0)。(1,0,1)| |0|
: |2 1 0| |1| |(2,1,0)。(1,0,1)| |2|
: |0 1 0| |(0,1,0)。(1,0,1)| |0|
^^^這裡為什麼要乘以(1,0,1)^T ??
:
: 呼!總算算出來了....................
看到這...我一度以為我的矩陣乘法能力有問題XDD
(AB應該算不出來才對)
幫你用R軟體驗算一下...
> a<-c(1,0,1,1,0,0)
> dim(a)<-c(2,3)
> a
[,1] [,2] [,3]
[1,] 1 1 0
[2,] 0 1 0
> b<-c(1,0,2,0,1,3,-1,1)
> dim(b)<-c(4,2)
> b
[,1] [,2]
[1,] 1 1
[2,] 0 3
[3,] 2 -1
[4,] 0 1
> a%*%b
錯誤在a %*% b : 非調和引數
> b%*%a
[,1] [,2] [,3]
[1,] 1 2 0
[2,] 0 3 0
[3,] 2 1 0
[4,] 0 1 0
>
答案就是
1 2 0
0 3 0
2 1 0
0 1 0
不過,你定義的乘法跟一般的矩陣乘法定義相同嗎?
不同的向量空間的確可以有不同的加法和乘法定義,
但是你的這種定義...不知是否會違反向量空間的公設?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.255.24.222
※ 編輯: anovachen 來自: 111.255.24.222 (09/17 23:38)
推 suhorng :他的定義是一樣的 只不過看他後來實際上應該是三個 09/17 23:38
→ suhorng :矩陣相乘, 不是兩個...Y 09/17 23:38
→ suhorng :*後來的題目 09/17 23:38
不太清楚他的演算規則,很難證明/否證是否違反向量空間的公設。
但我不太確定依照他的算法,乘法單位元素是否還存在?
※ 編輯: anovachen 來自: 111.255.24.222 (09/17 23:56)
推 suhorng :他只是把我們平常那個summation寫成內積的形式 09/17 23:56
→ suhorng :但是他題目根本就寫錯了 應該是三個矩陣相乘 09/17 23:56
→ suhorng :後面的算式也是寫不清楚 09/17 23:57
→ Melcher :這個版的人真好,連這樣的發問方式都願意幫忙回答 09/18 01:12