参考

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实例的更多相关文章

  1. 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 ...

  2. 奇异值分解(SVD)和简单图像压缩

    SVD(Singular Value Decomposition,奇异值分解) 算法优缺点: 优点:简化数据,去除噪声,提高算法结果 缺点:数据的转换可能难于理解 适用数据类型:数值型数据 算法思想: ...

  3. 《学习opencv》笔记——矩阵和图像操作——cvInRange,cvInRangeS,cvInvert and cvMahalonobis

    矩阵和图像的操作 (1)cvInRange函数 其结构 void cvInRange(//提取图像中在阈值中间的部分 const CvArr* src,//目标图像 const CvArr* lowe ...

  4. 最近学习工作流 推荐一个activiti 的教程文档

    全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...

  5. 奇异值分解(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 ...

  6. 协同过滤和简单SVD优化

    协同过滤(collaborative filtering) 推荐系统: 百度百科的定义是:它是利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程主 ...

  7. paper 128:奇异值分解(SVD) --- 线性变换几何意义[转]

    PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD的几何意义.能在有限的篇幅把这个问题讲解的如此清晰,实属不易.原文举了一个简单的图像处理问题,简单形象,真 ...

  8. SVD分解的理解[转载]

    http://www.bfcat.com/index.php/2012/03/svd-tutorial/ SVD分解(奇异值分解),本应是本科生就掌握的方法,然而却经常被忽视.实际上,SVD分解不但很 ...

  9. 转载:奇异值分解(SVD) --- 线性变换几何意义(下)

    本文转载自他人: PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD的几何意义.能在有限的篇幅把这个问题讲解的如此清晰,实属不易.原文举了一个简单的图像处理 ...

随机推荐

  1. 通过ip查找能应机器的MAC

    例如:10.100.0.61 这些都是基于linux系统: 首先:ping 一下这个ip 然后arp 10.100.0.61就可以找出主机的MAC地址

  2. Cloud Resource

    Cloud Public Cloud Aliyun AWS Azure Cloud Stack SDN指南 DNS:Band Private Cloud DC/OS OpenStack Hybrid ...

  3. 采用alluxio提升MR job和Spark job性能的注意点

    1. 介绍 2. 实验说明 2.1 实验环境 2.2 实验方法 2.3 实验负载 3. MapReduce on alluxio 3.1 读取10G文件(1G split) 3.2 读取20G文件(1 ...

  4. 【驱动】Flash设备驱动基础·NOR·NAND

    Flash存储器 ——>Flash存储器是近几年来发展最快的存储设备,通常也称作闪存.Flash属于EEPROM(电可擦除可编程只读存储器),是一类存取速度很高的存储器. ——>它既有RO ...

  5. 【驱动】linux驱动程序开发及环境搭建

    1.mystery引入 1)设备驱动程序对外提供如下的功能:        1)设备初始化:对硬件设备进行初始化操作        2)数据交换:数据交换包括由内核层向硬件层传送数据.从硬件层读取数据 ...

  6. 多媒体文件格式之AVI

    [时间:2016-07] [状态:Open] AVI(Audio Video Interleaved的缩写)是一种RIFF(Resource Interchange File Format的缩写)文件 ...

  7. Android.mk简介

    http://www.cnblogs.com/hnrainll/archive/2012/12/18/2822711.html Android.mk文件是GNU Makefile的一小部分,它用来对A ...

  8. eclipse jetty 请求的操作无法在使用用户映射区域打开的文件上执行

    使用jetty  debug代码启动  在eclipse中进行运行调试,碰到无法编辑保存webapp下的文件 提示: 请求的操作无法在使用用户映射区域打开的文件上执行 解决方法: 从 jetty 7 ...

  9. 通过Python的JIRA库操作JIRA

    [本文出自天外归云的博客园] 前提 需要安装jira库: pip install jira 编写脚本 例如,我想统计一下某一jira的备注里是否有如下信息,没有则给予提示: [产品需求文档地址]:ht ...

  10. MVC3中输出Html标签的方法

    想要输出html,可以三种方式:@Html.Raw(a)@MvcHtmlString.Create(a)@{WriteLiteral(a);} @(new HtmlString( "< ...