SVD分解的c++代码(Eigen 库)
使用Eigen 库:进行svd分解,形如 A = U * S * VT。
JacobiSVD<MatrixXd> svd(J, ComputeThinU | ComputeThinV);
U = svd.matrixU();
V = svd.matrixV();
A = svd.singularValues();


Eigen::JacobiSVD< _Matrix_Type_ > svd(a ,Eigen::ComputeThinU | Eigen::ComputeThinV);

// EigenTest.cpp : 定义控制台应用程序的入口点。
// #include "stdafx.h"
#include <iostream>
#include <Eigen/SVD>
#include <Eigen/Dense> //using Eigen::MatrixXf;
using namespace Eigen;
using namespace Eigen::internal;
using namespace Eigen::Architecture; int main()
{
Matrix3f A;
A(,)=,A(,)=,A(,)=;
A(,)=,A(,)=,A(,)=;
A(,)=,A(,)=,A(,)=;
JacobiSVD<Eigen::MatrixXf> svd(A, ComputeThinU | ComputeThinV );
Matrix3f V = svd.matrixV(), U = svd.matrixU();
Matrix3f S = U.inverse() * A * V.transpose().inverse(); // S = U^-1 * A * VT * -1
std::cout<<"A :\n"<<A<<std::endl;
std::cout<<"U :\n"<<U<<std::endl;
std::cout<<"S :\n"<<S<<std::endl;
std::cout<<"V :\n"<<V<<std::endl;
std::cout<<"U * S * VT :\n"<<U * S * V.transpose()<<std::endl;
system("pause");
return ;
}
SVD分解 Eigen库 opencv库 - CSDN博客 https://blog.csdn.net/ouyangying123/article/details/68491414
SVD分解的c++代码(Eigen 库)的更多相关文章
- 求伪逆矩阵c++代码(Eigen库)
非方阵的矩阵的逆矩阵 pseudoInverse 伪逆矩阵是逆矩阵的广义形式,广义逆矩阵 matlab中是pinv(A)-->inv(A). #include "stdafx.h&q ...
- 机器学习Python实现 SVD 分解
这篇文章主要是结合机器学习实战将推荐算法和SVD进行对应的结合 不论什么一个矩阵都能够分解为SVD的形式 事实上SVD意义就是利用特征空间的转换进行数据的映射,后面将专门介绍SVD的基础概念.先给出p ...
- Eigen库矩阵运算使用方法
Eigen库矩阵运算使用方法 Eigen这个类库,存的东西好多的,来看一下主要的几个头文件吧: ——Core 有关矩阵和数组的类,有基本的线性代数(包含 三角形 和 自伴乘积 相关),还有相应对数组的 ...
- Eigen库笔记整理(一)
首先熟悉Eigen库的用途,自行百度. 引入头文件: // Eigen 部分 #include <Eigen/Core> // 稠密矩阵的代数运算(逆,特征值等) #include < ...
- 机器学习中的矩阵方法04:SVD 分解
前面我们讲了 QR 分解有一些优良的特性,但是 QR 分解仅仅是对矩阵的行进行操作(左乘一个酉矩阵),可以得到列空间.这一小节的 SVD 分解则是将行与列同等看待,既左乘酉矩阵,又右乘酉矩阵,可以得出 ...
- 如何轻松干掉svd(矩阵奇异值分解),用代码说话
svd我认识我机器学习里面最扯淡的玩意了.尼玛.老实说,好多机器学习的书老是在扯svd有多高端,然后看了netflix电影推荐大赛,哇塞,冠军队就是用svd+做的.然后狠狠的下载了所有他们的论文,硬是 ...
- C++ 矩阵计算库 :Eigen库
Eigen http://eigen.tuxfamily.org/index.php?title=Main_Page 下载http://bitbucket.org/eigen/eigen/get/3. ...
- SVD分解的理解[转载]
http://www.bfcat.com/index.php/2012/03/svd-tutorial/ SVD分解(奇异值分解),本应是本科生就掌握的方法,然而却经常被忽视.实际上,SVD分解不但很 ...
- 关于Eigen库在Visual Studio2013中传参对齐报错问题
Error as follow: 具体问题及解决办法描述如下: (引自http://www.fx114.net/qa-278-97757.aspx) /************************ ...
随机推荐
- 一起來玩鳥 Starling Framework(5)Multi-Touch
這篇來談談Starling的Multi-Touch.前一篇也提到,Multi-Touch一樣是監聽TouchEvent.TOUCH,然後由TouchEvent的e.getTouches()取回多點的資 ...
- Calendar抽象类返回自己和Integer.TYPE和int.class
public class Calend { public static void main(String[] args) { Calendar cal=Calendar.getInstance();/ ...
- kubelet分析
kubelet是k8s中节点上运行的管理工具,它负责接受api-server发送的调度请求,在Node上创建管理pod,并且向api-server同步节点的状态.这篇文章主要讲讲kubelet组件如何 ...
- PHP5实现foreach语言结构遍历一个类的实例
PHP5实现foreach语言结构遍历一个类 创建一个类集成Iterator接口,并实现Iterator里面的方法即可,下面见实例代码实现 <?php class Test implements ...
- 小米6安装google play
http://bbs.xiaomi.cn/t-13579116 http://m.mk52.cn/jiaocheng/3288.html 步骤: 1.下载需要的文件并解压 (http://techta ...
- 几个opengl立方体绘制案例
VC6 下载 http://blog.csdn.net/bcbobo21cn/article/details/44200205 opengl环境配置 http://blog.csdn.net/bcbo ...
- Centos6.2上做nginx和tomcat的集成及负载均衡(已实践)
Centos6.2上做nginx和tomcat的集成及负载均衡 ---------------------------------------------------------Jdk-------- ...
- Spring 注解Autowired自动注入bean异常解决
错误: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'xx' is defined ...
- 流水线策略 相关算法 Tomasulo算法与记分牌调度算法
设计流水线策略时,可参考 Tomasulo算法与记分牌调度算法 (这两个是霍老师推荐的算法,自己未了解过)
- c#枚举的描述和值
using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; usin ...