首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用GSL构建3x3反射矩阵

使用GSL构建3x3反射矩阵
EN

Stack Overflow用户
提问于 2010-08-02 12:28:26
回答 1查看 738关注 0票数 0

基于文档

http://www.gnu.org/software/gsl/manual/html_node/Householder-Transformations.html

http://en.wikipedia.org/wiki/Householder_transformation

我认为下面的代码可以成功地生成与单位向量normal_vector正交的平面上的反射矩阵。

代码语言:javascript
复制
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变换的函数。实际上,我需要在我的案例中使用矩阵来做其他工作。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-02 12:42:12

反射矩阵P永远不会形成。取而代之的是v,和P = I - \tau v v^T中的一样。

gsl_linalg_householder_hm应用PA转换,必须先用gsl_linalg_householder_transform生成v

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3384990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档