lapacke svd实例
参考
intel MTK实例
https://software.intel.com/sites/products/documentation/doclib/mkl_sa/11/mkl_lapack_examples/lapacke_dgesvd_row.c.htm
http://www.netlib.org/lapack/explore-html/d0/dee/lapacke__dgesvd_8c.html
https://blog.csdn.net/helei001/article/details/18447001
查询函数
http://www.netlib.org/lapack/explore-html/de/ddd/lapacke_8h_source.html
c接口
http://www.netlib.org/lapack/lapacke.html
原理
http://www.netlib.org/lapack/lug/node53.html
#include <stdio.h>
#include <lapacke.h> void print_matrix(double *src, int m, int n)
{
for(int i = ;i < m; ++i)
{
for(int j = ; j < n;++j)
{
printf("%lf ", src[i * n + j] );
}
printf("\n" );
}
printf("\n" );
} int main (int argc, const char * argv[])
{
double a[*] = {4.0,4.0,-3.0,3.0};
int matrix_layout = LAPACK_ROW_MAJOR;
char jobz = 'N';
lapack_int info,m,n,lda,ldu,ldvt;
m = ;
n = ;
lda = ;
ldu = ;
ldvt = ;
double s[];
double u[];
double vt[];
double superb[];
// lapack_int LAPACKE_dgesvd (int matrix_layout, char jobu, char jobvt,
// lapack_int m, lapack_int n, double *a, lapack_int lda,
// double *s, double *u, lapack_int ldu, double *vt,
// lapack_int ldvt, double *superb)
info = LAPACKE_dgesvd( matrix_layout, 'A', 'A', m,
n, a, lda, s,
u, ldu, vt,
ldvt, superb); printf("%d\n",info);
print_matrix(s,,);
print_matrix(u,,);
print_matrix(vt,,);
return ; }
$ gfortran main.c -llapacke -llapack -lrefblas && ./a.out
0
5.656854 4.242641
0.000000 0.000000
-1.000000 0.000000
0.000000 1.000000
-0.707107 -0.707107
-0.707107 0.707107
lapacke svd实例的更多相关文章
- SVD实例
>> X = rand(5,7) X = 0.9797 0.1365 0.6614 0.5828 0.2259 0.2091 0.5678 0.2714 0.0118 0.2844 0.4 ...
- 奇异值分解(SVD)和简单图像压缩
SVD(Singular Value Decomposition,奇异值分解) 算法优缺点: 优点:简化数据,去除噪声,提高算法结果 缺点:数据的转换可能难于理解 适用数据类型:数值型数据 算法思想: ...
- 《学习opencv》笔记——矩阵和图像操作——cvInRange,cvInRangeS,cvInvert and cvMahalonobis
矩阵和图像的操作 (1)cvInRange函数 其结构 void cvInRange(//提取图像中在阈值中间的部分 const CvArr* src,//目标图像 const CvArr* lowe ...
- 最近学习工作流 推荐一个activiti 的教程文档
全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...
- 奇异值分解(SVD)实例,将不重要的特征值改为0,原X基本保持不变
>> s = rand(5,7) s = 0.4186 0.8381 0.5028 0.1934 0.6979 0.4966 0.6602 0.8462 0.0196 0.7095 ...
- 协同过滤和简单SVD优化
协同过滤(collaborative filtering) 推荐系统: 百度百科的定义是:它是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程主 ...
- paper 128:奇异值分解(SVD) --- 线性变换几何意义[转]
PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD的几何意义.能在有限的篇幅把这个问题讲解的如此清晰,实属不易.原文举了一个简单的图像处理问题,简单形象,真 ...
- SVD分解的理解[转载]
http://www.bfcat.com/index.php/2012/03/svd-tutorial/ SVD分解(奇异值分解),本应是本科生就掌握的方法,然而却经常被忽视.实际上,SVD分解不但很 ...
- 转载:奇异值分解(SVD) --- 线性变换几何意义(下)
本文转载自他人: PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD的几何意义.能在有限的篇幅把这个问题讲解的如此清晰,实属不易.原文举了一个简单的图像处理 ...
随机推荐
- ios中解析json对象基类
这个是对上面一篇写的一个解析json对象的基类 @interface BaseObjectFromJson : NSObject + (id) objectWithDict:(NSDictionary ...
- Xilinx官网查询各个版本软件的手册
在Xilinx官网查询各个版本软件的手册需要点击 See All Versions
- Java实现单链表翻转
单链表翻转比方有例如以下链表: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZmVuZ3NoaXp0eQ==/font/5a6L5L2T/fontsize ...
- Win8/Win10下程序经常无响应的解决办法
如果你使用Win8/Win10系统时经常出现程序无响应的问题不仿试下如下解决办法. 表现症状: 任何程序都有可能出现无响应(记事本.Visual Studio.QQ.视频播放器等) 一旦一个程序出现未 ...
- 浏览器自动转换URL编码产生乱码问题
如果网址中含有汉字,浏览器会自动将其转换成URL编码,而在接收端,它又自动转换回来. 大部分时候都没什么问题,但有时候就很讨厌.因为生成这种URL编码,编码时的字符集和解码字符集不一定相同,比如编码时 ...
- UML的通用机制(三)
Common Divisions In modeling object-oriented systems, the world often gets divided in several way ...
- Android各版本代号、版本号、API/NDK级别、发布时间及市场份额
Android各版本代号.版本号.API/NDK级别.发布时间及市场份额 代号 版本号 API/NDK级别 发布时间 - O 8.0 API level 26 2017-3-21 牛轧糖 Nougat ...
- FFmpeg(3)-AVFormatContext 结构体内容分析
AVIOContext *pb IO Context,.自定义一些读写格式或者从内存当中读时用到此成员变量. char filename[1024]; ...
- performance Counter
Logman https://technet.microsoft.com/en-us/library/bb490956.aspx http://blogs.technet.com/b/askperf/ ...
- cmd命令操作Oracle数据库
//注意cmd命令执行的密码字符不能过于复杂 不能带有特殊符号 以免执行不通过 譬如有!@#¥%……&*之类的 所以在Oracle数据库设置密码是不要太复杂 /String Database ...