📝 SymPy教程

25篇技术文档
  SymPy教程

📅  最后修改于: 2020-11-05 04:38:32        🧑  作者: Mango

SymPy是用于符号数学的Python库。它旨在成为功能齐全的计算机代数系统(CAS),同时保持代码尽可能的简单,以便于理解和易于扩展。本教程是为希望了解符号数学的Python程序员设计的,包括符号计算的基础知识,基本的符号运算,微积分,矩阵以及一些精选的高级主题。先决条件在继续本教程之前,您应该对Python编程语言有很好的了解。本教程假定您具有良好的数学背景。大多数示例需要低于微积分级别的知识...

  SymPy-简介

📅  最后修改于: 2020-11-05 04:38:48        🧑  作者: Mango

SymPy是用于执行符号计算的Python库。它是计算机代数系统(CAS),可以用作独立应用程序,也可以用作其他应用程序的库。还可以在https://live.sympy.org/上获得其实时会话。由于它是纯Python库,因此可以用作交互模式和编程应用程序。 SymPy现在已成为科学Python生态系统的流行符号库。SymPy具有广泛的功能,可用于基本符号算术,微积分,代数,离散数学,量子物理学...

  SymPy-安装

📅  最后修改于: 2020-11-05 04:39:02        🧑  作者: Mango

SymPy有一个重要的必备库,名为mpmath。它是一个Python库,用于以任意精度进行实数和复数浮点运算。但是,当安装SymPy时,Python的软件包安装程序PIP会自动安装它,如下所示:其他Python发行版,例如Anaconda,Enthought Canopy等,可能已经捆绑了SymPy。要进行验证,您可以在Python提示符下键入以下内容-您将获得以下输出作为sympy的当前版本-‘...

  SymPy-符号计算

📅  最后修改于: 2020-11-05 04:39:25        🧑  作者: Mango

符号计算是指用于处理数学表达式和其他数学对象的算法的开发。符号计算将数学与计算机科学相集成,以使用数学符号来求解数学表达式。诸如SymPy之类的计算机代数系统(CAS)使用与传统手动方法中使用的相同符号来精确(不近似)评估代数表达式。例如,我们使用Python的math模块计算数字的平方根,如下所示-上面的代码片段的输出如下-5.0 2.6457513110645907如您所见,7的平方根大约是计...

  SymPy-数字

📅  最后修改于: 2020-11-05 04:39:55        🧑  作者: Mango

SymPy包中的核心模块包含Number类,该类代表原子序数。该类有两个子类:Float和Rational类。 Integer类进一步扩展了Rational类。浮点类表示任意精度的浮点数。上面的代码片段的输出如下-6.32SymPy可以将整数或字符串转换为浮点数。10.0133000.0在转换为浮点数时,还可以指定数字位数以实现精度,如下所示:上面的代码片段的输出如下-1.3数字(p / q)的表...

  SymPy-符号

📅  最后修改于: 2020-11-05 04:40:28        🧑  作者: Mango

Symbol是symPy库中最重要的类。如前所述,符号计算是通过符号完成的。 SymPy变量是Symbols类的对象。Symbol()函数的参数是一个包含可以分配给变量的符号的字符串。上面的代码片段给出的输出等于下面的表达式-$ x ^ 2 + y ^ 2 $一个符号可以是多个字母。上面的代码片段给出的输出等于下面的表达式-$ side ^ 3 $SymPy还具有一个Symbols()函数,该函数...

  SymPy-替代

📅  最后修改于: 2020-11-05 04:40:48        🧑  作者: Mango

对数学表达式执行的最基本的操作之一是替换。 SymPy中的subs()函数将所有出现的第一个参数替换为第二个。上面的代码片段给出的输出等于下面的表达式-$ \ sin ^ 2(x)+ \ cos ^ 2(x)$上面的代码片段给出的输出等于下面的表达式-$ \ sin ^ 2(a)+ \ cos ^ 2(a)$如果我们要评估某个表达式,则此函数很有用。例如,我们要通过用5代替a来计算以下表达式的值。...

  SymPy-sympify()函数

📅  最后修改于: 2020-11-05 04:41:09        🧑  作者: Mango

sympify()函数用于转换任意表达式,以便可以将其用作SymPy表达式。普通的Python对象(例如整数对象)在SymPy中转换。字符串等也将转换为SymPy表达式。上面的代码片段给出了以下输出-12任何Python对象都可以在SymPy对象中转换。但是,由于转换在内部使用eval()函数,因此不应使用未经处理的表达式,否则会引发SympifyError。SympifyError:由于引发了异...

  SymPy-evalf()函数

📅  最后修改于: 2020-11-05 04:41:25        🧑  作者: Mango

此函数计算给定的数值表达式,直到给定的浮点精度(最多100位)。该函数还将subs参数作为符号的数值字典对象。考虑以下表达式上面的代码片段给出的输出等于下面的表达式-$ \ Pi {r ^ 2} $使用evalf()函数通过用5代替r来评估上述表达式上面的代码片段给出了以下输出-78.5398163397448默认情况下,浮点精度最高为15位,可以被最高为100的任何数字覆盖。以下表达式的计算结果...

  SymPy-Lambdify()函数

📅  最后修改于: 2020-11-05 04:41:43        🧑  作者: Mango

lambdify函数将SymPy表达式转换为Python函数。如果要在较大的值范围内评估表达式,则evalf()函数效率不高。 lambdify的行为类似于lambda函数,除了它将SymPy名称转换为给定数字库(通常为NumPy)的名称。默认情况下,对数学标准库中的实现进行lambdify。上面的代码片段给出了以下输出-627.8831939138764该表达式可能具有多个变量。在这种情况下,l...

  SymPy-逻辑表达式

📅  最后修改于: 2020-11-05 04:42:21        🧑  作者: Mango

布尔函数在sympy.basic.booleanarg模块中定义。可以使用标准Python运算符&(And),|构建布尔表达式。 (或),〜(不)以及>>和<<。布尔表达式继承自SymPy核心模块中定义的Basic类。BooleanTrue函数此函数与Python核心中的True等效。它返回一个可以由S.true检索的单例。上面的代码片段给出了以下输出-(对,对)BooleanFalse函数同样,...

  SymPy-查询

📅  最后修改于: 2020-11-05 04:42:41        🧑  作者: Mango

SymPy包中的假设模块包含用于提取有关表达式信息的工具。该模块为此定义了ask()函数。以下属性提供有关表达式的有用信息-代数(x)要进行代数运算,数字必须是具有有理系数的非零多项式方程的根。 √2因为√2是x2 − 2 = 0的解,所以它是代数的。复数(x)复数谓词。当且仅当x属于复数集合时,才为真。复合(x)当且仅当x是一个正整数并且具有至少一个除1以外的正除数和数字本身时,ask(Q.co...

  SymPy-简化

📅  最后修改于: 2020-11-05 04:43:30        🧑  作者: Mango

Sympy具有简化数学表达式的强大功能。 SymPy中有许多功能可以执行各种简化。那里有一个通用的称为simple()的函数,它试图得出最简单的表达式形式。简化此函数在sympy.simplify模块中定义。 simple()尝试应用智能启发式方法来使输入表达式“更简单”。以下代码显示简化表达式$ sin ^ 2(x)+ cos ^ 2(x)$。上面的代码片段给出了以下输出-1个扩大expand(...

  SymPy-导数

📅  最后修改于: 2020-11-05 04:43:51        🧑  作者: Mango

函数的导数是其相对于变量之一的瞬时变化率。这等效于找到一个点到函数的切线的斜率。我们可以通过使用SymPy包中的diff()函数来找到变量形式的数学表达式的微分。上面的代码片段给出的输出等于下面的表达式-$ x \ sin(x ^ 2)+ 1 $上面的代码片段给出的输出等于下面的表达式-$ 2x ^ 2 \ cos(x ^ 2)+ \ sin(x ^ 2)$上面的代码片段给出的输出等于下面的表达式...

  SymPy-集成

📅  最后修改于: 2020-11-05 04:44:15        🧑  作者: Mango

SymPy软件包包含积分模块。它实现了计算表达式的定积分和不定积分的方法。 Integrated()方法用于计算定积分和不定积分。要计算不定或原始整数,只需在表达式后传递变量。例如-要计算定积分,请按如下所示传递参数:上面的代码片段给出的输出等于下面的表达式-$ \ frac {x ^ 3} {3} + \ frac {x ^ 2} {2} + x $上面的代码片段给出的输出等于下面的表达式-$-...