开始前,请确保导入了numpy module

如果没有,可以看这里:HinanawiTenshi:PyCharm导入numpy​zhuanlan.zhihu.com

注:为了方便食用,我大多代码加了print(),直接复制运行即可看到结果^3^

开始:

首先写下这一行:

import numpy as np # 给包取别名以简化代码

建立矩阵

# 建立一个矩阵

a = np.mat([[1, 2, 3],

[4, 5, 6]])

# 也可以用二维数组

b = np.array([[1, 2, 3],

[4, 5, 6]])

# a的规模

a.shape # (2, 3)

得到矩阵行、列、元素

# 得到a的行

for i in range(2):

print(a[i])

# 得到a的列

for i in range(3):

print(a[:, i])

# 得到a的每个元素

for i in range(2):

for j in range(3):

print(a[i, j], end=' ')

print('')

小知识:

I = np.eye(3) #得到 3*3的单位矩阵

矩阵加、乘

a = np.mat([

[1, 2, 3],

[1, 2, 3],

[1, 2, 3],

])

b = np.mat([

[2, 3, 4],

[2, 3, 4],

[2, 3, 4],

])

print(a+b)

a = np.mat([[1, 2, 3],

[4, 5, 6]])

b = np.mat([

[1, 4],

[2, 5],

[3, 6]

])

c = a * b

d = b * a

print(c)

print(d)

# 也可以这样写

a = np.array([[1, 2, 3],

[4, 5, 6]])

b = np.array([

[1, 4],

[2, 5],

[3, 6]

])

print(np.dot(a, b))

矩阵转置

a = np.mat([

[1, 2, 3],

[4, 5, 6]]

)

b = np.mat([

[5, 7],

[5, 7],

[5, 7],

])

a_T = a.T

b_T = b.T

print(a_T)

print(b_T)

# check that (A×B)'= B'×A'

leftMatrix = (a * b).T

rightMatrix = b_T * a_T

print(leftMatrix)

print(rightMatrix)

矩阵的逆

a = np.mat([

[1, 2, 0],

[2, 1, 2],

[0, 2, 1],

])

print(np.linalg.inv(a))

# check

b = np.linalg.inv(a) * a

print(b)

矩阵的秩

a = np.mat([

[1, 2, 0],

[2, 1, 2],

[0, 2, 1],

])

b = np.mat([

[1, 0, 0],

[0, 1, 2],

[0, 0, 0],

])

c = np.mat([

[1, 1, 1],

[0, 0, 0],

[0, 0, 0],

])

print(np.linalg.matrix_rank(a))

print(np.linalg.matrix_rank(b))

print(np.linalg.matrix_rank(c))

矩阵的迹(对角线上元素的和)

a = np.mat([

[1, 2, 3],

[1, 2, 3],

[1, 2, 3],

])

print(np.trace(a))

计算行列式

a = np.mat([

[1, 2, 0],

[2, 1, 2],

[0, 2, 1],

])

b = np.mat([

[1, 1, 1],

[1, 1, 1],

[1, 1, 1],

])

print(np.linalg.det(a))

print(np.linalg.det(b))

伴随矩阵

a = np.mat([

[1, 2],

[3, 4],

])

a_inv = np.linalg.inv(a)

a_det = np.linalg.det(a)

a_companion = a_det * a_inv

print(a_companion)

解方程

# 方程:Ax=b

# x+y+z=4

# x-y+z=2

# 3x-4y-2z=-5

import numpy as np

# 系数矩阵

A = np.mat([

[1, 1, 1],

[1, -1, 1],

[3, -4, -2],

])

# b

b = np.array([4, 2, -5])

# 这样写也行

# b = np.mat([

# [4],

# [2],

# [-5],

# ])

# x

x = np.linalg.solve(A, b)

print(x)

求特征值、特征向量

a = np.mat([

[1, 0, -1],

[0, 2, 0],

[-1, 0, 1],

])

val, vec = np.linalg.eig(a) # 分别储存特征值,特征向量

print(val)

print(vec)

奇异值分解

A = np.mat([

[-1, 0],

[1, 1],

[0, 1],

])

U, S, V = np.linalg.svd(A)

print(U)

print(S)

print(V)

python下的橡皮线_python线性代数常用操作相关推荐

  1. python如何输出日期_Python日期常用操作

    Python日期与字符串互转 1⃣️str -> date importdatetime detester = '2017-01-01' d1 = datetime.datetime.strpt ...

  2. python下的橡皮线_python下载吴恩达deep learning编程习题

    在cousera上注册deep learning后,可下载课后习题. 1.进入编程环境后,单击左上角的file-open,进入文件管理模式 2. 点击红圈文件夹进入根目录 3. 在根目录处右上角new ...

  3. python和R对dataframe的常用操作的差异:head、tail、shape、dim、nrow、ncol、descirbe、summary、str

    python和R对dataframe的常用操作的差异:head.tail.shape.dim.nrow.ncol.descirbe.summary.str # python df.head() # R ...

  4. python通过什么连接数据库_python中常用的各种数据库操作模块和连接实例

    这篇文章主要介绍了python中常用的各种数据库操作模块和连接实例,包括sqlite3.oracle.mysql.excel,需要的朋友可以参考下 工作中,经常会有用python访问各种数据库的需求, ...

  5. python数据处理常用函数_Python中常用操作字符串的函数与方法总结

    Python中常用操作字符串的函数与方法总结 这篇文章主要介绍了Python中常用操作字符串的函数与方法总结,包括字符串的格式化输出与拼接等基础知识,需要的朋友可以参考下 例如这样一个字符串 Pyth ...

  6. pythonlist基本操作_Python list 常用操作

    Python list 常用操作 1.list 定义 >>> li = ["a", "b", "mpilgrim", &q ...

  7. Python基础教程:字符串的常用操作

    在Python中字符串的表达方式有四种 一对单引号 一对双引号 一对三个单引号 一对三个双引号 a = 'abc' b= "abc" c = '''abc''' d = " ...

  8. scipy是python下的什么_Python下科学计算包numpy和SciPy的安装

    Python下大多数工具包的安装都很简单,只需要执行 "python setup.py install"命令即可.然而,由于SciPy和numpy这两个科学计算包的依赖关系较多,安 ...

  9. linux 指定库名 登录mysql_linux下对应mysql数据库的常用操作

    ssh管理工具连接mysql数据库. 一.连接mysql数据库: 通过shh管理工具,登录linux的用户名,密码,进入ssh的命令行界面后,执行如下命令: mysql -u 数据库用户名 -p 然后 ...

最新文章

  1. 图的最短路径dijkstra算法
  2. LeetCode Linked List Random Node(蓄水池采样算法)
  3. 安装开源项目 MultiType (基于 RecyclerView)出现的各种问题 -- 自己的第一篇博客...
  4. ERP员工入登记查询(六)
  5. 发布订阅之fanout
  6. Android Studio 开发安卓软件时下载的工程项目 Sync with gradle 失败
  7. 网络基础:ACL访问控制例表
  8. ICCV2019 | 腾讯优图13篇论文入选,其中3篇被选为Oral
  9. 驳《IT开发工程师的悲哀》
  10. [USACO13DEC]牛奶调度Milk Scheduling
  11. js错误: XXX变量 is not a function
  12. php 获取当前action,ThinkPHP3.2.2获取当前Action名称
  13. 删除顽固node_modules
  14. 5. Browser 对象 - Screen 对象
  15. 您的组织策略阻止我们为您完成此操作。有关详细信息,请联系技术支持。
  16. 系统集成项目管理工程师知识点总结(错题记录)
  17. 联想拯救者Y7000,电源键一直红灯。还以为电池出问题了,其实....
  18. Beacon of BLE
  19. 【Qt界面个性化】大杀器——qss
  20. 多边形向内收缩指定距离的实现

热门文章

  1. COGS2355 【HZOI2015】 有标号的DAG计数 II
  2. 深入浅出:对MySQL主从配置的一些总结
  3. 策划必须知道的经典理论
  4. XML Parser(Tinyxml)的使用
  5. Linux查找文件内容(grep)
  6. linux c printf 打印输出null
  7. linux sed 替换、删除文件中的某个字符串
  8. sqlite database is locked 问题解决方案
  9. 使用WinDbg获取SSDT 系统服务描述表的函数服务号(索引)
  10. linux下文件夹的创建、复制、剪切、重命名、清空和删除命令