Python: 矩阵与线性代数运算
需要执行矩阵和线性代数运算,比如矩阵乘法、寻找行列式、求解线性方程组等等。
矩阵类似于3.9 小节中数组对象,但是遵循线性代数的计算规则。下面的一个例子展示了矩阵的一些基本特性:
- >>> import numpy as np
- >>> m = np.matrix([[1,-2,3],[0,4,5],[7,8,-9]])
- >>> m
- matrix([[ 1, -2, 3],
- [ 0, 4, 5],
- [ 7, 8, -9]])
- >>> # Return transpose
- >>> m.T
- matrix([[ 1, 0, 7],
- [-2, 4, 8],
- [ 3, 5, -9]])
- >>> # Return inverse
- >>> m.I
- matrix([[ 0.33043478, -0.02608696, 0.09565217],
- [-0.15217391, 0.13043478, 0.02173913],
- [ 0.12173913, 0.09565217, -0.0173913 ]])
- >>> # Create a vector and multiply
- >>> v = np.matrix([[2],[3],[4]])
- >>> v
- matrix([[2],
- [3],
- [4]])
- >>> m * v
- matrix([[ 8],
- [32],
- [ 2]])
- >>>
可以在numpy中找到更多的操作函数
- >>> import numpy.linalg
- >>> # Determinant
- >>> numpy.linalg.det(m)
- -229.99999999999983
- >>> # Eigenvalues
- >>> numpy.linalg.eigvals(m)
- array([-13.11474312, 2.75956154, 6.35518158])
- >>> # Solve for x in mx = v
- >>> x = numpy.linalg.solve(m, v)
- >>> x
- matrix([[ 0.96521739],
- [ 0.17391304],
- [ 0.46086957]])
- >>> m * x
- matrix([[ 2.],
- [ 3.],
- [ 4.]])
- >>> v
matrix([[2],
[3],
[4]])
很显然线性代数是个非常大的主题,已经超出了本书能讨论的范围。但是,如果需要操作数组和向量的话, NumPy 是一个不错的入口点。可以访问NumPy 官网http://www.numpy.org 获取更多信息。
Python: 矩阵与线性代数运算的更多相关文章
- Python 矩阵(线性代数)
Python 矩阵(线性代数) 这里有一份新手友好的线性代数笔记,是和深度学习花书配套,还被Ian Goodfellow老师翻了牌. 笔记来自巴黎高等师范学院的博士生Hadrien Jean,是针对& ...
- python 基于numpy的线性代数运算
import numpy as np A = [[1,2],[2,1]] np.linalg.inv(A) #计算矩阵A的逆矩阵. #显示结果 [[-0.33333333 0.66666667] [ ...
- Numpy使用大全(python矩阵相关运算大全)-Python数据分析基础2
//2019.07.10python数据分析基础——numpy(数据结构基础) import numpy as np: 1.python数据分析主要的功能实现模块包含以下六个方面:(1)numpy—— ...
- Python 矩阵与矩阵以及矩阵与向量的乘法
import numpy as np numpy模块的array相乘时,有两种方式:一是矩阵形式,二是挨个相乘. 需要用矩阵形式相乘时,则要用np.dot()函数. #矩阵与矩阵相乘a = np.ar ...
- 矩阵快速幂/矩阵加速线性数列 By cellur925
讲快速幂的时候就提到矩阵快速幂了啊,知道是个好东西,但是因为当时太蒟(现在依然)没听懂.现在把它补上. 一.矩阵快速幂 首先我们来说说矩阵.在计算机中,矩阵通常都是用二维数组来存的.矩阵加减法比较简单 ...
- python 矩阵
python的numpy库提供矩阵运算的功能,因此我们在需要矩阵运算的时候,需要导入numpy的包. 1.numpy的导入和使用 from numpy import *;#导入numpy的库函数 im ...
- python实现感知机线性分类模型
前言 感知器是分类的线性分类模型,其中输入为实例的特征向量,输出为实例的类别,取+1或-1的值作为正类或负类.感知器对应于输入空间中对输入特征进行分类的超平面,属于判别模型. 通过梯度下降使误分类的损 ...
- Python 矩阵相关
Python 中矩阵运算主要使用numpy库.NumPy的主要对象是同种元素的多维数组.这是一个所有的元素都是一种类型.通过一个正整数索引的元素表格(通常是元素是数字).因此对于随机查找来说,比pyt ...
- Numpy入门 - 线性代数运算
本节矩阵线性代数有很多内容,这里重点演示计算矩阵的行列式.求逆矩阵和矩阵的乘法. 一.计算矩阵行列式[det] import numpy as np from numpy.linalg import ...
随机推荐
- linux下用gcc如何生成预处理、汇编等文件
[gcc -E test.c -o test.i------>预处理文件生成.i 文件.] 1.c语言程序生成过程 C语言程序的生成过程可以简单的分为:编辑.预处理.编译.汇编.链接五个阶断. ...
- js里面函数的内部属性
1.arguments用來存放传输参数的集合,可以被调用多次,每次数組都不一样,增强了函数的强壮性 实例: function calc() { var sum = 0; /*参数为一个时候*/ if ...
- JavaScript基础细讲
JavaScript基础细讲 JavaScript语言的前身叫作Livescript.自从Sun公司推出著名的Java语言之后,Netscape公司引进了Sun公司有关Java的程序概念,将自己原 ...
- Go基础---->go的基础学习(二)
这里记录的是go中函数的一些基础知识.道听途说终是浅,身临其境方知深. go的基础知识 一.go中函数的基础使用 package main import ( "fmt" " ...
- JavaWeb温习之防止表单重复提交
表单重复提交主要有以下三种情况: 1. 在网络延迟的情况下让用户有时间点击多次submit按钮导致表单重复提交 2. 表单提交后用户点击[刷新]按钮导致表单重复提交 3. 用户提交表单后,点击浏览器的 ...
- OC开发_代码片段——代码编写自定义的tableViewCell
一.介绍 之前已经实现过通过简单的XIB文件来自定义我们的tableViewCell,包括每一步的步骤和代码:http://www.cnblogs.com/daomul/p/4355999.html ...
- 微信小程序 --- 设置app.js/page.js参数的方法
设置 app.js 文件: //app.js App({ globalData: { is_login:false, userInfo:{} } }) 设置gloabalData的方法: // 定义a ...
- js数组的基本用法及数组根据下标(数值或字符)移除元素
1.创建数组 var array = new Array(); var array = new Array(size);//指定数组的长度 var array = new Array(item1,it ...
- c# 公共方法
MyMeans using System; using System.Collections.Generic; using System.Text; using System.Windows.Form ...
- MySQL怎样存储IP地址 IP转数字 互转
MySQL怎样存储IP地址 - cn三少 - 博客园 https://www.cnblogs.com/cnsanshao/p/3326648.html