问题标签 [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 投票
1 回答
46 浏览

java - 我的程序给了我一个 StackOverflowError

我做了一个小程序来使用一些递归来计算矩阵的行列式。我尝试了一个 5x5 矩阵并得到了堆栈溢出错误。我知道递归可能太深了,但我不知道如何补救它。有什么解决办法吗?

这是我的代码:

0 投票
2 回答
190 浏览

performance - 使用 Eigen 和使用 Alglib 一样快速地获取行列式日志

我需要一种快速的方法来获取复杂行列式的对数,最好不要先获取行列式然后取对数,因为数字可以变得非常大或非常小(我后来使用这些数字的比率,但仅在它们相似时; 所以他们的差异的指数表现良好)。

到目前为止,我一直在使用 alglib 库;进行 LU 分解,然后沿对角线添加对数,然后添加 i*pi 乘以枢轴点数。假设我有一个alglib::complex_2d_array msize n,我做

我在哪里使用函数

然而,在很多方面,Eigen 库看起来都不错。更易于使用和使用,complex<double>而不是它自己的复杂类。此外,我已经将它用于其他目的,因此这将简化事情。

我尝试以类似的方式使用它,假设 aEigen::MatrixXcd m大小n

但是,当我进行一些测试时,Eigen 的执行速度要慢得多。

所以我想知道是否有另一种方法可以更快地使用 Eigen?也许另一种完全获取行列式日志的方法?

编辑:评论后:这就是我测试代码的方式:

它是用g++ -c -std=c++11 -O2. 典型的运行给出:

0 投票
1 回答
435 浏览

python - python中的数学错误计算日志(det(AA^T)+1)

我正在尝试估计 Python 中 log(det(AA T )+1) 的平均值。我的简单代码工作正常,直到我得到 17×17 矩阵,此时它给了我一个数学错误。这是代码:

A 应该是一个包含 -1 或 1 元素的矩阵。

我做错了什么,如何解决?17有什么特别之处?

0 投票
1 回答
7473 浏览

recursion - Fortran95 中的行列式

fortran 中的此代码使用拉普拉斯公式(由未成年人展开)计算 nxn 矩阵的行列式。我完全理解这个过程是如何运作的。

但是有人可以让我深入了解以下代码是如何操作的,比如给定的迭代,这部分代码包含递归函数行列式(矩阵) - 假设读入并传递了一些 nxn 矩阵,另一个函数调用辅因子。我理解代码的某些方面,但它的递归让我深感困惑。我尝试使用 3x3 矩阵逐步运行,但无济于事。

我挣扎的主要部分是这两个调用和相应辅因子计算的操作。

任何解释的输入将不胜感激(就像我说的一个迭代的例子)。这是我在 stack-overflow 中的第一篇文章,因为我的大部分问题都存在于 mathstack 中(正如您可能从问题的数学性质中看出的那样)。虽然我确实有编程经验,但递归的概念(尤其是在这个例子中)真的让我难以置信。

如果需要任何编辑,请继续,我不熟悉堆栈溢出的礼仪。

0 投票
3 回答
3011 浏览

matlab - 行列式显示无穷大而不是零!为什么?

这是我为作业中遇到的问题编写的 matlab 代码。在 A 和它的转置相乘之后,根据所有同学的代码(不同的代码)给他们的代码(不同的代码),得到的方阵应该有行列式零。为什么我的代码没有给出 c 和 d 的行列式为无穷大

0 投票
1 回答
42 浏览

javascript - Resize script scales up, not down. Using the determinant makes it jumpy

I built the following resize script - as you can see from the fiddle, it works for scaling up but not down:

https://jsfiddle.net/calipoop/a37aeb08/

I tried to fix the issue by using the determinant/cross-product for a positive/negative direction:

https://jsfiddle.net/calipoop/zbx3us36/

As you can see from the fiddle, now it "sometimes" scales down, and it's always jumpy.

Any math majors with ideas? Am I getting the determinant incorrectly? Thanks in advance for any insight.

0 投票
3 回答
12399 浏览

python - Python Numpy - 将非常小的数字视为零

我想用 Numpy 计算奇异矩阵的行列式(行列式为 0),当我打印行列式时,它显示一个非常小的数字(几乎为零 = -7.09974814699e-30),但本身不是零......

当我尝试使用 %s、%d 或 %f 打印行列式时,有时它是零,有时是 -0,有时是 -7.09974814699e-30。

这是代码:

如何让 Numpy 将非常小的数字(例如 -7.09974814699e-30)视为零并向我显示零。我之前也问过这个问题,如果你看一下矩阵,你会发现它充满了非常小的数字但不是零,而它应该是一个对角矩阵,对角线上的数字和其他地方的零......

谢谢...

0 投票
2 回答
148 浏览

java - 尝试查找 2D 数组/矩阵的行列式时出现 ArrayIndexOutOfBoundsException

这是我的第一篇 Stack Overflow 帖子,而且我对 还很陌生java,所以我最初可能无法理解您给我的一些反馈。

使用这个程序,我应该递归地找到矩阵的行列式,其大小由用户确定。但是,当我这样做时,我收到此错误:

线程“主”java.lang.ArrayIndexOutOfBoundsException 中的异常:1

我明白这个错误是什么意思,但我不明白为什么会这样。

这是我正在使用的类(printmatrix 和 main 方法都是我的老师写的,我必须完成 Copy 和 det 方法):

错误发生在 Copy 和 中的 else 语句中temp1 = Copy(temp, i)

我很困惑,好像 j 或 k = 1,不应该是数组中的一个位置吗?我错过了什么?

0 投票
0 回答
91 浏览

c# - 应用矩阵 Chio 定律

我正在尝试将 Chio 定律应用于我的程序。您可能不熟悉 Chio 定律(或知道它的其他名称),在巴西,我们称之为Lei de Chió(Chio 定律),我找不到它的英文等价物。事情是这样的:假设我们有一个矩阵一个,为了得到它的行列式,我们隔离了 1 行和列,然后我们对每个未隔离的项目执行此操作:在此处输入图像描述,你明白了吗?

要计算 det(A),我们这样做:在此处输入图像描述,其中 i 是 A 矩阵上 1 的行,j 是 A 矩阵上 1 的列。

我的问题是,如何在 C# 中实现它?这是我的矩阵代码:在 Github 上查看

0 投票
2 回答
1614 浏览

c# - 如何用 4 个点计算球心?

问题是我对编程很陌生,现在我需要编写一个程序来计算许多球体的中心(最大 36,最小 3),每个球体有 4 个点 X、Y、Z。因为我的程序读取了一个 TXT 文件,其中包含我将其存储在列表中的点数据,其结构如下

这意味着我对球体 1 的第一组点是这样的:

因此,如果我想使用球体中第 1 行中的 X 值,我必须这样做:

在网上搜索我发现有人转换了 java 代码并为 c# 实现它来计算球体的中心,他创建了一个类,但我很新,我不知道如何在他的类中使用元素,如何我应该把我的数据介绍给他的课吗?我如何得到结果;这是课程:

我怎么说我的数据球体编号可能会有所不同,但我最多有 36 个球体,每个球体有 4 个点 x、y、z。如果我可以将结果中心存储在另一个列表中,这将非常有用,可能类似于:

我希望我解释得足够清楚,我不是以英语为母语的人,我非常感谢社区的帮助。PS。我个人用我的数据尝试了该程序的 java 版本,它对我来说非常完美。这是链接:http://www.convertalot.com/sphere_solver.html