Python numpy之线性代数与随机漫步
作者:王小王_123
线性代数
线性代数,矩阵计算,优化与内存;比如矩阵乘法,分解,行列式等数学知识,是所有数组类库的重要组成部分。和MATLAB等其他语言相比,numpy的线性代数中有所不同的是矩阵相乘不是点积运算而是逐个元素计算,因此在numpy里面都有一个特定的函数来计算,它就是dot,
语法如下:
numpy之线性代数函数
diag | 将一个方阵的对角(或非对角)元素作为一维数组返回,或者将一个一维数转换为一个方阵,并且在非对角线上有零点 |
dot | 矩阵点乘 |
trace | 计算对角元素和 |
det | 计算矩阵行列式 |
eig | 计算方阵特征值和特征向量 |
inv | 计算方阵的逆矩阵 |
pinv | 计算矩阵的伪逆 |
qr | 计算QR分解 |
svd | 计算奇异值分解 |
solve | 求x的线性系统:Ax = b,其中A是方阵 |
lstsq | 计算Ax = b 的最小二乘解 |
伪随机数生成
numpy.random模块填补了Python内建的random模块的不足,可以高效的生成多种概率分布下的完整样本数组。比如我们使用normal来获得一个8*8的正态分布样本数组
随机数种子:
什么是随机数种子?举一个简单的例子,如果我的随机种子是100,那么计算机就会在0-100中随机产生,看下面
随机种子是1111....
seed | 向随机数生成器传递随机状态种子 |
permutation | 返回一个序列的随机排列,或者返回一个乱序的整数范围序列 |
shuffle | 随机排列一个序列 |
rand | 从均匀分布中抽取样本 |
randint | 根据给定的由低到高的范围抽取随机整数 |
randn | 从均值0方差1的正态分布中抽取样本(MATLAB型接口) |
binomial | 从二项分布中抽取样本 |
normal | 从高斯分布中抽取样本 |
beta | 从beta中抽取样本 |
chisquare | 从卡方分布中抽取样本 |
gamma | 从伽马分布中抽取样本 |
uniform | 从均匀分布抽取样本 |
上述的表格如果你看不懂,可以去看一看概率论与数理统计的知识,方便你深度理解每一个概念和用法
随即漫步
示例
上面模拟的是一个简单的随机漫步,就比如说我们的掷硬币,每次的结果1或者-1,然后计算积累值
到此这篇关于Python numpy之线性代数与随机漫步的文章就介绍到这了,更多相关Python numpy线性代数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!