📜  Python| sympy.as_poly() 方法(1)

📅  最后修改于: 2023-12-03 15:19:16.858000             🧑  作者: Mango

Python | sympy.as_poly() 方法

sympy.as_poly() 方法是SymPy库中的一个函数。

SymPy是一个Python库,用于解决数学问题。其中包含了符号计算、解方程组、微积分、代数几何等数学问题的解决办法。SymPy库中的as_poly()方法是一个用于将多项式对象转换为多项式类的方法。该函数专门用来将多项式转换为多项式对象,并在多项式对象上进行多项式运算。

as_poly()方法可以接受多种参数格式。根据传入的参数,as_poly()方法可以自动推断多项式对象的类型、系数、变量等。以下是as_poly()方法的常用参数格式的介绍:

as_poly()参数格式
字符串参数格式

当传入一个字符串时,as_poly()会将这个字符串解析为多项式,并返回对应的多项式对象。传入字符串时可以包含多项式的各项系数和变量,如:

from sympy import as_poly

p = as_poly('x**2 + 2*x - 1')
print(p)

输出结果为:

Poly(x**2 + 2*x - 1, x, domain='ZZ')
实数参数格式

当传入一组实数时,as_poly()会将这些实数看作多项式的系数,并以x作为变量。如:

from sympy import as_poly

p = as_poly([1, 2, 3])
print(p)

输出结果为:

Poly(3*x**2 + 2*x + 1, x, domain='ZZ')
字典参数格式

当传入一个字典时,字典中的键作为系数,键对应的值作为指数,并以字典的键分配变量名,如:

from sympy import as_poly

p = as_poly({1:2, 2:-1, 3:0})
print(p)

输出结果为:

Poly(x**2 - 2*x + 1, x, domain='ZZ')
多项式对象参数格式

当传入一个多项式对象时,as_poly()会返回与该对象相同的多项式对象,如:

from sympy import Poly, as_poly

p1 = Poly(x**2 - 2*x + 1, x)
p2 = as_poly(p1)
print(p2 == p1)

输出结果为:

True
as_poly()方法返回值

as_poly()方法返回一个多项式对象,可以在多项式对象上进行多项式运算。多项式对象具有加、减、乘、除等基本运算符,以及多项式常用方法,如求导。以下是多项式对象的一些常用方法:

from sympy import Poly, as_poly

p1 = Poly(x**2 - 2*x + 1, x)
p2 = as_poly({1:2, 2:-1, 3:0})

# 求和
p3 = p1 + p2
print(p3)
# 输出结果为: 
# Poly(x**2 - 2*x + x + 3, x, domain='ZZ')

# 求差
p4 = p1 - p2
print(p4)
# 输出结果为:
# Poly(x**2 - 2*x - x + -1, x, domain='ZZ')

# 求乘积
p5 = p1 * p2
print(p5)
# 输出结果为:
# Poly(3*x**4 - 4*x**3 - 2*x**2 + 6*x - 2, x, domain='ZZ')

# 求导
p6 = p1.diff()
print(p6)
# 输出结果为:
# Poly(2*x - 2, x, domain='ZZ')
总结

本文介绍了sympy.as_poly()方法的基本用法和返回值,以及多种参数格式的解释。在实际使用中,可以通过传入不同的参数类型,将多项式对象转换为多项式类,然后进行多项式运算。