Skip to content

Latest commit

 

History

History
235 lines (158 loc) · 6.68 KB

379-189669-[专业选修]复数类型_complex.sy.md

File metadata and controls

235 lines (158 loc) · 6.68 KB
show version enable_checker
step
1.0
true

虚数类型

回忆

  • 平方运算的逆运算是开平方
    • 指数为 $2$,平方
    • 指数为 $0.5$,开平方
    • 指数为 $-1$,取倒数
  • 平方和开平方都属于指数运算
  • 指数运算的逆运算是对数运算
  • 不过有个问题
    • -1 的平方根好像是一个乱码?

图片描述

检查类型

图片描述

  • 看起来是一个叫做 complex 的类型
  • 可以查看一下帮助手册么?

帮助手册

图片描述

  • 看起来这是一个复数
  • 包括两部分
    • 实部 real part
    • 虚部 imaginary part
  • 虚部就是想象出来的部分
  • 数字是否也想要 keep real

虚部

图片描述

  • 虚部就是 $-1$ 开方得到的

定义

  • help()
    • COMPLEX

图片描述

复数

  • 复数是由实部和虚部构成的

图片描述

  • 那纯粹的整型变量也会有实部虚部么?

整型数字

图片描述

  • 整型数字其实也可以得到整型变量和浮点型变量
  • 为什么会这样呢?
  • 我们来查一下 int 的 dir()

dir(int)

图片描述

  • 整型数字甚至有分子分母
  • 这应该如何理解?

分子分母

图片描述

  • 整型数字本质上是分子为本体
  • 分母为 1 的数字

图片描述

复数的模

图片描述

  • abs 绝对值
  • 一个数在数轴上所对应点到原点的距离
  • 实部和虚部平方的和再开方

共轭复数

图片描述

  • 共轭复数
  • conjugate
  • 来自于拉丁语 coniugatus
    • con 在一起
    • iugare 连接

图片描述

  • 实数的共轭就是他本身

复数的发现

  • 16 世纪意大利米兰学者卡尔达诺(Jerome Cardan,1501 ~ 1576)在 1545 年发表的《重要的艺术》一书中,公布了一元三次方程的一般解法,被后人称之为“卡当公式”。

  • 他是第一个把负数的平方根写到公式中的数学家,并且在讨论是否可能把 10 分成两部分,使它们的乘积等于 40 时,他把答案写成:

  • $(5+\sqrt{-15})×(5-\sqrt{-15})$

  • 给出“虚数”这一名称的是法国数学家笛卡尔(1596 ~ 1650),他在《几何学》(1637 年发表)中使“虚的数”与“实的数”相对应。从此,虚数才流传开来。他把数字和几何联系起来

  • 德国数学家莱布尼茨(1646 ~ 1716)在 1702 年说:“虚数是神灵遁迹的精微而奇异的隐避所,它大概是存在和虚妄两界中的两栖物”

  • 真理性的东西一定可以经得住时间和空间的考验,最终占有自己的一席之地

  • 欧拉在 1748 年发现了有名的关系式,并且是他在《微分公式》(1777 年)一文中第一次用 i 来表示-1 的平方根,首创了用符号 i 作为虚数的单位

  • “虚数”实际上不是想象出来的,而它是确实存在的

复数的运算

图片描述

  • 复数可以做加减乘除运算
  • 那他可以做整除和取余么?

整除和取余

  • 复数不能做整除运算
    • 因为无法对复数地板取整
  • 复数也不能做取余运算
    • 复数不能整除取模数

图片描述

  • 复数运算也涉及隐式转化的问题

隐式转化

图片描述

  • 复数和实数运算的时候
  • 默认是把实数转化为复数
  • 然后进行运算的

数的总结

图片描述

python 中数值类型总结

类型名称 描述 是否可变类型 举例
整型 int 123
浮点型 float 1.2 、1e5
分数类型 Fraction fractions.Fraction(1, 10)
精确十进制 Decimal decimal.Decimal("0.1")
复数 complex (1,-1j)

数的类型

图片描述

  • 数字的类型都属于 literals
  • 包括
    • 整型
    • 浮点型
    • 虚数类型
  • 复数类型其实是
    • 实数加上一个虚数
  • 复数 $-1$ 其实质上是
    • 整型数字 $1$
    • 进行一元运算符 $unary —$
    • 运算结果是 $-1$
  • 什么是一元运算符呢?

一元运算符 unary

  • 只有一个操作数的运算符
  • 就是一元运算符

图片描述

  • 加号正号就不改变
  • 负号就变成相反数
  • 波浪线就是按位求反

图片描述

  • 按位求反怎么理解

按位求反

图片描述

  • 把正 $1$ 这个数字
    • 按位求反
    • 也就是所有二进制位
      • 0变1
      • 1变0
    • 得到 $0xFE$
    • 如下图所示

图片描述

  • 这个数字按照有符号字节型整数来理解
  • 他的数值就是 $-2$
  • 最后我们来总结一下

实现源码

https://github.com/python/cpython/blob/23c9febdc6620c2ec5b6119d9016a8c92c25f350/Modules/mathmodule.c

图片描述

  • 实数用的是mathmodule.c
  • 复数用的是cmathmodule.c
    • cmath是关于复数(complex)的math

总结

  • $-1$ 开方我们得到了虚数
  • 虚数和实数构成复数
    • 复数可以进行加减乘除运算
  • 数字分成三种
    • 整型
    • 浮点型
    • 虚数型
  • 都可以进行一元运算 unary
    • $+$
    • $-$
    • ~
  • 可以连运算带赋值一起做么?🤔
  • 下次再说 👋