问题标签 [factorization]

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 回答
131 浏览

java - 程序未正确计算因子并输入数组

我的testPerfect方法有问题。我需要它来计算因子并将它们放入数组中,然后返回一个布尔值trueorfalse数字是否完美。到目前为止,该数组刚刚得到 1,2,3...5,6,7... 到输入要检查的任何数字。有什么建议么?

0 投票
3 回答
556 浏览

java - Java中更快的Erathostenes筛和素数分解

我的输入是一个Integer. 在该值之前,应该找到所有质数并将其打印在 5 列中,然后我必须对整数进行“质数分解”并打印结果。

挺好用的,就是太慢了。。。

}

我在哪里可以节省一些资源?顺便说一句,我现在只能使用数组......对不起德国人的评论。只是如果一些真正不必要的长循环或类似的东西引起了你的注意

谢谢!

0 投票
1 回答
10834 浏览

java - 如何编写一个计算数字因数的 Java 程序?

我需要帮助想出一个公式来找到一个数字的因素:

编写一个名为 printFactors 的方法,它接受一个整数作为其参数,并使用一个 fencepost 循环打印该数字的因数,用单词“和”分隔。例如,数字 24 的因数应打印为:

您可以假设 number 参数的值大于 0。

请不要给我一个完整的程序,因为我想自己尝试一下。

我当前的代码有一个 for 循环来控制出现的“和”的数量,但是,我自己打印了最后一个数字,因为我不想要一个“24 和”附加到它......所以输出看起来目前是这样的:“1 and 2 and 3”(我还没有想出等式,因此是 1,2,3 ...)

我目前认为这些因素需要一种 % 的公式,对吗?我需要分工吗?我还考虑打印出 1 以及您要寻找因子的任何数字(在本例中为 24),因为 1 和数字本身始终是其自身的因子。我还缺少什么?

提前致谢!!:)

0 投票
0 回答
868 浏览

python - 实现椭圆曲线分解的生日悖论延续

我想将椭圆曲线分解算法的生日悖论延续添加到我的分解程序集合中。Brent 在两篇 论文中描述了该算法,Montgomery 也描述了该算法,我正在尝试根据Bosma 和 Lenstra的详细描述来实现该算法。到目前为止,这是我在 Python 中所拥有的,您可以在ideone.com/vMXSab上运行它:

primes函数实现了一个简单版本的埃拉托色尼筛法,返回一个小于n的素数列表,该bezout函数实现了扩展的欧几里得算法,返回a的倒数、b的倒数以及它们的最大公约数。椭圆算术由addandmul函数给出;add 返回一个“点”(0, 0, d ) 来表示一个不可逆的分母,mul传播它,并且mul在因式分解函数中的使用必须在每次mul调用时检查它。函数lenstra1是椭圆曲线分解的简单单阶段版本,并且可以正常工作。

函数lenstra2及其辅助函数parms是我尝试实现上面引用的 Bosma/Lenstra论文中给出的算法。我首先尝试使基本版本正常工作,如第 6.1 节所述,而不考虑第 6.4 节和第 6.7 节中的优化。我认为里面的计算parms是正确的。函数运行,但总是返回False,表示它没有找到一个因子,或者它在完成算法并从最终gcd计算返回之前在椭圆算术中提前中断后返回。我认为问题在于f的系数的计算,以及使用f来计算d

所以我的问题:

  1. 我是否正确计算了f的系数?
  2. 我是否正确计算了d的值?
  3. 如何实现 6.4 和 6.7 节的优化?我不明白他们中的任何一个。
  4. 如何使用 Weierstrass 坐标实现第 5.1 节的 Suyama 曲线?

非常感谢。

0 投票
1 回答
9136 浏览

rsa - 我的 i-7 处理器需要多长时间才能分解一个 1024 位数字(仅包含 2 个质因数)

我们正在研究 RSA 算法,想知道英特尔 i-7 内核 (@ 2.50 gHz) 分解 RSA 公钥需要多长时间。

我们为此写了一段java,不知道效果如何

对于 2^45 左右的数字,PC 花费了大约 33 毫秒。理论上,分解一个 2^1024 左右的数需要多长时间?

提前致谢 :)

0 投票
1 回答
1222 浏览

matlab - 如何用拉普拉斯+对角矩阵有效求解线性系统?

在我的图像处理算法的实现中,我必须求解形式为 的大型线性系统A*x=b,其中:

  • 矩阵A=L+D是拉普拉斯矩阵 L 和对角矩阵 D 的和
  • 拉普拉斯矩阵 L 是稀疏的,每行大约有 25 个非零
  • 系统很大,未知数与输入图像中的像素一样多(通常 > 100 万)。

拉普拉斯矩阵 L 在算法的连续运行之间不会改变;我可以在预处理中构造这个矩阵,并可能计算它的分解。每次运行算法时,对角矩阵 D 和右侧向量 b 都会发生变化。

我正在尝试找出在运行时解决系统问题的最快方法;我不介意花时间进行预处理(例如,计算 L 的分解)。

我最初的想法是预先计算 L 的 Cholesky 分解,然后在运行时使用 D 中的值更新分解(使用 cholupdate 进行 rank-1 更新),并通过反向替换快速解决问题。不幸的是,Cholesky 分解不像原始 L 矩阵那样稀疏,仅从磁盘加载它就需要 5.48 秒;作为对比,直接求解带反斜杠的系统需要8.30s。

鉴于我的矩阵的形状,是否有任何其他方法可以建议您在运行时加快求解速度,无论预处理时间需要多长时间?

0 投票
2 回答
376 浏览

python - Python因式分解函数的结果不稳定

我刚刚开始玩 Python,我正在整理一些零碎的东西来打发时间。我一直在尝试测试素数,并有显示非素数因子的想法。我在上面组合的函数似乎运行良好,除了输出不一致。

例如,如果我设置 n = 65432 我得到...

这是我所期望的。但是如果我设置 n = 659306 我得到......

这是不同的,因为它最后不包括因子 329653。这不是问题,因为所有因素都显示在某处,但令我烦恼的是,我不知道为什么某些数字会发生这种情况!

只是为了告诉你我不是一个完全的白痴,我已经发现这似乎只发生在长度超过 5 个字符的整数值上。有人可以告诉我为什么这两种情况下的输出不同吗?

0 投票
1 回答
127 浏览

wolfram-mathematica - 如何判断一个有理是无平方的?

我们知道如果 $μ(n)=0$ 那么整数 n 至少有一个具有多重性的因子。

现在我们如何确定在有理数 (m/n)>1 到素因数的分解中,我们的幂是否小于 (-1)?例如

Mathematica 中是否有任何类似于 Moebius 函数 μ 的函数可以为我完成这项工作?我想我可以编写代码,但我需要在 Mathematica 中定义函数?

谢谢

0 投票
2 回答
351 浏览

java - 费马分解方法不起作用

我正在开发一个程序来比较大整数分解的不同算法。我在比较中包括的一种算法是费马分解方法。该算法似乎适用于小数字,但当我得到更大的数字时,我会得到奇怪的结果。

这是我的代码:

现在,当我尝试分解42139523531366663 时,我得到了结果因子61942354792984853201,这是不正确的,因为6194235479 * 2984853201 = 18488883597240918279。我认为我得到了这个结果是因为在算法的某个地方,我到达了一个数字变得太大或类似的点,所以算法因此有点混乱。我添加了一个检查,计算两个因子的乘积并与输入值进行比较,以便在分解错误时收到警报:

有趣的是,支票通过了,我没有收到警报。我尝试只打印乘法的结果,这实际上导致了输入值。所以我的问题是为什么我的程序会这样,我能做些什么呢?

0 投票
2 回答
1854 浏览

matlab - Cholesky 分解

在我的 matlab 代码中,我必须处理某个给定矩阵的 Cholesky 分解。我通常要求chol(A,'lower')生成下三角因子。

现在,用 来检查我的代码profiler,很明显这个函数chol真的很耗时,尤其是当输入矩阵的大小变大的时候。

因此,我想知道,是否有任何有价值的替代内置chol功能。

我一直在考虑LAPACK图书馆,也就是spptrf功能。它是否可用MATLAB

任何提示或支持都非常受欢迎。

编辑

举个例子,分析器检索以下信息:

在此处输入图像描述

哪里Coh_u有大小(1395*1395)。还需要注意的是,它chol被称为4000时间,因为我需要4000不同配置的 cholesky 因子。