我是LAPACK和C / Fortran接口的初学者 . 我需要在Mac OS-X Lion上使用LAPACK / BLAS解决线性方程和特征值问题 . OS-X Lion提供优化的BLAS和LAPACK库(在/ usr / lib中),我链接这些库而不是从netlib下载它们 .

我的程序(下面转载)正在编译并运行正常,但它给了我错误的答案 . 我已经在Web和Stackoverflow上进行了研究,这个问题可能要处理C和Fortran如何以不同的格式存储数组(行主要与列主要) . 但是,正如您将在我的示例中看到的,我的示例的简单数组在C和fortran中应该看起来相同 . 无论如何这里去了 .

让我们说我们要解决以下线性系统:

x y = 2

x - y = 0

解是(x,y)=(1,1) . 现在我尝试使用Lapack解决这个问题,如下所示

// LAPACK test code

#include

#include

using namespace std;

extern "C" void dgetrs(char *TRANS, int *N, int *NRHS, double *A,

int *LDA, int *IPIV, double *B, int *LDB, int *INFO );

int main()

{

char trans = 'N';

int dim = 2;

int nrhs = 1;

int LDA = dim;

int LDB = dim;

int info;

vector a, b;

a.push_back(1);

a.push_back(1);

a.push_back(1);

a.push_back(-1);

b.push_back(2);

b.push_back(0);

int ipiv[3];

dgetrs(&trans, &dim, &nrhs, & *a.begin(), &LDA, ipiv, & *b.begin(), &LDB, &info);

std::cout << "solution is:";

std::cout << "[" << b[0] << ", " << b[1] << ", " << "]" << std::endl;

std::cout << "Info = " << info << std::endl;

return(0);

}

此代码编译如下:

g++ -Wall -llapack -lblas lapacktest.cpp

然而,在运行它时,我得到解决方案为(-2,2),这显然是错误的 . 我已经尝试了我的矩阵 a 的所有行/列重组的组合 . 另外,观察 a 的矩阵表示应该在行和列格式中相同 . 我想让这个简单的例子工作将让我开始使用LAPACK,任何帮助将不胜感激 .

java c 简单例子_通过一个简单的例子来理解C语言中的LAPACK调用相关推荐

  1. java smtp收信_求一个简单java编写的邮件收发程序,邮件发送程序为smtpsend,邮件接收程序为popreceive。急需,感谢。...

    展开全部 import javax.mail.*; import javax.mail.internet.*; import java.util.*; import java.io.*; public ...

  2. 编程一个最简单游戏_通过一个简单的数学游戏,清晰了解各大编程语言之间的一些区别...

    我想很多人在小时候都玩过这么一个游戏,我记得以前的摩托罗拉的手机里面就有,那就是汉诺塔! 看到图片是不是想起来玩过这个游戏呢? 汉诺塔:汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具.大梵天 ...

  3. python简单菜单_创建一个简单的python菜单

    修正和评论,它们主要是语法错误.menulist= '''1. Print the list, 2. Add a name to the list, 3. Remove a name from the ...

  4. Java制作一个盒子程序_编写一个简单的Java程序,模拟计算器的功能。

    提问:编写一个简单的Java程序,模拟计算器的功能. 网友回答: 程序参考: import java.awt.*; import java.awt.event.ActionEvent; import ...

  5. java实现编译器_实现一个简单的编译器

    简单的说 编译器 就是语言翻译器,它一般将高级语言翻译成更低级的语言,如 GCC 可将 C/C++ 语言翻译成可执行机器语言,Java 编译器可以将 Java 源代码翻译成 Java 虚拟机可以执行的 ...

  6. 协方差检验用在什么地方_通过一个简单例子,通俗讲下协方差分析

    内容来自:"小白学统计"微信公众号,感谢作者授权. 临床中经常碰到这种设计:研究对象分为两组,接受不同治疗(如治疗组和安慰组),每组分别在治疗前和治疗后测量观察指标(如血压值).目 ...

  7. Java网络编程(一)- 一个简单的服务端/客户端应用程序

    在Java中,我们使用java.net.Socket及其相关类来完成有关网络的相关功能.Socket类非常简单易用,因为Java技术隐藏了建立网络连接和通过连接发送数据的复杂过程.下面所说的内容只适用 ...

  8. Java Tread多线程(0)一个简单的多线程实例

    作者 : 卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/39341887 本文演示,一个简单的多线程实例,并简单分析一下线程. 编程多 ...

  9. vue 如何生成一个dom元素_通过一个简单的示例学习如何编写Vue组件

    大家好,本篇文章我将带着大家一起学习如何编写自定义组件(Components),通过「vue基础」新手快速入门篇(一)这篇文章的学习,我们知道了 Vue 设计的目的就是为了方便我们创建基于组件UI的项 ...

最新文章

  1. 微信小程序修改整体背景颜色
  2. 五个角度解释深度学习中 Batch Normalization为什么效果好?
  3. python 预编译命令_Python子进程调用预编译j
  4. PPT 下载 | 龙创悦动游臣隽:数据在游戏行业的落地应用实践
  5. SQLite B+树实现代码
  6. Bootstrap HTML编码规范之属性顺序
  7. sharepoint SPFolder的使用
  8. go - str - byte
  9. 又臭又长的if...else太多了,不知道如何消除?
  10. 智能计算机翻译,爱译网-智能翻译技术-人工智能翻译技术
  11. 利用project编制进度计划
  12. hls视频demo搭建简易服务器模拟运行
  13. C语言 逻辑运算符及其优先次序(一)
  14. 帆软实现分页时第一行和最后两行冻结方式
  15. 关闭极域电子教室文档
  16. k8s初始化报错[kubelet-check] Initial timeout of 40s passed.
  17. linux驱动:二、LED灯驱动编写
  18. strtok函数的使用
  19. Java面试题:数据库优化策略有哪些?
  20. AtCoder Beginner Contest 153 题解

热门文章

  1. HDU 1158 Employment Planning【DP】
  2. 转 android有用代码片段
  3. 数据结构与算法课程作业--奇数个数的数的查找方法-异或
  4. 此博客记录我的进阶之路(PHP、C、Python、Erlang)
  5. 《现代汉语常用字表》(包括常用字和次常用字共3500个)
  6. Intelij IDEA解决Dependency无法更新问题
  7. CentOS7.4安装及断网问题解决方案
  8. 关于mapper接口与mapper.xml文件在同包运行找不到问题解决
  9. informix 数据库锁表分析和解决方法
  10. 全局安装gulp 报错问题解决