python计算特征值特征向量_使用Python求解特征值、特征向量及奇异值分解(SVD)...

这篇博客介绍了Python中如何进行矩阵的奇异值分解(SVD),解释了SVD的数学定义,展示了使用numpy库实现SVD的过程,并探讨了在计算过程中可能出现的正负符号问题及其解决方案,强调了正确使用计算软件求解SVD的重要性。
摘要由CSDN通过智能技术生成

SVD也是对矩阵进行分解,但是和特征分解不同,SVD并不要求要分解的矩阵为方阵。假设我们的矩阵A是一个m×n的矩阵,那么我们定义矩阵A的SVD为:A=UΣVT

其中U是一个m×m的矩阵,Σ是一个m×n的矩阵,除了主对角线上的元素以外全为0,主对角线上的每个元素都称为奇异值,V是一个n×n的矩阵。U和V都是酉矩阵,即满足UTU=I,VTV=I。

以下是一个SVD求解过程:

以下是我使用Python实现的SVD求解过程

# -*- coding: utf-8 -*-

"""

Created on Wed Oct 17 13:43:48 2018

@author: hanzi5

"""

import numpy as np

#import scipy as sc

# A=UΣVT

#A=np.mat([[0,1],[1,1],[1,0]])

#A=np.mat([[4,0],[3,5]])

#A=np.mat([[1,0,0,0,2],[0,0,3,0,0],[0,0,0,0,0],[0,4,0,0,0]])

A=np.mat([[4,4],[-3,3]])

#A=np.mat([[4,3],[8,6]])

ATA=A.T*A

AAT=A*(A.T)

#求解矩阵的特征值、特征向量

lambda1,vector1 = np.linalg.eig(ATA)

l

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值