问题标签 [determinants]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
196 浏览

c++ - C++ 矩阵行列式/内存分配

我正在尝试用 C++ 编写矩阵行列式函数。但是我的代码无法编译并且不知道为什么(我正在使用在线 c++ 编译器,并且 iget 的错误消息是“ * `/var/www/service/usercode/519646917/a.out' 中的错误: free():下一个大小无效(快速):0x00000000019c1180 * ")。看来问题出在 Free 功能上。

请问谁能告诉我我的代码有什么问题?

提前致谢 问候

0 投票
1 回答
611 浏览

c++ - 我没有使用 cuSolver 在设备上找到 LU 分解

我需要用 cuda 计算矩阵(双精度数组)的行列式,我想使用 LU 分解来做到这一点。我没有找到设备功能,cusolverSp.h只有主机功能cusolverSpDcsrlsvluHost。我查看 cuda 7.0 和 cuda 7.5。

我不明白为什么我找不到它,因为它在官方文档中有所描述:http: //docs.nvidia.com/cuda/cusolver/index.html#api

设备上的 Cholesky 分解等其他功能也有效。

实施了吗?如果是,我在哪里可以找到它?

感谢您的帮助!

0 投票
2 回答
20 浏览

determinants - 在给定扩展的情况下找到行列式

我想知道是否有人能想到一个包含 a 和 b(以及其他实数)的 3×3 行列式,其展开式为 ab(a + b)^2。可能会有很多可能性,但只有一种可能。谢谢。

0 投票
1 回答
474 浏览

matlab - 如果 det(A) 不是正方形,如何标记为真?MATLAB

我的目标是让代码在我给它一个不是正方形的矩阵时标记为真,如果它是一个正方形则标记为假。

当我给它一个非方阵时,我的代码可以正常工作。但是,当我给它一个方阵时它会给我一个错误?

我该如何修复我的代码?

这是我收到的错误消息。

0 投票
1 回答
127 浏览

matlab - matlab for-loop的向量化

我正在寻找以下matlab函数的适当矢量化,以消除for循环并通过多线程提高速度。

size(A)= N-by- N,其中30 <= N <= 60

1e4 <= numIter <= 1e6

0 投票
1 回答
302 浏览

c++ - 行列式计算函数的优化

寻找最好的算法我发现有一个权衡:一方面是实现的复杂性和大常数,另一方面是运行时的复杂性。我选择基于 LU 分解的算法,因为它实现起来非常简单,并且性能足够好

LIVE DEMO

det()函数是算法中最热门的函数,它使用它作为一部分。我肯定det()没有尽可能快,因为运行时性能比较(使用google-pprof)与整个算法的参考实现det()显示出与.

如何提高det()功能的性能?哪些明显的优化可以立即应用?我应该更改索引和内存访问顺序还是其他?容器类型?预取?

的典型值dimension_在 3 到 10 的范围内(但可以是 100,如果value_type是 mpfr 或其他值)。

0 投票
1 回答
1379 浏览

matlab - 如何获得解决方案以使该行列式为零?

我必须x(1)...x(9)获得det(A) = 0.

0 投票
3 回答
4089 浏览

python - 张量流中的矩阵行列式微分

我对使用 TensorFlow 计算矩阵行列式的导数很感兴趣。我从实验中可以看出,TensorFlow 没有实现通过行列式进行区分的方法:

进一步调查表明,实际上可以计算导数。例如,参见Jacobi 公式。我确定,为了实现这种通过行列式进行区分的方法,我需要使用函数装饰器,

但是,我对张量流不够熟悉,无法理解如何实现这一点。有人对此事有任何见解吗?

这是我遇到此问题的示例:

0 投票
1 回答
55 浏览

java - 如何更改此 if 语句以进行切换?

//下面关于二次公式的代码是否可以转换为switch方法?

//对字母 b 和 c 重复同样的事情。

//int d 用于判别式。

0 投票
0 回答
101 浏览

r - 重载 c() 或修改 base::det?

我已经determinant为 R 中的 S4 类重载了该函数。基determinant函数返回一个包含元素modulus和的列表sign;但是,这些值是我的 S4 对象(为此*已重载)。然后我重新定义了这个det函数(我不得不深入研究Matrix包的源代码来弄清楚如何做到这一点,这本身就是一场恐怖表演。)以base::det适应我的环境。

由于我不明白的原因,base::det定义如下:

在我的对象上调用时,z按预期计算,并且z$sign很好z$modulus。我已经重载*exp因此z$sign * exp(z$modulus)评估为我的一个对象。

但为什么 c

当包裹在c()返回值中时,不再是一个标量数字,而是一个包含一个元素的列表:我的对象。这不是我想要的,它破坏了我的单元测试。一些可选的解决方法:

  1. 重写det,可能会破坏任何需要使用的c().
  2. 我的对象不知何故超载c()(或者是as.vector?)。我什至不知道该怎么做。
  3. 还有什么?

推荐的解决方案是什么,我应该如何进行?以正确的方式记录这种混乱的额外积分roxygen2

(作为参考,这个包现在在 github 上https://github.com/shabbychef/madness

编辑 MWE 如下所示: