Python之numpy教程(六):线性代数、随机数
来源:互联网 发布:mate8新机如何连接网络 编辑:程序博客网 时间:2024/06/07 03:18
1.用dot函数计算矩阵乘积
x = np.array([[1.,2.,3.],[4.,5.,6.]])y = np.array([[6.,23.],[-1,7],[8,9]])
x输出:
array([[ 1., 2., 3.], [ 4., 5., 6.]])
y输出:
array([[ 6., 23.], [ -1., 7.], [ 8., 9.]])
x.dot(y) # 相当于np.dot(x,y)输出:
array([[ 28., 64.], [ 67., 181.]])
2.
np.ones(3)输出:
array([ 1., 1., 1.])
np.dot(x,np.ones(3))输出:
array([ 6., 15.])
3.计算逆矩阵:inv函数
from numpy.linalg import inv, qrX = np.random.randn(5,5)mat = X.T.dot(X)inv(mat)输出:
array([[ 3.09810926e+00, 9.66906262e-02, -6.71590697e-01, 1.76863564e+00, 6.95340665e-01], [ 9.66906262e-02, 1.82492276e-01, -2.12923224e-01, 3.39846096e-01, -1.55992532e-03], [ -6.71590697e-01, -2.12923224e-01, 6.62563230e-01, -9.28381212e-01, -1.94807430e-01], [ 1.76863564e+00, 3.39846096e-01, -9.28381212e-01, 2.07619786e+00, 3.63450776e-01], [ 6.95340665e-01, -1.55992532e-03, -1.94807430e-01, 3.63450776e-01, 2.98244346e-01]])
mat.dot(inv(mat))输出:
array([[ 1.00000000e+00, -9.54097912e-18, 0.00000000e+00, 0.00000000e+00, -1.11022302e-16], [ -4.44089210e-16, 1.00000000e+00, 1.11022302e-16, 0.00000000e+00, 0.00000000e+00], [ -2.22044605e-16, -7.02563008e-17, 1.00000000e+00, 1.11022302e-16, 0.00000000e+00], [ 1.11022302e-16, -2.37006595e-16, 2.22044605e-16, 1.00000000e+00, -5.55111512e-17], [ -8.88178420e-16, -1.11022302e-16, -4.44089210e-16, -4.44089210e-16, 1.00000000e+00]])
4.qr函数计算OR分解
q, r = qr(mat)r输出:
array([[ -2.72698131, -0.85635373, 3.8710866 , 3.06751167, 7.55827106], [ 0. , -11.90081274, -4.41399286, 0.86802486, -4.83999815], [ 0. , 0. , -3.80739854, -2.01002972, 1.07068051], [ 0. , 0. , 0. , -0.79327916, 2.42858942], [ 0. , 0. , 0. , 0. , 1.16051992]])
5.常用numpy.linalg函数汇总:
6.用normal函数生产随机正态分布样本:
sample = np.random.normal(size=(4,4))sample输出:
array([[-1.47203302, -1.6101196 , 0.24138146, 1.22912807], [-0.15997584, -0.32986161, -1.06285386, 0.89258052], [-1.97772238, 0.17555981, 0.14792538, -2.54519949], [-0.31237017, 0.58656156, -0.01663986, 1.49902958]])
7.numpy随机函数汇总:
0 0
- Python之numpy教程(六):线性代数、随机数
- Python---numpy(随机数)
- Python-Numpy随机数
- Numpy学习笔记之线性代数
- Python之numpy教程(一):基础概念
- Python之numpy教程(二):运算、索引、切片
- Python之numpy教程(三):转置、乘积、通用函数
- Python之numpy教程(四):数据处理、绘图、数据统计分析
- numpy教程:随机数模块numpy.random
- numpy教程:随机数模块numpy.random
- numpy教程:随机数模块numpy.random
- Python.Numpy学习零碎笔记之随机数生成
- Python:用Numpy解决线性代数的问题
- Python Numpy 线性代数操作总结(随时更新)
- NumPy教程之(一)
- NumPy教程之(二)
- NumPy教程之(三)
- NumPy教程之(四)
- HTTP常见状态码介绍
- LeetCode162. Find Peak Element
- 在static方法中为什么不能使用this引用
- 【mysql】关于切分查询
- 虚拟机中CentOS系统设置静态ip
- Python之numpy教程(六):线性代数、随机数
- IOS集成支付宝遇到的问题总结
- hive中 join与where
- Linux命令之目录操作命令
- Android 开发实践 网络通信 HttpUrlConnection 和 OkHttp
- Oracle 导出脚本
- 往Android的Application对象里存储数据的陷阱
- WS_CLIPCHILDREN和WS_CLIPSIBLINGS易理解的解说
- 查看mysql数据库版本方法总结