SPSS+AMOS数据分析案例教程-关于中介模
SPSS视频教程内容目录和跳转链接
Meta分析辅导+代找数据
SPSS+AMOS数据分析案例教程-关于中介模
SPSS视频教程内容目录和跳转链接
R语言快速入门视频教程
Python智联招聘数据分析
LCA潜在类别分析和Mplus应用
Amos结构方程模型数据分析入门教程
倒U关系回归分析中介效应和调节效应分析SPSS视频教程
统计咨询(图文问答)

python 线性代数:[10]求方阵的特征值特征向量

在B站@mlln-cn, 我就能回答你的问题奥!

文章目录

求方阵(矩阵)的特征值和特征向量用的是python中的numpy.linagl.eig方法,它需要一个二维数组作为参数,输出一个一位数组(元素为特征值)和一个二维数组(特征向量组),我们还是在例子中学习一哈:

  • 先引入numpy模块
  • 创建一个对角矩阵,关于diag的用法可以看我前几篇文章
  • 求矩阵x的特征值和特征向量,特征值保存在a中,特征向量保存在b中
  • 使用循环的方法,我们来验证一下特征值和特征向量,验证的方法是特征值和特征向量的定义法:

  • 设A为n阶矩阵,若存在常数λ及非零的n维向量x,使得

  • Ax=λx,

  • 则称λ是矩阵A的特征值,x是A属于特征值λ的特征向量。

  • 这是我今天犯的错误:
  • 这是今天用到的所有代码:

  • import numpy

  • x=numpy.diag((1,2,3))

  • x

  • array([[1, 0, 0],

  •    [0, 2, 0],
    
  •    [0, 0, 3]])
    
  • a,b=numpy.linalg.eig(x)

  • a

  • array([ 1., 2., 3.])

  • b

  • array([[ 1., 0., 0.],

  •    [ 0.,  1.,  0.],
    
  •    [ 0.,  0.,  1.]])
    
  • for i in range(3):

  • if numpy.dot(x,b[:][i])==a[i]*b[:][i]:

  • print ‘正确’

  • else:print ‘错误‘

  • SyntaxError: EOL while scanning string literal

  • for i in range(3):

  • if numpy.dot(x,b[:][i])==a[i]*b[:][i]:

  • print ‘正确’

  • else:print ‘错误’

  • Traceback (most recent call last):

  • File “<pyshell#38>”, line 2, in

  • if numpy.dot(x,b[:][i])==a[i]*b[:][i]:
    
  • ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

  • for i in range(3):

  • if (numpy.dot(x,b[:][i])==a[i]*b[:][i]).all():

  • print ‘正确’

  • else:print ‘错误’

  • 正确

  • 正确

  • 正确

转载请注明来自DataScience.

邮箱: 675495787@qq.com

统计咨询

统计咨询请加入我的星球,有问必回

加入星球向我提问(必回),下载资料,数据,软件等

赞助

持续创造有价值的内容, 我需要你的帮助