Python Numpy 线性代数操作总结(随时更新)
2017-11-14 00:45
459 查看
Python Numpy 线性代数操作总结(随时更新)
本博客主要是总结一些自己在学习AI时遇到的一些问题,本着从实践出发,非教科书式的陈列,解决一些网上暂无可用的问题,也希望能和大家一同交流学习。1.矩阵的主对角线
如果时二维矩阵,则返回该矩阵的主对角线。如果传入的是一维数据,返回以该数组为主对角线的对角矩阵。
diag(v, k=0) # v为矩阵类型,k为偏移量
当为二维或多维数据时,其实现等价于
diagonal(a, offset=0, axis1=0, axis2=1) # a为矩阵类型,offset为偏移量,axis1指定坐标轴,axis2确定2维子对角线
2.矩阵的副(次)对角线
v = fliplr(v) # 首先将矩阵沿Y轴做翻转 diagonal(v, k) # 求翻转后的矩阵主对角线
3.判断向量某元素范围内连续
res = zeros(n) # 定义一个0向量(不做判断范围赋0) res[v_slice[0]: v_slice[1]] = [1, 2, 4] # 连续范围内赋值(依实际情况赋值) v_dot = dot(v, res.T) # 如果向量积为赋值和的倍数,说明在该向量某元素在该范围内连续
4.矩阵主对角线赋值
先取其对焦向量,算出与赋值的差,构造对角矩阵,并于原矩阵进行运算
v + diag(-diag(v) + value) # 构造对焦矩阵与原矩阵做运算
5.矩阵副(次)对角线赋值
先沿Y轴翻转,赋值后再次翻转
v = fliplr(v) # 将矩阵沿Y轴翻转 fliplr(v + diag(-diag(v) + value)) # 赋值(同4)后再次翻转
相关文章推荐
- numpy线性代数基础 - Python和MATLAB矩阵处理的不同
- Python 数组操作技巧总结[持续更新]
- 【Python】记录四:numpy矩阵操作(持续更新)
- [转]numpy线性代数基础 - Python和MATLAB矩阵处理的不同
- Python - Numpy 常见操作总结
- 00103 python字符串操作总结【更新中】
- Python文件与文件夹常见基本操作总结
- Python:列表操作总结
- 更新Python以及随后的nose,easy_install,pip,numpy,scipy和theano
- python字符串操作总结
- Python Numpy的一些操作可以极大的加快你的code运行速度
- 线性代数基本公式结论简要总结(1)
- Python中遇到的错误(随时更新)
- python用post方法,向solr进行删除,更新,插入操作
- Python numpy的简单操作(一)
- Python资源(随时更新)
- Python Split函数的用法总结(持续更新中。。。)
- 【Python】numpy学习总结1
- mycat1.X版本跟2.0版本内测总结(随时更新)
- Python常用时间操作总结【取得当前时间、时间函数、应用等】