ubuntu lapack安装与使用

https://blog.csdn.net/zouyu1746430162/article/details/53374693

https://blog.csdn.net/mlnotes/article/details/9676269

https://blog.csdn.net/yuanxing14/article/details/41744461

https://blog.csdn.net/chishuideyu/article/details/78351063

1、安装gfortran

sudo apt-get install gfortran

2、下载LAPSCK,http://www.netlib.org/lapack/ 现在发布到3.5.0版本

3、解压

      tar -xvf  .taz 

4、进入解压后文件夹后,复制make.inc.example为make.inc

      cp make.inc.example make.inc

5、编辑Makefile 文件内容,把

lib: lapacklib tmglib
#lib: blaslib variants lapacklib tmglib
改为:
#lib: lapacklib tmglib
lib: blaslib variants lapacklib tmglib

6

然后,编译 
如果这里遇到权限问题 permission denied,就在命令前面加sudo

sudo make -j7

在这里编译的时候,我遇到一个问题

1NEP: Testing Nonsymmetric Eigenvalue Problem routines 2./EIG/xeigtstz < nep.in > znep.out 2>&1 3Makefile:463: recipe for target 'znep.out' failed make[1]: *** [znep.out] Error 139 make[1]: Leaving directory '/home/xfbupt/project/other/lapack-3.7.1/TESTING' Makefile:42: recipe for target 'lapack_testing' failed make: *** [lapack_testing] Error 2

这应该是测试错误,编译其实基本已经完成了 
这时只需要执行下面的语句,修改一下栈的大小就可以编译成功了。

1ulimit -s 1000007 cd lapacke # 进入lapacke 文件夹,这个文件夹包含lapack的C语言接口文件sudo make -j7 # 编译lapackecp include/*.h /usr/local/include #将lapacke的头文件复制到系统头文件目录cd .. #返回到 lapack-3.4.2 目录cp *.a /usr/local/lib # 将生成的所有库文件复制到系统库目录8 测试 2 3#include <stdio.h> 4#include <lapacke.h> 5 6int main (int argc, const char * argv[]) 7{ 8 double a[5*3] = {1,2,3,4,5,1,3,5,2,4,1,4,2,5,3}; 9 double b[5*2] = {-10,12,14,16,18,-3,14,12,16,16}; 10 lapack_int info,m,n,lda,ldb,nrhs; 11 int i,j; 12 13 m = 5; 14 n = 3; 15 nrhs = 2; 16 lda = 5; 17 ldb = 5; 18 19 info = LAPACKE_dgels(LAPACK_COL_MAJOR,'N',m,n,nrhs,a,lda,b,ldb); 20 21 for(i=0;i<n;i++) 22 { 23 for(j=0;j<nrhs;j++) 24 { 25 printf("%lf ",b[i+ldb*j]); 26 } 27 printf("\n"); 28 } 29 return(info); 30}

将上诉代码保存为test.c,编译时,别忘了使用gfortran,此外,还需要连接用到的库,编译上面的代码,应使用如下命令:

gfortran test.c -llapacke -llapack -lrefblas
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Java获得今日零时零分零秒的时间(Date型)

publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS