六、常用函数

fadd(x,y,**kwargs)

作用:实现精度要求下的加法运算。

from mpmath import *

print(fadd(1, 1e-10)) #1+1e-10,精度没有损失

>>>1.0000000001

print(fadd(1, 1e-20)) #1+1e-20,精度有损失

>>>1.0

nprint(fadd(1, 1e-20, dps=20), 21) #1+1e-20,指定保留20位有效数字,精度没有损失。nprint输出21位数

>>>1.00000000000000000001

nprint(fadd(1, 1e-20, prec=70), 21) #1+1e-20,指定保留70字节,精度没有损失。nprint输出21位数

>>>1.00000000000000000001

nprint(fadd(1, 1e-20, prec=20), 21) #1+1e-20,指定保留20字节,精度有损失。nprint输出21位数,但被省略

>>>1.0

nprint(fadd(1, 1e-20, rounding='u'), 22)#1+1e-20,指定以'up'的方式进行rounding(数值修约),具体待老夫翻翻数值分析

>>>1.000000000000000444089

nprint(fadd(1, 1e-20, exact=True), 21) #1+1e-20,指定保留精确值,精度没有损失。nprint输出21位数

>>>1.00000000000000000001

下面函数的精度调节方法与 fadd 相似,不再赘述。

fsub(x,y,**kwargs)

作用:实现精度要求下的减法运算。

用法同上,略fneg(x,**kwargs)

作用:实现精度要求下的相反数运算。

用法同上,略

fmul(x,y,**kwargs)

作用:实现精度要求下的乘法运算。

用法同上,略

fdiv(x,y,**kwargs)

作用:实现精度要求下的除法运算。

用法同上,略

fmod(x,y)

作用:实现精度要求下的同余运算。

from mpmath import *

print(fmod(34, 3)) #求34除以3的余数

>>>1.0

print(fmod(12.154, 1)) #求12.154除以1的余数,即小数部分

>>>0.154

fsum(terms,absolute=False,squared=False)

作用:实现连续求和运算。

关于精度:

from mpmath import *

print(fsum([1, 2, 3])) #对1,2,3进行连续求和

>>>6.0

print(fsum([1, 2, 3, 1e-10])) #对1,2,3,1e-10进行连续求和,精度没有损失

>>>6.0000000001

print(fsum([1, 2, 3, 1e-20])) #对1,2,3,1e-20进行连续求和,精度有损失

>>>6.0

mp.dps = 23 #fsum函数不自带精度调整功能,要通过mp对象调节,此处设定23位有效数字

print(fsum([1, 2, 3, 1e-20])) #对1,2,3,1e-20进行连续求和,精度没有损失

>>>6.00000000000000000001

关于求和:

from mpmath import *

print(fsum([1, 2, 3])) #对1,2,3求和

>>>6.0

print(fsum([1, -2, 3], absolute=True)) #对1,2,3求绝对值和

>>>6.0

print(fsum([1, -2, 3], squared=True)) #对1,2,3求平方和

>>>14.0

fprod(factors)

作用:实现连续求积运算。

from mpmath import *

print(fprod([1, 2, 3])) #对1,2,3求积

>>>6.0

fdot(A,B=None,conjugate=False)

作用:实现两个数组的点乘运算。

from mpmath import *

print(fdot([1, 2, 3], [1, 2, 3])) #(1,2,3)*(1,2,3)

print(fdot([1, 2, 3], [1+j, 2+j, 3+j], conjugate=False)) #(1,2,3)*(1+i,2+i,3+i)

print(fdot([1, 2, 3], [1+j, 2+j, 3+j], conjugate=True)) #(1,2,3)*(1-i,2-i,3-i)

fabs(x)

作用:实现绝对值或模运算。

用法略。

sign(x)

作用:实现符号运算。

用法略。

re(x) 和 im(x)

作用:实现提取实部或虚部的运算。该作用可被mpcObject.real 或者mpc.Object.imag代替。

用法略。

arg(x)

作用:实现求取复数转角的运算。

用法略。

conj(x)

作用:实现复数共轭运算。

用法略。

rect(x)

作用:实现根据极坐标得到复数的运算。

from mpmath import *

print(rect(2,0.3*pi)) #求 rho=2,cita=0.3*pi对应的复数

>>>1.17557050458495 + 1.61803398874989j

floor(x)

作用:实现下取整运算。

用法略。

ceil(x)

作用:实现上取整运算。

用法略。

nint(x)

作用:实现四舍五入操作。

用法略

frac(x)

作用:实现求小数部分运算。

用法略。注意正负数的小数部分不相同。

chop(x,tol=None)

作用:实现在容忍度内切断尾数的操作

from mpmath import *

print(chop(5+1e-10j, tol=1e-9)) #在容忍度为1e-9的前提下,切断5+1e-10的尾数

>>>5.0

isinf(x)

作用:实现判断是否为无穷的运算。

用法略。

isnan(x)

作用:实现判断是否为非数的运算。

用法略。

isnormal(x)

作用:实现判断是否为正常浮点数的运算。

该函数将0,NaN和Inf视作不正常,其余正常。

isint(x,gaussian=False)

作用:实现判断是否为整数的运算。

当gaussian=True时,整数的标准变为高斯整数。

rand()

作用:实现生成一个服从[0,1]区间均匀分布的随机数的运算。

用法略。

arange(*args)

作用:生成整数数组的运算。注意,当参数长度为2时,生成整数数组的标准是前含后不含。

from mpmath import *

print(arange(10)) #生成0~9的浮点数数组

print(arange(10.5)) #生成0~10的浮点数数组

print(arange(4, 10)) #生成4~9的浮点数数组

linspace(*args,**kwargs)

作用:生成等差数列的运算。三个参数依次分别是首项,末项和项数。

from mpmath import *

print(linspace(1, 4, 4)) #生成从1到4的四等分数列

>>>[1.0, 2.0, 3.0, 4.0]

print(linspace(1, 4, 4, endpoint=False)) #生成从1到4的五等分数列,不含尾点4

>>>[1.0, 1.75, 2.5, 3.25]

mpmath.psi python_【Python Package】mpmath学习笔记(2)相关推荐

  1. python嵩天课堂笔记_[Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周)

    [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) [Python机器学习]强化学习笔记(嵩天礼欣老师mooc第三周) 目录 强化学习 定义 马尔科夫决策过程 基本元素 值函数 最优值 ...

  2. Python基础语法学习笔记

    Python基础语法学习笔记 想淘宝省钱看我简介,博客www.liangxin.name (一) 一.Print()函数 1.数字可以直接输出,无需加引号 只能理解数字,却读不懂文字.因为数字和数学运 ...

  3. python基础入门学习笔记 (2)

    python基础入门学习笔记 2021年2月8日 1 编译器和解释器的区别 编译器/解释器:高级语言与机器之间的翻译官 2 值传递: print "a = ",a print &q ...

  4. 关于Python的一些学习笔记(小白式笔记,持续更新)

    关于Python的一些学习笔记 瞎bb: 作为一个计算机专业的学生,Python应该是一门很有必要掌握的语言,但是由于鄙人太懒,一直对Python没有太多了解,但是随着知识的积累以及学业难度的增加,我 ...

  5. Python 基础知识学习笔记——NumPy

    Python基础知识学习笔记--NumPy 与 matlab 优秀的矩阵运算类似,python 提供了 numpy 库,这对熟悉 matlab 的用户来说非常友好.向量.矩阵和多维数组是数值计算中必不 ...

  6. Python 基础知识学习笔记——OpenCV(1)

    Python 基础知识学习笔记--OpenCV(1) OpenCV是一个开源的跨平台计算机视觉和机器学习软件库,它轻量而且高效,被广泛的使用. 整理一下OpenCV学习笔记,以防忘记. 文章目录 Py ...

  7. Python基础知识学习笔记——Matplotlib绘图

    Python基础知识学习笔记--Matplotlib绘图 整理python笔记,以防忘记 文章目录 Python基础知识学习笔记--Matplotlib绘图 一.绘图和可视化 1.导入模块 2.一个简 ...

  8. python基础知识学习笔记(2)

    python基础知识学习笔记(2) 整理一下python基础知识,以防忘记 文章目录 python基础知识学习笔记(2) python简洁的一行代码 python简洁的一行代码 1.交换两个变量 # ...

  9. python基础知识学习笔记(1)

    python 基础知识学习笔记(1) 总结一下Python基础知识,以防忘记. 文章目录 python 基础知识学习笔记(1) 一.起步 1.python安装与编译环境 二.变量和简单数据类型 三.列 ...

  10. python标准库学习笔记

    原创:python标准库学习笔记 数据结构 bisect 模块里实现了一个向列表插入元素时也会顺便排序的算法. struct - 二进制数据结构:用途:在 Python 基本数据类型和二进制数据之间进 ...

最新文章

  1. TCP端口状态 LISTENING、ESTABLISHED、TIME_WAIT及CLOSE_WAIT详解,以及三次握手,滑动窗口
  2. c语言如何实现玫瑰花
  3. java 俄文,俄文字体在word里面是什么
  4. [Catalan]求解随机出栈可能数(洛谷P1044题题解,Java语言描述)
  5. 如何在不跳转的情况下实现用户登录
  6. .net IntPtr ==interoperable pointer
  7. 从SAP客户主数据里直接创建商机(Opportunity) 1
  8. 30岁就退休,你也可以做到
  9. 【MySQL】MySQL 管理员必备技能 用户 权限 管理
  10. Tomcat9版本不支持jsp处理PUT,DELETE之外的请求的解决方案(405方法不允许)
  11. html中单选怎么写,在HTML中select标签怎样实现单选和多选
  12. Spring-Boot 整合Dubbo 解决@Reference 注解为null情况
  13. 关于setTimeout的面试题
  14. 微信朋友圈功能测试用例
  15. python判断负数_python中的负数
  16. linux c 获取usb vid,Linux使用libudev获取USB设备VID及PID的方法
  17. Day7-Python综合作业1(DataWhale)
  18. 榜单发布!国产智能驾驶域控制器市场竞争力TOP10供应商
  19. 网络基础服务器 与SMP、NUMA、MPP 三大体系结构科普
  20. Day 09 (JAVA中的queryWrapper)

热门文章

  1. 1067 Sort with Swap(0, i) (25 分)
  2. 2018年软工第一次作业
  3. vue之vue-router跳转
  4. H5页面左图右边文字如何布局
  5. Android 第三方
  6. Mac OSX操作系统安装和配置Zend Server 6教程(1)
  7. 【转】8 个效果惊人的 WebGL/JavaScript 演示
  8. 大白话Pyramid Vision Transformer
  9. NeurIPS 2020 | 微软亚洲研究院论文摘录之目标检测篇
  10. CVPR 2020 Oral | 旷视提出目前最好的密集场景目标检测算法:一个候选框,多个预测结果...