? 發問時間: 電腦與網際網路程式設計 · 1 0 年前

C++ 這題好難..+15點

試設計一函式,用來求一個二維矩陣的轉置矩陣。

這是啥..我是普通科升大ㄧ的學生...不會啦><

謝謝囉!!

已更新項目:

恩...

可以實際點嗎?

寫一次給我看..

謝謝

1 個解答

評分
  • 1 0 年前
    最佳解答

    正定矩陣 (Positive Definite Matrices)

    使用副程式:SPOCO,SPOFA,SPOSL 以及 SPPCO,SPPFA,SPPSL,SPPDI

    本節針對正定對稱(symmetric positive definite) 矩陣作介紹,在計算的時間和記憶體使用上,正定對稱矩陣比一般非對稱矩陣節省了一半。

    1. 數學說明︰

    對一實數對稱矩陣 A,可由以下條件判定是否為正定。

    A 的特徵值(eigenvalue)皆為正。

    對任何非零的向量 x 而言,二次形式(quadratic form)的條件為:

    A 可以被一個行向量間彼此線性獨立的矩形(rectangular)矩陣, 表示成 。

    A 的軸元素 (當主軸沒有交換時) 。

    所有A 的部分矩陣(submatrix)之行列式值>0。

    對一複數漢米頓(Hermitian)矩陣 A,( ,H 表示共軛轉置),可由以下條件判定是否為正定。對任何非零的複數向量 x,滿足

    對上述正定矩陣 A,可用一個上三角矩陣R,因子化為 (實數) 或 (複數) ,並評估矩陣狀況,求線性方程組的解,求 A 的行列式值或反矩陣。

    對一個對稱矩陣的上三角區域元素,可以把它存在一個長度為 n*(n-1)/2 的一維陣列,這樣可以節省一半的記憶體,這種作法叫做壓縮儲存(packed storage)。

    2. 矩陣狀況:

    估量奇異矩陣的變數使用原理與方法,與一般用法相 同,請參閱第3-1節的說明。

    3. 副程式的使用︰

    (1)SPOCO

    SPOCO 副程式使用 Cholesky 演算法,去計算矩陣的 因子化形式,並估計它的狀況,呼叫的順序如下:

    CALL SPOCO (A, LDA, N, RCOND, Z, INFO)

    輸入引數:

    A

    用來作因子化的二維陣列,因次 (dimension)宣告 為(LDA, N),只使用上三角包括主對角線的元素。

    LDA

    矩陣 A 的先頭因次。

    N

    矩陣 A 的階次,以及向量 Z 的長度。

    輸出引數:

    A

    在它的上三角部份存著三角矩陣 R, ,下三角部份 則沒改變。

    RCOND

    若 RCOND 小到邏輯判斷 ( (1.0+RCOND) .EQ.1.0) 為真時,矩陣 A 就為奇異矩陣,若 ,則 RCOND 就不改變。

    Z

    長度為 N 的一維向量,用作工作區間。

    INFO

    INFO=0 表 A 為正定矩陣,能成功地因子化。若 INFO=K>0 表示前 k 階的部份矩陣不為正定,可能是因為誤差的關係, 這時因子化不完全。

還有問題?馬上發問,尋求解答。