LAPACK的C/C++接口及代码实例
今天介绍一个矩阵处理工具LAPACK,她有C\C++接口,可在windows下移植。本人最近正在学习,发现还是还不错滴~
本博文分为三部分,第一部分介绍LAPACK的安装,这里只介绍最简单的部署;第二部分介绍LAPACK的运用,举出例子并附上代码,第三部分介绍代码。
1、最简单的安装
从http://icl.cs.utk.edu/lapack-for-windows/lapack/LAPACKE_examples.zip下载,里面已经配置好库和坏境,并且有两个例子。假如你想自己编程序,可以修改之前的源文件。当然这种方法有很大的缺陷,就是她的库有限,以后会介绍怎么使用VS和Cmake编译LAPACK,这里只让大伙有个简单的认识。
2、代码实例
我们举个最小二乘的例子。A*x=B,由A和B求解出x,一般是超定方程组的解。
求解思路:A'Ax=A'B
>> X=(A'A)'A'B。'表示转置。
结果展示:
3、代码介绍
这两行生成两个二维数组,一个是5行3列,另一个是5行2列,并赋值。
相比c/c++,LAPACK的数据类型申请要加前缀或者后缀,比如lapack_int。
这里主要对后面程序所要用到的数据进行类型定义,然后赋值,类似opencv中定义的数
据类型。
这行代码是本程序的精髓,LAPACK接口函数处理lapack_int类型的数据,设置处理后的
值返回给info。
LAPACK函数名定义的一般形式:LAPACKE_xbase 或者LAPACKE_xbase_work,x表示类型,
s和d分别表示单精度和双精度的实数,c和z分别表示单精度和双精度的复数;base表示
函数,函数的原型在lapack.h中有详细的介绍,大家可以根据自己所要完成的功能寻找
相关的函数。大概有这些函数:
LAPACK_ROW_MAJOR,行优先,即对矩阵的处理的过程中,是按行处理的。
'N',没有进行转置。
m,n,nrhs,m表示两个矩阵的行,n表示x的行,nrhs表示x的列。A*x=B。
*a,lda,分别表示矩阵A的指针和列数。
*b,ldb,分别表示矩阵B的指针和列数。
打印输出,并返回info。
好了大家现在对LAPACK有了初步的认识,假如你想深入学习,请浏览一下网页:
http://netlib.org/lapack/lapacke.html
http://icl.cs.utk.edu/lapack-for-windows/lapack/
LAPACK的C/C++接口及代码实例的更多相关文章
- ThinkPHP实现支付宝接口功能 代码实例
我们这里用的是即时到帐的接口,具体实现的步骤如下: [title]一.下载支付宝接口包[/title]下载地址:https://doc.open.alipay.com/doc2/detail?tree ...
- 基于php的银行卡实名认证接口调用代码实例
银行卡二元素检测,检测输入的姓名.银行卡号是否一致. 银行卡实名认证接口:https://www.juhe.cn/docs/api/id/188 <?php // +-------------- ...
- php接口数据加密、解密、验证签名代码实例
php接口数据加密.解密.验证签名 代码非常easy,这里就不多废话了,直接奉上代码 <?php /** * 数据加密.解密.验证签名 * @edit http://www.lai18.com ...
- web service上传参数代码实例
web service上传参数代码实例 这次做的项目用到webservice比较多,最开始在网上看的参考dome,发现都不行,后来发现安卓4.0以后有很大的不同,在做传参时,有些东西需要注意: 第一, ...
- C语言与MATLAB接口 编程与实例 李传军编着
罗列一下以前自己学习C语言与MATLAB混编的笔记,顺便复习一遍. <C语言与MATLAB接口 编程与实例 李传军编着>(未看完,目前看到P106) 目录P4-8 ************ ...
- 关于JAVA中事件分发和监听机制实现的代码实例-绝对原创实用
http://blog.csdn.net/5iasp/article/details/37054171 文章标题:关于JAVA中事件分发和监听机制实现的代码实例 文章地址: http://blog.c ...
- Python接口测试自动化说明及代码实例:含get、post、put、delete等方法
一.接口说明文档 环境准备: 安装火狐 安装插件: httprequester https://addons.mozilla.org/en-US/firefox/addon/httprequester ...
- 转载 基于JAVA每月运势api调用代码实例
代码描述:基于JAVA每月运势api调用代码实例 接口地址:http://www.juhe.cn/docs/api/id/58 原文链接:http://outofmemory.cn/code-snip ...
- 【python3+request】python3+requests接口自动化测试框架实例详解教程
转自:https://my.oschina.net/u/3041656/blog/820023 [python3+request]python3+requests接口自动化测试框架实例详解教程 前段时 ...
随机推荐
- html表单验证
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Map,HashMap,TreeMap
一.HashMap,TreeMap差别 1.两种常规Map性能 HashMap:适用于在Map中插入.删除和定位元素. Treemap:适用于按自然顺序或自定义顺序遍历键(key). 2.总结 Has ...
- 数组的遍历你都会用了,那Promise版本的呢
这里指的遍历方法包括:map.reduce.reduceRight.forEach.filter.some.every因为最近要进行了一些数据汇总,node版本已经是8.11.1了,所以直接写了个as ...
- Exchange Server 2010升级到Exchange Server 2016
Hello各位小伙伴们,失踪人口回归啦~~~这次和大家分享Exchange Server 2010升级到Exchange Server 2016的方法.正式开始前先啰嗦几句,为什么我要写这篇文章呢?一 ...
- ACM Tempter of the Bone
小狗在古老的迷宫(maze)中发现了一个骨头,这使它非常着迷.然而,当他把它捡起来的时候,迷宫开始摇晃,狗狗可以感觉到地面下沉(sinking).他意识到这块骨头是一个陷阱(trap),他拼命地想摆脱 ...
- Java对象的内存布局以及对象所需内存大小计算详解
1. 内存布局 在HotSpot虚拟机中,对象的内存布局可以分为三部分:对象头(Header). 实例数据(Instance Data)和对齐填充(Padding). 1) 对象头(Header): ...
- 安卓高级4 第三方库SlidingMenu的使用
源码位于github上(本人fork地址):点击进入地址 效果图: 使用方法:下载源码后 解压其中的文件夹library 到任意地方 修改library中gragle 其方法参考另一个博客(建议先修改 ...
- proc文件系统探索 之 根目录下的文件[二]
包括对proc根目录下stat,uptime,swaps三个文件的解析. /proc/stat 文件包含了系统启动后的一些系统统计信息. Cat /proc/stat: cpu 77781 1077 ...
- RxJava(十)switchIfEmpty操作符实现Android检查本地缓存逻辑判断
欢迎转载,转载请标明出处: http://blog.csdn.net/johnny901114/article/details/52585912 本文出自:[余志强的博客] switchIfEmpty ...
- Erlang Port 小心换行
Erlang Port 小心换行(金庆的专栏)Erlang的Port接口使用cin, cout与外部Port进程通信.一般open_port()用binary模式打开. Port = open_ ...