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 - 最大公因式整数 | 符号变量 | 符号表达式 | 符号函数
最大公因式,返回为整数、符号变量、表达式或函数。