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
时间: 2024-10-29 10:45:58

numpy.linalg.eig的相关文章

转:numpy.linalg.eig() 计算矩阵特征向量

https://blog.csdn.net/chixujohnny/article/details/51063617 在PCA中有遇到,在这里记录一下 计算矩阵的特征值个特征向量,下面给出几个示例代码: 在使用前需要单独import一下 >>> from numpy import linalg as LA >>> w, v = LA.eig(np.diag((1, 2, 3)))>>> w; varray([ 1., 2., 3.])array([[

numpy linalg模块

# 线性代数# numpy.linalg模块包含线性代数的函数.使用这个模块,可以计算逆矩阵.求特征值.解线性方程组以及求解行列式等. import numpy as np # 1. 计算逆矩阵# 创建矩阵A = np.mat("0 1 2;1 0 3;4 -3 8")print (A)#[[ 0 1 2]# [ 1 0 3]# [ 4 -3 8]] # 使用inv函数计算逆矩阵inv = np.linalg.inv(A)print (inv)#[[-4.5 7. -1.5]# [-2

《Python数据分析常用手册》一、NumPy和Pandas篇

一.常用链接: 1.Python官网:https://www.python.org/ 2.各种库的whl离线安装包:http://www.lfd.uci.edu/~gohlke/pythonlibs/#scikit-learn 3.数据分析常用库的离线安装包(pip+wheels)(百度云):http://pan.baidu.com/s/1dEMXbfN 密码:bbs2 二.常用库 1.NumPy NumPy是高性能科学计算和数据分析的基础包.部分功能如下: ndarray, 具有矢量算术运算和

Python知识(6)--numpy做矩阵运算

矩阵运算 论numpy中matrix 和 array的区别:http://blog.csdn.net/vincentlipan/article/details/20717163 matrix 和 array的差别: Numpy matrices必须是2维的,但是 numpy arrays (ndarrays) 可以是多维的(1D,2D,3D····ND). Matrix是Array的一个小的分支,包含于Array.所以matrix 拥有array的所有特性. 1.基本运算 import nump

Python numpy学习笔记(一)

下边代码是关于numpy的一些基本用法,包括数组和矩阵操作等... 1 import numpy as np 2 print "<== print version ==>" 3 print np.version.version 4 print "<== 1-dimensional array ==>" 5 print np.array([1, 2, 3, 4, 5]) 6 print "<== 2-dimentional ar

数值编程工具:NumPy的详细教程

翻译原文来自:http://wiki.scipy.org/Tentative_NumPy_Tutorial 目录 1.准备工作 2.基础篇 一个例子 创建数组 打印数组 基本运算 通用函数(ufunc) 索引,切片和迭代 3.形状操作 更改数组的形状 组合(stack)不同的数组 将一个数组分割(split)成几个小数组 4.复制和视图 完全不拷贝 视图(view)和浅复制 5.深复制 函数和方法(method)总览 6.进阶 广播法则(rule) 7.花哨的索引和索引技巧 通过数组索引 通过布

NumPy的详细教程

NumPy的详细教程 转载 http://blog.csdn.net/chen_shiqiang/article/details/51868115 先决条件 在阅读这个教程之前,你多少需要知道点python.如果你想从新回忆下,请看看 Python Tutorial . 如果你想要运行教程中的示例,你至少需要在你的电脑上安装了以下一些软件: Python NumPy 这些是可能对你有帮助的: ipython 是一个净强化的交互Python Shell,对探索NumPy的特性非常方便. matpl

Numpy库进阶教程(二)

第一篇在这里:Numpy库进阶教程(一)求解线性方程组 求解特征值和特征向量 关于特征值和特征向量的介绍,可以点击这里 首先创建一个矩阵 In [1]: A=mat("3 -2;1 0") In [2]: A Out[2]: matrix([[ 3, -2], [ 1, 0]]) 在numpy.linalg模块中,eigvals函数可以计算矩阵的特征值,而eig函数可以返回一个包含特征值和对应特征向量的元组. 使用eigvals函数求解特征值 In [3]: linalg.eigval

python numpy 基础教程

Numpy简介 1.Numpy是什么 非常easy.Numpy是Python的一个科学计算的库.提供了矩阵运算的功能,其一般与Scipy.matplotlib一起使用.事实上,list已经提供了类似于矩阵的表示形式,只是numpy为我们提供了很多其它的函数. 假设接触过matlab.scilab.那么numpy非常好入手. 在下面的代码演示样例中.总是先导入了numpy:(通用做法import numpu as np 简单输入) >>> import numpy as np >&g