首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >C数组行列式的计算

C数组行列式的计算
EN

Stack Overflow用户
提问于 2012-07-05 13:32:17
回答 3查看 1.7K关注 0票数 4

我编写了一个程序,生成几个N x N矩阵,我想计算它们的行列式。与此相关,我有两个问题

  • 这样做最好的图书馆是什么?我想要最快的库,因为我有数百万这样的矩阵。
  • 当我将结果转换为整数时,有什么细节需要考虑吗?我将生成的所有矩阵都有整数行列式,我希望确保没有舍入误差会扭曲行列式的正确值。

编辑。如果可能的话,提供一个计算推荐库行列式的示例。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-05 13:36:39

至于矩阵库,这个问题似乎在这里得到了回答:

基于c的小型向量和矩阵库的建议

至于转换为整数:如果行列式不是整数,则不应该将其转换为整数,应该使用roundfloorceil以可接受的方式转换它。这些值可能会给出积分值,但您仍然需要转换它们;但是,您现在可以这样做了,而不必担心丢失任何信息。

票数 4
EN

Stack Overflow用户

发布于 2012-07-05 13:37:30

你可以用blas和lapack的矩阵来创造奇迹。它们实际上是用fortran编写的,从"c“中使用它们是一种调整。但总而言之,他们可以以惊人的速度处理数字。

http://www.netlib.org/lapack/lug/node11.html

票数 3
EN

Stack Overflow用户

发布于 2012-07-05 13:45:21

您有谷胱甘肽,但是选择实际上取决于您的矩阵。矩阵是稠密的还是稀疏的?N大还是小?对于小型Ns,您可能会发现使用Cramer规则或Gauss消除自己编写行列式的速度更快,因为大多数高性能库集中在大矩阵上,它们的优化可能会在简单问题上引入开销。

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

https://stackoverflow.com/questions/11345407

复制
相关文章

相似问题

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