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接口自动化测试框架实例详解教程 前段时 ...
随机推荐
- 如何查看cisco 生成树状态
如何查看cisco 生成树状态 Role(角色): 1.Desg(指定端口) 2.Root(根端口) 3.Altn(替换端口) Sts(状态): 1.FWD(转发) 2.BLK( ...
- Access restriction: The type VerticalTextSpinner is not accessible due to restriction on required library........
查了下竟然是编译器报错,orz了. Access restriction: 访问限制 on required library: 在依赖库(第三方包) 那就简单了,取消限制就好, eclipse的Win ...
- javascript requestAnimationFarme
今天看到一篇很好的文章推荐一下:原文地址:http://www.zhangxinxu.com/wordpress/?p=3695 CSS3动画那么强,requestAnimationFrame还有毛线 ...
- 搭建 RabbitMQ Server 高可用集群
阅读目录: 准备工作 搭建 RabbitMQ Server 单机版 RabbitMQ Server 高可用集群相关概念 搭建 RabbitMQ Server 高可用集群 搭建 HAProxy 负载均衡 ...
- org.apache.maven.archiver.MavenArchiver.getManifest
eclipse导入新的maven项目时,pom.xml第一行报错: org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.mav ...
- 13.QT-QMainWindow组件使用
QMainWindow介绍 主窗口是与用户进行长时间交互的顶层窗口,比如记事本 主窗口通常是应用程序启动后显示的第一个窗口 QMainWindow是Qt中主窗口的基类,继承于QWidget,如下图所示 ...
- String字符串的操作
字符串的常用操作 # Author:nadech name = "my name is nadech" print(name.count("a")) print ...
- win 10 和 CentOS 7 双系统安装
工具及材料 1.一台PC 2.一个U盘,8G以上 3.需要的文件:CentOS-7-x86_64-DVD-1511.iso 4.需要的软件:UltraI ...
- 【SSH系列】Hibernate映射 -- 多对多关联映射
映射原理 在数据库学习阶段,我们知道,如果实体和实体之间的关系是多对多,那么我们就抽出来第三张表,第一张表和第二张表的主键作为第三表的联合主键,结合我们的hibernate,多对多关联,无论 ...
- Hive的HQL语句及数据倾斜解决方案
[版权申明:本文系作者原创,转载请注明出处] 文章出处:http://blog.csdn.net/sdksdk0/article/details/51675005 作者: 朱培 ID ...