numpy.linalg.eig
1、转置对于二维数组有用,对一位数组无效
2、理解特征值和特征向量的对应关系
a=np.array([[1 ,2, 3],[4, 5, 6],[7, 8, 9]]) a
Out[27]:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]) w,v = LA.eig(a) w
Out[29]: array([ 1.61168440e+01, -1.11684397e+00, -1.30367773e-15]) v
Out[30]:
array([[-0.23197069, -0.78583024, 0.40824829],
[-0.52532209, -0.08675134, -0.81649658],
[-0.8186735 , 0.61232756, 0.40824829]]) a
Out[31]:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]) #dot(a[:,:], v[:,i]) = w[i] * v[:,i] w[0]
Out[33]: 16.116843969807043 v[:,0]
Out[34]: array([-0.23197069, -0.52532209, -0.8186735 ]) w[0]*v[:,0]
Out[35]: array([ -3.73863537, -8.46653421, -13.19443305]) np.dot(a[:,:],v[:,0])
Out[37]: array([ -3.73863537, -8.46653421, -13.19443305]) a
Out[38]:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]) v[:,0]
Out[39]: array([-0.23197069, -0.52532209, -0.8186735 ]) 1*-0.23197069+2*-0.52532209+3*-0.8186735
Out[40]: -3.73863537 4*-0.23197069+5*-0.52532209+6*-0.8186735
Out[41]: -8.46653421 v[:,0]
Out[42]: array([-0.23197069, -0.52532209, -0.8186735 ]) v[:,0].T
Out[43]: array([-0.23197069, -0.52532209, -0.8186735 ]) w[0]
Out[44]: 16.116843969807043 w[0]*v[:,0]
Out[45]: array([ -3.73863537, -8.46653421, -13.19443305]) a
Out[46]:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]) a.T
Out[47]:
array([[1, 4, 7],
[2, 5, 8],
[3, 6, 9]])
c = v[0] c
Out[49]: array([-0.23197069, -0.78583024, 0.40824829]) c.T
Out[50]: array([-0.23197069, -0.78583024, 0.40824829])
a
Out[55]:
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]) a*v[:,0]
Out[56]:
array([[-0.23197069, -1.05064419, -2.4560205 ],
[-0.92788275, -2.62661047, -4.912041 ],
[-1.62379481, -4.20257675, -7.36806149]]) v[:,0]
Out[57]: array([-0.23197069, -0.52532209, -0.8186735 ])
y = a*v[:,0] y
Out[59]:
array([[-0.23197069, -1.05064419, -2.4560205 ],
[-0.92788275, -2.62661047, -4.912041 ],
[-1.62379481, -4.20257675, -7.36806149]]) np.sum(y[0,:])
Out[63]: -3.7386353719172973 np.sum(y[1,:])
Out[64]: -8.4665342116284013 np.sum(y[2,:])
Out[65]: -13.194433051339505
numpy.linalg.eig的更多相关文章
- numpy 辨异(三)—— hstack/column_stack,linalg.eig/linalg.eigh
1. np.hstack np.column_stack >>> np.hstack([np.array([1, 2, 3]), np.array([4, 5, 6])]) arra ...
- numpy linalg模块
# 线性代数# numpy.linalg模块包含线性代数的函数.使用这个模块,可以计算逆矩阵.求特征值.解线性方程组以及求解行列式等. import numpy as np # 1. 计算逆矩阵# 创 ...
- python中numpy计算数组的行列式numpy.linalg.det()
numpy.linalg.det numpy.linalg.det(a)[source] 计算任何一个数组a的行列式,但是这里要求数组的最后两个维度必须是方阵. 参数: a : (..., M, M) ...
- numpy.linalg.norm(求范数)
1.linalg=linear(线性)+algebra(代数),norm则表示范数. 2.函数参数 x_norm=np.linalg.norm(x, ord=None, axis=None, keep ...
- numpy.linalg.svd函数
转载自:python之SVD函数介绍 函数:np.linalg.svd(a,full_matrices=1,compute_uv=1) 参数: a是一个形如\((M,N)\)的矩阵 full_matr ...
- numpy linalg
线性代数 np.mat("0 1 0;1 0 0;0 0 1") np.linalg.inv(A)
- Python数据分析--Numpy常用函数介绍(9)-- 与线性代数有关的模块linalg
numpy.linalg 模块包含线性代数的函数.使用这个模块,可以计算逆矩阵.求特征值.解线性方程组以及求解行列式等.一.计算逆矩阵 线性代数中,矩阵A与其逆矩阵A ^(-1)相乘后会得到一个单位矩 ...
- [Python学习] python 科学计算库NumPy—矩阵运算
NumPy库的核心是矩阵及其运算. 使用array()函数可以将python的array_like数据转变成数组形式,使用matrix()函数转变成矩阵形式. 基于习惯,在实际使用中较常用array而 ...
- Numpy应用100问
对于从事机器学习的人,python+numpy+scipy+matplotlib是重要的基础:它们基本与matlab相同,而其中最重要的当属numpy:因此,这里列出100个关于numpy函数的问题, ...
随机推荐
- js 对象深复制,创建对象和继承
js 对象深复制,创建对象和继承.主要参考高级编程第三版,总结网上部分资料和自己的代码测试心得.每走一小步,就做一个小结. 1.对象/数组深复制 一般的=号传递的都是对象/数组的引用,如在控制台输入 ...
- 12-1 mysql的增删改减
增加数据:insert into 表名 values('','');insert into 表名(列名) values('');注意:1.如果添加 得数据是字符串,需要加'',其他类型不要加. 2.添 ...
- Java常量字符串String理解
Java常量字符串String理解 以前关于String的理解仅限于三点:1.String 是final类,不可继承2.String 类比较字符串相等时时不能用“ == ”,只能用 "eq ...
- 自动机理论、语言和计算导论 by John E. Hopcroft
计算理论是计算机应用的基础,理论和应用缺一而不可. ---- 目录 ---- C01 自动机 C02 有穷自动机 C03 正则表达式与正则语言 C04 正则语言的性质 C05 上下文无关文法及上下文无 ...
- Day17_集合第三天
1.HashSet类(掌握) 1.哈希值概念 哈希值:哈希值就是调用对象的hashCode()方法后返回的一个int型数字 哈希桶:简单点理解就是存储相同哈希值对象的一个容器 1. ...
- 使用STL离散化
把原来的数组a复制一份拷贝b 用sort先把数组a排序 用unique消除a里面重复的元素 对于b中的每一个元素,用lower_bound找到它在a中的位置,也就是离散化之后的编号. 没了. #inc ...
- MFC 线程使用
CWinThread* m_pthread; //多线程对象 struct param//参数传递结构体 { int id; TASK t[20]; }; CNB400Dlg::CNB400Dlg( ...
- command -ubuntu
WC -c, --bytes print the byte counts -m, --chars print the character counts -l, --lines print the ne ...
- UIButton的使用
使用UIButton时需要注意的是: 1.UIButton的创建有专门的类方法(buttonWithType:,UILabel没有): 2.UIButton常用的属性包括:frame.titile.t ...
- 使用dojoConfig配置dojo(翻译)
http://dojotoolkit.org/documentation/tutorials/1.10/dojo_config/index.html dojoConfig对象(原来是djConfig对 ...