python求矩阵的最大特征值及对应的特征向量_python求矩阵最大特征值-程序员宅基地

技术标签: python  矩阵  特征值分解  线性代数  

直接看下面的代码就行啦!

import numpy as np

#输入矩阵
A = np.array([[1, 1/2, 4, 3, 3],
              [2, 1, 7, 5, 5],
              [1/4, 1/7, 1, 1/2, 1/3],
              [1/3, 1/5, 2, 1, 1],
              [1/3, 1/5, 3, 1, 1]])

#求解特征值即特征向量
lamda = np.linalg.eig(A)

for i in range(len(lamda[0])):
    print('特征值:{0}\n对应的特征向量:\n{1}\n'.format(lamda[0][i], np.transpose([lamda[1][:,i]])))

index = np.argmax(lamda[0])
lamda_max = np.real(lamda[0][index])
vector = lamda[1][:,index]

vector_final = np.transpose((np.real(vector)))

print('最大特征值为:{0}\n对应的特征向量:\n{1}'.format(lamda_max, vector_final))

输出如下:

特征值:(5.072084408570216+0j)
对应的特征向量:
[[-0.46582183+0.j]
 [-0.84086331+0.j]
 [-0.09509743+0.j]
 [-0.17329948+0.j]
 [-0.19204866+0.j]]

特征值:(-0.03070462349371196+0.6008274290268424j)
对应的特征向量:
[[ 0.44186009+0.27105866j]
 [ 0.77734237+0.j        ]
 [-0.02000217-0.15570733j]
 [-0.02610008+0.07828144j]
 [-0.28288299+0.12469508j]]

特征值:(-0.03070462349371196-0.6008274290268424j)
对应的特征向量:
[[ 0.44186009-0.27105866j]
 [ 0.77734237-0.j        ]
 [-0.02000217+0.15570733j]
 [-0.02610008-0.07828144j]
 [-0.28288299-0.12469508j]]

特征值:(-0.005337580791396011+0.05475205961539484j)
对应的特征向量:
[[-0.36716196+0.2414553j ]
 [ 0.85752776+0.j        ]
 [-0.0190312 +0.00635723j]
 [-0.07374757-0.21459801j]
 [ 0.07483506+0.11850604j]]

特征值:(-0.005337580791396011-0.05475205961539484j)
对应的特征向量:
[[-0.36716196-0.2414553j ]
 [ 0.85752776-0.j        ]
 [-0.0190312 -0.00635723j]
 [-0.07374757+0.21459801j]
 [ 0.07483506-0.11850604j]]

最大特征值为:5.072084408570216
对应的特征向量:
[-0.46582183 -0.84086331 -0.09509743 -0.17329948 -0.19204866]

进程已结束,退出代码为 0

给个一键三连呗,至少点个赞再走吧!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_26751379/article/details/118661648

智能推荐

将本地镜像上传到Docker hub_本地docker镜像上传dockhub-程序员宅基地

文章浏览阅读2.4k次。一、准备工作1.注册账号注册一个Docker Hub账号,管理自己的镜像(共享镜像)https://hub.docker.com2.新建一个仓库Docker hub上面创建仓库,仓库用于存放镜像,就像我们在Github Create Create Repository比如:仓库名称叫navigation-server,所以路径就是liyinchi/navigation-server了。注意:仓库名称只能小写3.查看容器IDdocker ps上传到Doc._本地docker镜像上传dockhub

elementUI动态切换校验规则且切换校验规则时清空上一次校验产生的警告文字_ele 切换后清除校验-程序员宅基地

文章浏览阅读1.5k次,点赞2次,收藏8次。**this.$refs.transformerForm.clearValidate(['transformerLVSRateCapacity'])**清除切换校验时上一次校验留下的警告文字,<el-form :model="transfomerInfo" :rules="rules" ref="transformerForm" label-width="170px"> <el-form-item label="低压侧容量(MVA):" prop="transformer..._ele 切换后清除校验

vulhub靶场struts2漏洞复现_vulhub靶场有哪些漏洞-程序员宅基地

文章浏览阅读2k次。0x01、S2-001远程代码执行漏洞原理该漏洞因为用户提交表单数据并且验证失败时,后端会将用户之前提交的参数值使用 OGNL 表达式 %{value} 进行解析,然后重新填充到对应的表单数据中。例如注册或登录页面,提交失败后端一般会默认返回之前提交的数据,由于后端使用 %{value} 对提交的数据执行了一次 OGNL 表达式解析,所以可以直接构造 Payload 进行命令执行影响版本Struts 2.0.0 - Struts 2.0.8poc执行任意命令%{#a=(new java.lan_vulhub靶场有哪些漏洞

linux之找出两个文件里面相同的数据_limux中a-b相同内容-程序员宅基地

文章浏览阅读1.7w次,点赞5次,收藏33次。1 问题找出2个文件里面重复的数据(这个问题是csdn排名第一的大神stpeace的专栏在微信里面和我的交流,我当时一脸懵逼)文件a.txt文件内容如下cat a.txt123123234345456文件b.txt文件内容如下cat b.txt234345456789789两个文件重复的数据如下234345456..._limux中a-b相同内容

matlab绘制不同线性的直方图,Matlab绘制柱状图采用不同图案填充-程序员宅基地

文章浏览阅读545次。说明:在调用applyhatch前,按照自己的需要对Matlab自动绘制的图片编辑。function applyhatch(h,patterns,colorlist)%APPLYHATCH Apply hatched patterns to a figure% APPLYHATCH(H,PATTERNS) creates a new figure from the figure Hby% repl..._matlab不等间隔直方图

centos mysql navicat_centos7 安装 navicat for mysql-阿里云开发者社区-程序员宅基地

文章浏览阅读373次。本人使用的版本是navicat_for_mysql_10.0.11_cn_linux,使用官网上下的11版本的无法打开注意解压目录不要放在中文目录下,会出现各种问题,本人就出现打开之后添加列名添加不上。(1).先安装wine环境yum install wine如果yum源中没有,可以使用下面这个源wgethttp://download.fedoraproject.org/pub/epel/6/i..._centos7安装navicate for mysql

随便推点

使用Laravel值得关注的扩展包_laracasts/testdummy-程序员宅基地

文章浏览阅读1w次。下面会介绍一些laravel中一些好用的扩展包,当然,其中有的也是php的扩展包,合理的使用能够大大的提示开发效率。_laracasts/testdummy

列表类型python_Python列表类型-程序员宅基地

文章浏览阅读234次。列表的开始和结束要加上中括号 采用逗号将列表的项与项分开 使用“=”号操作符将整个列表赋予一个变量列表中可以放置任意的数据类型,如果是字符串,需要打上引号2.列表索引:从0开始;可以倒着来数,最后一个的序号是-1。取列表中的值:print aList[1]、print aList[-2]、print aList[-1][0]片段切片:[a:b],表示从a开始(包括a)到b之..._python列表类型怎么写

oracle临时表教程,在oracle存储过程中创建临时表-程序员宅基地

文章浏览阅读2.2k次。在oracle的存储过程中,不能直接使用DDL语句,比如create、alter、drop、truncate等。那如果我们想在存储过程中建立一张临时表就只能使用动态sql语句了:create or replace procedure pro asstr_sql varchar2(100);begin-- 创建临时表str_sql := 'create global temporary table ..._oracle 存储过程 临时表

centos 7 ffmpeg 批量 转码 mp4 kvm ts shell 懒人系列 -7_kvmts-程序员宅基地

文章浏览阅读476次。特别注意:本人很懒就搞了些懒人办法1.建立个文本。shell.sh,复制下面代码保存。打开终端(建议直接root用戶运行)。2.sudo chmod +x sheell.sh3.sudo ./shell.sh 文件名.avi (扩展名可以任意) 使用方法4.这段代码 支持H264 h265 支持60针视频5.shell.sh 文件要和视频文件同一目录6.转换完的文件被保存在finish文件夹中#!/bin/bash##i-合并视频##-change(转换)##i用法i(_kvmts

SpringBoot整合Redis与Cache实现分页缓存-程序员宅基地

文章浏览阅读4.2k次。SpringBoot整合Redis与Cache实现分页缓存_分页缓存

【FAQ】tomcat启动jdk版本不一致-程序员宅基地

文章浏览阅读192次。一、tomcat7.exe与startup.bat的区别:1、这两个都可以启动tomcat,但tomcat7.exe必须安装了服务才能启动,而startup.bat不需要2、另外一个区别是它们启动所使用的JAVA环境配置是分开的tomcat7.exe启动所使用JAVA配置与服务启动所使用的JAVA配置一样,都是通过tomcat7w.exe的JAVA面板配置(可以在创建服务前修..._龙蜥操作系统tomcat启动的java和java版本不一样

推荐文章

热门文章

相关标签