2026a

# gcd


最大公因式

函数库: TySymbolicMath

# 语法

g = gcd(p1, p2)

# 说明

注意

现阶段 gcd 函数仅能对属于 AbstractPolynomialLike 类型的符号变量进行操作,而不能对常用的 Num 或 Sym 类型符号变量操作。当您需要对多项式进行操作时,请尽量使用 @polyvar 或利用 polys、substitute 函数对符号表达式进行转换,转换为多项式表达式再对多项式表达式进行相关操作。

g = gcd(p1, p2) 返回 p1 和 p2 的最大公因式。 示例

# 示例

四个整数的最大公因数

要找到三个或更多值的最大公约数,将这些值指定为向量或矩阵。

找出这四个整数的最大公约数,指定为向量的元素。

using TySymbolicMath
A = [4420, -128, 8984, -488]
gcd(A)
4

或者,将这些值指定为矩阵的元素。

A = [4420 -128; 8984 -488]
gcd(A)
4
多项式的最大公因式

求单元和多元多项式的最大公因式。

求一元多项式的最大公因式:

using TySymbolicMath
@polyvar x
gcd(x^3 - 3*x^2 + 3*x - 1, x^2 - 5*x + 4)
-1 + x

求二元多项式的最大公因式:

@polyvar x y
gcd(x^2*y + x^3, (x + y)^2)
y + x
矩阵元素的最大公约数

对于向量和矩阵,gcd. 按元素查找最大公约数。非标量参数的大小必须相同。

找出这两个矩阵的对应元素的最大公约数:

using TySymbolicMath
A = [309 186; 486 224]
B = [558 444; 1024 1984]
gcd.(A,B)
2×2 Matrix{Int64}:
3   6
2  32

找出矩阵 A 的元素和值 200 的最大公约数。这里,gcd. 将 200 展开为所有元素等于 200 的 2×2 矩阵。

gcd.(A,200)
2×2 Matrix{Int64}:
1  2
2  8

# 输入参数

p1 - 输入
整数 | 符号变量 | 符号表达式 | 符号函数

输入,指定为整数、符号变量、表达式或函数。符号输入必须为 AbstractPolynomialLike 类型。

p2 - 输入
整数 | 符号变量 | 符号表达式 | 符号函数

输入,指定为整数、符号变量、表达式或函数。符号输入必须为 AbstractPolynomialLike 类型。

# 输出参数

g - 最大公因式
整数 | 符号变量 | 符号表达式 | 符号函数

最大公因式,返回为整数、符号变量、表达式或函数。

# 另请参阅

gcdx | factor | factors