有没有办法得到NumPy中矩阵的sqrt?不是元素,而是整体

有没有办法得到NumPy中矩阵的sqrt?不是元素,而是整体,numpy,Numpy,例如,对于矩阵A,我们有 A.dot(A)=B 现在我有B,想得到A。我试过np.sqrt(B),但这只能得到每个数字的sqrt是B,不是A。我在网上搜索了一下,但什么也没找到 有没有办法在纽比拿到一张票 比如说 import numpy as np ar = np.random.randint(low=1, high=5, size=(4,4)) ar2 = ar.dot(ar) ar1 = np.sqrt(ar2) 然后我们会发现ar1和ar不一样。如果我们现在知道了ar2,我们如何获得a

例如,对于矩阵A,我们有

A.dot(A)=B

现在我有B,想得到A。我试过
np.sqrt(B)
,但这只能得到每个数字的sqrt是B,不是A。我在网上搜索了一下,但什么也没找到

有没有办法在纽比拿到一张票

比如说

import numpy as np
ar = np.random.randint(low=1, high=5, size=(4,4))
ar2 = ar.dot(ar)
ar1 = np.sqrt(ar2)
然后我们会发现ar1和ar不一样。如果我们现在知道了ar2,我们如何获得ar?

好的,你可以做到

如果你想用numpy,那么我认为你最好的猜测是对你的矩阵进行对角化,然后计算内部对角矩阵的平方根

计算对角化 评估值,evectors=np.linalg.eig(a) #确保平方根矩阵存在 断言(evalues>=0).all() sqrt_矩阵=evectors@np.diag(np.sqrt(evalues))@np.linalg.inv(evectors)
请注意,如果矩阵是对称实矩阵(使用
np.eigh
,并且不必计算逆矩阵,因为它是
evectors
的转置),则可以加快计算速度。

首先求和
np.sqrt(B.sum())
?A和B是矩阵。此代码将只获取一个数字。请您显示一些输入和输出示例好吗?如果您有
ar
上点缀的内容,则只能获取
ar
。。。因为你在用它自己打点它,而这正是你想要找到的。。。然后…ar2=ar*ar然后ar1=np.sqrt(ar2)将起作用,因为它是一个元素级矩阵乘法。我建议你研究一下NumPy中a*b和a.dot(b)的区别。