python矩阵的基本运算及各种操作
作者:木懿尓 发布时间:2023-01-12 11:37:27
标签:python,矩阵,运算
一、Python 矩阵基本运算
引入 numpy 库
import numpy as np
1. python矩阵操作
1)使用 mat 函数创建一个 2X3矩阵
a = np.mat([[1, 2, 3], [4, 5, 6]])
2)使用 shape 可以获取矩阵的大小
a.shape
3)进行行列转换
a.T
4)使用二维数组代替矩阵来进行矩阵运算
b = np.array([[1, 2, 3], [4, 5, 6]])
5) 加减法
a + b
a - b
二、python矩阵乘法
1)使用二维数组创建两个矩阵A和B
A = np.array([[1, 2, 3], [4, 5, 6]])
B = A.T
2)一个矩阵的数乘,其实就是矩阵的每一个元素乘以该数
2 * A
3)dot 函数用于矩阵乘法,对于二维数组,它计算的是矩阵乘积,对于一维数组,它计算的是内积
np.dot(A, B)
np.dot( B, A)
4)再创建一个二维数组
C = np.array([[1, 2], [1, 3]])
5)验证矩阵乘法的结合性:( A B ) C = A ( B C ) (AB)C = A(BC)(AB)C=A(BC)
np.dot(np.dot(A, B), C)
np.dot(A, np.dot(B, C))
6)使用 eye 创建一个单位矩阵
三、python矩阵转置
1)A的转置
A.T
四、python求方阵的迹
1)A的迹
五、python求逆矩阵/伴随矩阵
逆矩阵的定义:
设A是数域上的一个n阶方阵,若在相同数域上存在另一个n阶矩阵B,使得: AB=BA=E。 则我们称B是A的逆矩阵,而A则被称为可逆矩阵。当矩阵A的行列式|A|不等于0时才存在可逆矩阵。
1)创建一个方阵
A = np.array([[1, -2, 1], [0, 2, -1], [1, 1, -2]])
2)使用 linalg.det求得方阵的行列式
A_abs = np.linalg.det(A)
3) 使用 linalg.inv 求得方阵A的逆矩阵
B = np.linalg.inv(A)
4)利用公式求伴随矩阵:
A_bansui = B * A_abs
六、python方阵的行列式计算方法
1)创建两个方阵
E = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
F = np.array([[1, 2], [1, 3]])
2)使用 linalg.det 方法求得方阵E和方阵F的行列式
np.linalg.det(E)
np.linalg.det(F)
七、python解多元一次方程
x+2y+z=72
x−y+3z=73
x+y+2z=18
1) 将未知数的系数写下来,排列成一个矩阵a
a = [[1, 2, 1], [2, -1, 3], [3, 1, 2]]
a = np.array(a)
2)常数项构成一个一维数组(向量)
b = [7, 7, 18]
b = np.array(b)
3)使用 linalg.solve 方法解方程,参数a指的是系数矩阵,参数b指的是常数项矩阵
x = np.linalg.solve(a, b)
4)使用点乘的方法可以验证一下,系数乘以未知数可以得到常数项
np.dot(a, x)
附:矩阵的高级操作
M = Matrix([[1,3,4],[5,0,3],[3,5,7]])
print(M)
print("计算矩阵的行列式")
print(M.det())
print("化简矩阵,返回两个元素,第一个是矩阵,第二个是元组")
print(M.rref())
Matrix([[1, 3, 4], [5, 0, 3], [3, 5, 7]])
计算矩阵的行列式
7
化简矩阵
(Matrix([
[1, 0, 0],
[0, 1, 0],
[0, 0, 1]]), [0, 1, 2])
来源:https://blog.csdn.net/m0_47017197/article/details/126299993
0
投稿
猜你喜欢
- 前提:list以及array是python中经常会用到的数据类型,当需要对list以及array进行文件的读写操作的时候,由于write函数
- 一:crypto库安装pycrypto,pycryptodome是crypto第三方库,pycrypto已经停止更新三年了,所以不建议安装这
- 滚动图片可以说是做网站经常会遇到的,特别是做企业网站,最常用的像产品展示,图片展示等,滚动的好处是吸引眼球,让人一下就注意到。之前本站发了一
- 简介最近在整理我们项目代码的时候,发现有很多活动的代码在结构和提供的功能上都非常相似。为了方便今后的开发,我花了一点时间编写了一个生成代码框
- PHP mysqli_set_charset()函数设置默认客户端字符集:<?php// 假定数据库用户名:root,密码:12345
- 终端输出彩色文字开发工具:Mac,Goland,Mac自带shell。这是基于Mac的测试结果,根据读者留言,在Windows上不生效,标识
- 本文实例讲述了PHP读取txt文本文件并分页显示的方法。分享给大家供大家参考。具体实现方法如下:<?php &n
- 本文不涉及分类器、训练识别器等算法原理,仅包含对其应用(未来我也会写自己对机器学习算法原理的一些观点和了解)首先我们需要知道的是利用现有框架
- 在这篇文章中,将向您展示如何使用Python链接目前主流的MongoDB(V3.4.0)数据库,主要使用PyMongo(v3.4.0)和Mo
- 在pytorch中一般只对叶节点进行梯度计算,也就是下图中的d,e节点,而对非叶节点,也即是c,b节点则没有显式地去保留其中间计算过程中的梯
- 1 无参数情况配置URL及其视图如下:(r'^hello/$', hello)def hello(request): &nb
- python实现超市扫码仪计费的程序主要是使用超市扫码仪扫商品的条形码,读取商品信息,实现计费功能。主要用到的技术是串口通信,数据库的操作,
- 为了方便使用分类,我定义了一个分类表category,里面字段是id(自动编号) cat_name(分类名) pare
- 这篇文章主要介绍了IOS苹果AppStore内购付款的服务器端php验证方法(使用thinkphp)。AppStore内购在app中支付的过
- 很实用的过滤重复数据的asp代码,函数如下:<%'**************************************
- 如何用OdbcRegTool组件来创建一个数据源?OdbcRegTool是一个免费组件,在服务器上安装后,就可以来创建一个数据源:<h
- 到目前为止,我已经开发了两个HTML编辑器了,一个用在公司的CMS项目,另一个用在这个Blog(TidyEditor,暂时没有单独发布)。下
- 1 , javascript字符集:javascript采用的是Unicode字符集编码。为什么要采用这个编码呢?原因很简单,16位的Uni
- Django的信号Django的信号机制不同于Linux的信号机制,Django 中的信号用于在框架执行操作时解耦。当某些动作发生的时候,系
- 本文介绍了django反向解析URL和URL命名空间,分享给大家,具体如下:首先明确几个概念:1.在html页面上的内容特别是向用户展示的u