Numpy.gcd 使用了 2 个以上的数组
Numpy.gcd using more than 2 arrays
我想知道是否可以使用 numpy.gcd() 计算 2 个以上数组的最大公约数。
对 x、y、z 使用以下数组:
import numpy as np
x = np.array([[4,6,28],[2,5,6]])
y = np.array([[2,1,7],[7,23,6]])
z = np.array([[3,0,4],[7,4,3]])
这里是采用 3 个数组的 gcd 代码:
result = np.gcd(x,y,z)
这导致:
array([[2, 1, 7],
[1, 1, 6]])
结果[0,2]
7
这不是 7 应该是 1 吗?给定数字 28、7、4,以下 returns 1.
numpy.gcd.reduce([28, 7, 4])
所以我的问题是,如果我在某个时候犯了错误,或者 numpy.gcd not 是否能够将 3 个数组作为输入并简单地计算 gcd它接收的前两个数组作为输入?
来自https://numpy.org/doc/stable/reference/generated/numpy.gcd.html
函数签名是这样的:
def numpy.gcd(x1, x2, /, out=None, *, ...):
如果你用三个参数调用 gcd
,你基本上就是在做 z = gcd(x, y)
。因此,您需要提出自己的功能。可能类似于
def my_gcd(x, y, z):
return np.gcd(np.gcd(x, y), z)
这会 return
[[1 1 1]
[1 1 3]]
我想知道是否可以使用 numpy.gcd() 计算 2 个以上数组的最大公约数。 对 x、y、z 使用以下数组:
import numpy as np
x = np.array([[4,6,28],[2,5,6]])
y = np.array([[2,1,7],[7,23,6]])
z = np.array([[3,0,4],[7,4,3]])
这里是采用 3 个数组的 gcd 代码:
result = np.gcd(x,y,z)
这导致:
array([[2, 1, 7],
[1, 1, 6]])
结果[0,2]
7
这不是 7 应该是 1 吗?给定数字 28、7、4,以下 returns 1.
numpy.gcd.reduce([28, 7, 4])
所以我的问题是,如果我在某个时候犯了错误,或者 numpy.gcd not 是否能够将 3 个数组作为输入并简单地计算 gcd它接收的前两个数组作为输入?
来自https://numpy.org/doc/stable/reference/generated/numpy.gcd.html
函数签名是这样的:
def numpy.gcd(x1, x2, /, out=None, *, ...):
如果你用三个参数调用 gcd
,你基本上就是在做 z = gcd(x, y)
。因此,您需要提出自己的功能。可能类似于
def my_gcd(x, y, z):
return np.gcd(np.gcd(x, y), z)
这会 return
[[1 1 1]
[1 1 3]]