草庐IT

python - 如何使用 python 取 -1 的平方根?

当我对-1求平方根时,出现错误:invalidvalueencounteredinsqrt我该如何解决?fromnumpyimportsqrtarr=sqrt(-1)print(arr) 最佳答案 为避免无效值警告/错误,numpy的sqrt函数的参数必须是复杂的:In[8]:importnumpyasnpIn[9]:np.sqrt(-1+0j)Out[9]:1j正如@AshwiniChaudhary在评论中指出的,您还可以使用cmath标准库:In[10]:cmath.sqrt(-1)Out[10]:1j

Python 多处理性能仅随所用内核数的平方根提高

我正尝试在Python(WindowsServer2012)中实现多处理,但无法达到我期望的性能改进程度。特别是,对于一组几乎完全独立的任务,我希望通过额外的核心实现线性改进。我明白——尤其是在Windows上——打开新进程会产生开销[1],并且底层代码的许多怪癖可能会阻碍干净的趋势。但理论上,对于完全并行化的任务,趋势最终仍应接近线性[2];或者如果我正在处理部分串行任务,则可能是逻辑的[3].但是,当我在质数检查测试函数(下面的代码)上运行multiprocessing.Pool时,我得到了接近完美的平方根关系,直到N_cores=36(我的服务器上的物理内核数量)在我进入额外的逻

python - 立方根模 P——我该怎么做?

我试图在Python中计算一个以P为模的数百位数字的立方根,但失败得很惨。我找到了Tonelli-Shanks算法的代码,据说它很容易从平方根修改为立方根,但这让我望而却步。我已经搜索了网络和数学图书馆以及几本书,但都无济于事。代码会很棒,用简单的英语解释算法也会很棒。这是求平方根的Python(2.6?)代码:defmodular_sqrt(a,p):"""Findaquadraticresidue(modp)of'a'.pmustbeanoddprime.Solvethecongruenceoftheform:x^2=a(modp)Andreturnsx.Notethatp-xis

python - 立方根是整数吗

这看起来很简单,但我找不到实现它的方法。我需要显示整数的立方根是否为整数。我在Python3.4中使用了is_integer()float方法,但没有成功。作为x=(3**3)**(1/3.0)is_integer(x)True但是x=(4**3)**(1/3.0)is_integer(x)False我尝试了x%1==0、x==int(x)和isinstance(x,int)但没有成功.如有任何评论,我将不胜感激。 最佳答案 对于小数字(13左右),您可以使用以下方法:defis_perfect_cube(n):c=int(n**(

python - 如何在不使用数学模块的情况下执行平方根?

我想在不使用数学模块的情况下求一个数的平方根,因为我需要调用该函数大约20k次并且不想在每次调用该函数时都链接到数学模块来减慢执行速度有没有更快更简单的求平方根的方法? 最佳答案 导入数学模块只发生一次,您可能不会比数学模块快多少。还有一个关于WhichisfasterinPython:x**.5ormath.sqrt(x)?的旧Stackoverflow问题.目前尚不清楚哪种方法更快。也许看看NumPy和SciPy,不一定用于sqrt,但如果您正在进行一些繁重的计算,它们可能会很方便。

python - python中复数的平方根

我在python中遇到了一些关于复数平方根的令人困惑的行为。运行这段代码:fromcmathimportsqrta=0.2b=0.2+0jprint(sqrt(a/(a-1)))print(sqrt(b/(b-1)))给出输出0.5j-0.5j类似的事情发生在print(sqrt(-1*b))print(sqrt(-b))看起来这些对陈述应该给出相同的答案? 最佳答案 两个答案(+0.5j和-0.5j)都是正确的,因为它们是complexconjugates--即实部相同,虚部符号翻转。查看code使行为清晰-结果的虚部始终与输入的

python - python负数的立方根

谁能帮我找到如何使用python计算负数的立方根的解决方案?>>>math.pow(-3,float(1)/3)nan它不起作用。负数的立方根是负数。有什么解决办法吗? 最佳答案 DeMoivre'sformula的简单使用,足以表明一个值的立方根,无论符号如何,都是一个多值函数。这意味着,对于任何输入值,都会有三种解决方案。far提出的大多数解决方案仅返回主根。返回所有有效根并显式测试非复杂特殊情况的解决方案如下所示。importnumpyimportmathdefcuberoot(z):z=complex(z)x=z.realy

python - 生成 2 的平方根的数字

我想生成二到300万位的平方根的数字。我知道Newton-Raphson但由于缺乏双整数支持,我不知道如何在C或C++中实现它。有人能指出我正确的方向吗?此外,如果有人知道如何在python中执行此操作(我是初学者),我也将不胜感激。 最佳答案 您可以尝试使用映射:a/b->(a+2b)/(a+b)从a=1,b=1开始。这收敛于sqrt(2)(实际上给出了它的连分数表示)。现在是关键点:这可以表示为矩阵乘法(类似于斐波那契)如果a_n和b_n是步骤中的第n个数字,则[12][a_nb_n]T=[a_(n+1)b_(n+1)]T[11

c# - 计算 BigInteger 的平方根 (System.Numerics.BigInteger)

.NET4.0为任意大的整数提供了System.Numerics.BigInteger类型。我需要计算BigInteger的平方根(或合理的近似值——例如整数平方根)。这样我就不必重新实现轮子,有人对此有很好的扩展方法吗? 最佳答案 CheckifBigIntegerisnotaperfectsquare具有计算JavaBigInteger的整数平方根的代码。这里翻译成C#,作为扩展方法。publicstaticBigIntegerSqrt(thisBigIntegern){if(n==0)return0;if(n>0){intbi

go - 如何在 Go 中取立方根?

我正在使用牛顿法在GoogleGo中编写立方根函数。我想使用math/cmplx.Pow()检查结果,但对于我来说,我不知道如何做。我该怎么做? 最佳答案 您尝试过myCubicRootOfx=Pow(x,1.0/3)吗?编辑:感谢JasonMcCreary评论:我们不能使用1/3作为Pow的第二个参数,因为这是整数除法,因此不会产生预期的1/3值。通过使用1.0/3或1/3.0等,我们有效地生成了一个值为0.333333...的float。 关于go-如何在Go中取立方根?,我们在St