一個3x3的反射矩陣基於文件構建使用GSL
http://www.gnu.org/software/gsl/manual/html_node/Householder-Transformations.html
和
http://en.wikipedia.org/wiki/Householder_transformation
我想下面的代碼將成功打造出矩陣在平面正交反射單位矢量normal_vector
。
gsl_matrix * reflection = gsl_matrix_alloc(3, 3);
gsl_matrix_set_identity(reflection);
gsl_linalg_householder_hm(2, normal_vector, reflection);
但是,就我所知,結果不是反射矩陣。特別是在我的情況下,它具有真實的特徵值 - (2 + 1/3),這對於反射矩陣是不可能的。
所以我的問題是:
(1)我在做什麼錯了?這似乎應該對我有用。 (2)如果這種方法不起作用,是否有人知道如何使用gsl來構建這樣一個矩陣? [作爲最後一點,我意識到gsl提供了應用Householder轉換而不實際找到矩陣的函數。實際上我需要矩陣在我的情況下進行其他工作。]
你肯定normal_vector真的是一個單位矢量? – 2010-08-02 04:36:24
是的,在我發佈之前,我仔細檢查了一下。 – 2010-08-02 04:45:21