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函数的问题, ...
随机推荐
- iOS类实现里面怎么用属性
属性(properity)是一个很好用的东西,简单而直接.Objective-C还创建了一个点语法来帮助大家使用.根据以前C++的习惯,类外访问实例变量时,最好通过getter/setter方法,也就 ...
- 关于 Unix 用户权限及进程权限及 Saved set-user-id
最近在看APUE,看到3.14节,fcntl的时候#include <fcntl.h>int fcntl(int fd, int cmd, .../* int arg */);出错返回-1 ...
- C#利用SMTP服务器发送邮件
使用.net(C#)发送邮件学习手册(带成功案例) 1.了解发送邮件的三种方式 2.实例介绍使用client.DeliveryMethod = System.Net.Mail.SmtpDelivery ...
- LeetCode() 数字1的个数
int ones = 0; for (long m = 1; m <= n; m *= 10) { long a = n/m, b = n%m; ones += (a + 8) / 10 * m ...
- IEnumerable 和 IQueryable 区别
IQueryable继承自IEnumerable,所以对于数据遍历来说,它们没有区别. 但是IQueryable的优势是它有表达式树,所有对于IQueryable的过滤,排序等操作,都会先缓存到表达式 ...
- 11-Java 界面设计
(一)Java界面设计概述 1.Java 界面设计的用途 2.AWT 简介 (1)Abstract Windows Toolkit 是最原始的工具包. 3.Swing 简介 4.SWT 简介 5.如何 ...
- Docker 安装及命令
CentOS 安装 通过脚本安装:curl -sSL https://get.docker.com/ | sh通过yum安装:yum install docker-engine============ ...
- python之文件操作
python文件操作 举例:将一个文本文件转成十六进制形式后,保存到另一个文件中. f = open('mycert.cr', 'r') str = f.read() list = [] for ch ...
- Maven学习5-聚合与继承
一.聚合 如果我们想一次构建多个项目模块,那我们就需要对多个项目模块进行聚合 1.1.聚合配置代码 1 <modules> 2 <module>模块一</module&g ...
- ObjectID和Handle
一个dwg对应一个arx database,也就是一套9个符号表和一个有名词典. 一个CAD session中是可以加载多个database的.加载后每个对象都有一个handle和一个objectid ...