线性代数作业:Numpy中SVD分解函数学习与应用.pptx

线性代数作业:Numpy中SVD分解函数学习与应用.pptx

SVD分解的证明

+SVD的应用

作业讲解王琳

打卡作业:1、学习Numpy中SVD分解的函数2、自己再列举2个SVD分解的作用

题目一problemone1.学习Numpy中SVD分解的函数.函数:np.linalg.svd(pute_uv=1)参数:a是一个形如(M,N)矩阵full_matrices的取值是为0或者1,默认值为1,这时u的大小为(M,M),v的大小为(N,N)?.否则u的大小为(M,K),v的大小为(K,N)?,K=min(M,N).compute_uv的取值是为0或者1,默认值为1,表示计算u,s,v.为0的时候只计算s.返回值:总共有三个返回值u,s,vu大小为(M,M),s大小为(M,N),v大小为(N,N)A=u*s*v有几点需要注意的地方:1.python中的svd分解得到的VT就是V的转置,这一点与matlab中不一样,matlab中svd后得到的是V,如果要还原的话还需要将V转置一次,而Python中不需要。2.Python中svd后得到的sigma是一个行向量,Python中为了节省空间只保留了A的奇异值,所以我们需要将它还原为奇异值矩阵。同时需要注意的是,比如一个5*5大小的矩阵的奇异值只有两个,但是他的奇异值矩阵应该是5*5的,所以后面的我们需要手动补零,并不能直接使用diag将sigma对角化。

题目一Problem

文档评论(0)

1亿VIP精品文档

相关文档