看板 MATLAB 關於我們 聯絡資訊
※ 引述《snaredrum (好聽木琴)》之銘言: : 有個問題 我手算不了,想用MATLAB幫忙 請各為大大指教 : 我想找七個21維向量 u1,u2,...,u7 : 有底下性質 : 1) <u_i,u_j> = 0 if i不等j (兩兩垂直的意思) : 2) 向量長度為1 : 3) 這七個向量,每個向量的21個 digits 加起來=3 : 請問如何寫出這七個向量呢? : 感恩~~ === 令 U = [u1, u2, u3, ...] 為 21 by 7 matrix e_n = [1, 1, ..., 1]^T 為 n by 1 all one vector by (1)&(2) , (U')U = I_7 ____ <a> (I_7: 7x7 identity mat.) by (3), (e_21')U = 3(e_7') ____ <b> ┌ I_7 3(e_7) ┐ combine <a><b>, 可得 (M')M = │ │ := f(M) └ 3(e_7') 21 ┘ 其中 M = [U | e_21] is a 21 by 8 matrix ===== 根據上述結論,你可以這樣子做: <1> SVD or cholesky 分解 f(M) 得到 (A')A, 其中 A: 8x8 matrix <2> 考慮一 13x8 矩陣 B, 使得 (B')B = [0] 這時 f(M) 可改寫成 = (A')A + (B')B = (N')N , 其中 N = [A' | B']' 為 21 by 8 matrix <3> 考慮一 21x21 orthogonal matrix Q, 使得 M = QN ( since f(M) = (N')N = (N')(Q')QN = (QN)'(QN) = (M')M ) 更進一步,若 N_n := n-th column 則找出 Q, 使得 Q(N_n) = e_21 一旦有了 Q 跟 N, 你就能得知 M, 也就等於知道了 U Note: A / B / Q 三個 matrix 都不 unique 自然有無窮多組解 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 175.98.124.34
doom8199:抱歉,<2> 的 B 可能要再細分成 [B1 | B2], 不能直接 07/16 19:03
doom8199:相乘等於 0矩陣 07/16 19:03
doom8199:結論就是要湊出 M'M 的 format, 流程大同小異 07/16 19:04
YoursEver:cholesky的前提是positive definite, 但f(M)不是. 07/16 20:49
YoursEver:所以在這個例子中f(M)無法寫成 A'A 07/16 20:55
==== 感謝,我沒有真的去算它的 eigenvalue 事實上只要是 positive semi-definite 就能做分解 (matlab 會 display 正定 的 constrain 應該是打錯了) 我手算了一下, f(M) 要能分解成 (M')M 除非是 u_i 的維度 >= 63 不然必不存在 U in |R^(dim,7) , 滿足 constrain (1)~(3) ※ 編輯: doom8199 來自: 175.98.124.34 (07/17 13:10)
YoursEver:>=63相當於是給夠多的0,把之前說的特解排成一組basis了. 07/17 15:35
可以列出來嗎? 我不覺得 (1/3,...1/3,0,...0) 的組合可以滿足 case (1) ┌ I_7 3(e_7) ┐ 令 g(M,k) = │ │ └ 3(e_7') k ┘ 真的去計算它的 eigenvalue 會滿足 (1-λ)^6 * [λ^2 - (1+k)λ + k-63] = 0 若要求 g 是半正定, 唯有當 (1+k) >= 0 && (k-63) >=0 亦即 k >= 63 ※ 編輯: doom8199 來自: 175.98.124.34 (07/18 09:50)
YoursEver:vector_1: 1~9 entry 為 1/3, 其餘為0 07/18 10:22
YoursEver:vector_2: 10~18 entry 為 1/3, 其餘為0 07/18 10:22
YoursEver:其他類推,當然同時滿足原po的條件. 07/18 10:23
YoursEver:當n>=63時,滿足這條件七個向量,就會有不只一組解. 07/18 10:24
YoursEver:所以我之前才會說(以原本n=21來看),夠成一組frame沒問題 07/18 10:42
YoursEver:但能不能構成一組basis,就要打問號. 07/18 10:42
doom8199:那 vector_3, vector_4 要怎麼挑呢? 07/18 13:01
doom8199:剛看了一下推文,你這樣的組法只有滿足 <2><3> 07/18 13:12
doom8199:<1> 根本不可能會成立,就簡單的反證法就可以說明了 07/18 13:12
doom8199:文中我也證明過了,dim>62 才會有解 07/18 13:13
doom8199:而且必然是無窮多組解,用 SVD 可以說明一切 07/18 13:14
YoursEver:vector_3 = 19~29 entry為1/3, 其餘為0 07/18 13:35
YoursEver:vector_7: 55~63 entry 為1/3, 其餘為0 07/18 13:36
YoursEver:vector_3: 19~27 entry為1/3, 其餘為0 07/18 13:37
YoursEver:所以我之前才說,一定能找到一組frame,但是否能構成basis 07/18 13:38
YoursEver:是另外一回事. 07/18 13:38
doom8199:抱歉,我以為你那個推文是在說 dim=21 的case 07/18 14:04
snaredrum:謝謝d大的詳細解說~ 07/19 12:55