C languange DGEQRF 示例,link liblapack.a

1.示例源码

#include <stdio.h>int min(int m, int n){  return m<n? m:n;}void print_matrix(double* A, int m, int n, int lda)
{for (int i = 0; i < m; i++){for (int j = 0; j < n; j++){//printf("%7.4f ", A[i + j*lda]);printf("%7.4f, ", A[i + j * lda]);}printf("; ...\n");}
}int main()
{int m = 4; // Number of rows in the matrixint n = 4; // Number of columns in the matrix//double A[] = {1.0, 4.0, 2.0, 5.0, 3.0, 6.0}; // Input matrix//double A[] = { 0.2029,  0.1386,  0.0747,  0.4070,  0.3765,  0.9046,  0.5039,  0.1746,  0.1999,  0.1830,  0.0428,  0.5782,  0.4996,  0.0351,  0.3829,  0.4178,  0.7555,  0.8836,  0.1705,  0.5099,  0.7483,  0.1933,  0.0904,  0.0653,  0.5536,  0.1145,  0.0588,  0.7315,  0.5379,  0.1212,  0.4357,  0.5835,  0.5118,  0.1740,  0.6601,  0.8425,  0.6992,  0.4402,  0.2148,  0.6044,  0.6756,  0.1013,  0.3293,  0.3598,  0.9349,  0.2801,  0.3233,  0.5857,  0.2380}; // Input matrixdouble A[] = {0.2029,  0.1386,  0.0747,  0.4070,0.3765,  0.9046,  0.5039,  0.1746,0.1999,  0.1830,  0.0428,  0.5782,0.4996,  0.0351,  0.3829,  0.4178}; // Input matrixprintf("A =\n");print_matrix(A, m, n, m);int lda = m; // Leading dimension of Adouble tau[min(m,n)]; // Array to store elementary reflectorsint info; // Output variable for error infoint lwork = -1;double* work = (double*)malloc(8);// Call the LAPACK dgeqrf function for QR decompositiondgeqrf_(&m, &n, A, &lda, tau, work, &lwork, &info);lwork = (int)work[0];printf("lwork=%d\n", lwork);work = (double*)malloc(lwork*sizeof(double)); // Workspace array// Call the LAPACK dgeqrf function again with correct workspacedgeqrf_(&m, &n, A, &lda, tau, work, &lwork, &info);if (info == 0) {printf("QR decomposition successful!\n");// Print the decomposed matrix Aprintf("Decomposed matrix A:\n");for (int i = 0; i < m; i++) {for (int j = 0; j < n; j++) {printf("%8.5f ", A[i + j*m]);}printf("\n");}} else {printf("QR decomposition failed!\n");}printf("\nTAU=\n");
for(int i=0; i<min(m,n); i++)
{printf(" %8.5f ", tau[i]);
}
printf("\n\n");return 0;
}

2. Makefile


STATIC_LIB =  ../../liblapack.a ../../librefblas.a
LD_FLAGS   =  -lgfortran  -lmEXE := dgeqrf_all: $(EXE)%: %.cgcc -g $< $(STATIC_LIB) $(LD_FLAGS) -o $@.PHONY: clean
clean:${RM} $(EXE) *.o

3. 运行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/661271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

springboot 文件上传

前言 用户访问当前系统,将自己本地计算机中文件通过浏览器上传到当前系统所在的服务器过程中称之为文件的上传 具体思路 1.文件上传 文件上传: 用户将本地计算机中文件上传到服务器过程称之为文件上传 2.文件上传开发思路: a.提供一张上传页面 提交方式必须:post enctype属…

Oracle RMAN全备脚本(正式测试可行)

Oracle RMAN全备脚本 正式环境测试可行 请参考。 run{ allocate channel c1 type disk maxpiecesize20G; allocate channel c2 type disk maxpiecesize20G; allocate channel c3 type disk maxpiecesize20G; allocate channel c4 type disk maxpiecesize20G; crosscheck arch…

创建表与删除表(六)

表的基本操作&#xff08;六&#xff09; 一、创建表 1.1 使用DDL语句创建表 CREATE TABLE 表名(列名 类型,列名 类型......); 示例&#xff1a; 创建一个 employees 表包含雇员 ID &#xff0c;雇员名字&#xff0c;雇员薪水。 create table employees(employee_id int,em…

【python基础】—函数式编程三个基本函数map()/filter()/reduce()

文章目录 前言一、map()函数二、filter()函数三、reduce()函数 前言 map()、filter()、reduce()是python内置函数&#xff0c;它们提供了一种便捷的方式来处理可迭代对象中的元素&#xff0c;这些函数在许多编程任务中非常有用&#xff0c;包括数据转换&#xff0c;筛选和累积…

​LeetCode解法汇总2670. 找出不同元素数目差数组

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣&#xff08;LeetCode&#xff09;官网 - 全球极客挚爱的技术成长平台 描述&#xff1a; 给你一个下…

从创新者到引领者:探索第四范式的AI之旅

大数据产业创新服务媒体 ——聚焦数据 改变商业 如今&#xff0c;人工智能已成为改变世界、驱动各行各业变革的核心源动力。在国内&#xff0c;有一些公司已走在前列&#xff0c;其中就包括北京第四范式智能技术股份有限公司&#xff0c;在AI这个赛道&#xff0c;他是一名创新…

Patch2QL:开源供应链漏洞挖掘和检测的新方向

背景 开源生态的上下游中&#xff0c;漏洞可能存在多种成因有渊源的其它缺陷&#xff0c;统称为“同源漏洞”&#xff0c;典型如&#xff1a; 上游代码复用缺陷。开源贡献者在实现功能相似的模块时&#xff0c;常复用已有模块代码或逻辑&#xff1b;当其中某个模块发现漏洞后…

聊聊 FTP、SFTP、FTPS

文章目录 FTP概述两种工作方式FTP、SFTP、FTPSSFTP和FTPS的区别命令详解SFTPFTP 个人简介 FTP概述 文件传送协议FTP(File Transfer Protocol)是TCP/IP协议簇中的一个成员&#xff0c;也是现在因特网上最广泛的文件传送协议。FTP协议包括两个部分&#xff0c;一个是FTP客户端&a…

java:java反编译工具--jd-gui

JD-GUI是一款反编译软件&#xff0c;JD分为JD-GUI、JD-Eclipse两种运行方式&#xff0c;JD-GUI是以单独的程序的方式运行&#xff0c;JD-Eclipse则是以一个Eclipse插件的方式运行。 官方下载地址&#xff1a; https://github.com/java-decompiler/jd-gui/releases 我这边下载…

Unity Shader 滚动进度条效果

Unity Shader 滚动进度条效果 前言项目场景布置导入图片修改场景设置修改图片尺寸即可调整进度 ASE连线 前言 UI要实现一个滚动进度&#xff0c;于是使用Shader制作一个。 项目 场景布置 导入图片 修改一下导入图片的格式&#xff0c;这样才能循环起来 WrapMode改为Repea…

提高 Code Review 质量的最佳实践

Code Review 是软件开发中至关重要的环节&#xff0c;它有助于确保代码质量、提高团队协作水平&#xff0c;同时也是一个学习和知识分享的机会。以下是一些提高 Code Review 质量的最佳实践&#xff1a; 1. 设置清晰的标准和目标 在进行 Code Review 之前&#xff0c;确保整个…

正点原子--STM32中断系统学习笔记(1)

1、什么是中断&#xff1f; 原子哥给出的概念是这样的&#xff1a;打断CPU正常执行的程序&#xff0c;转而处理紧急程序&#xff0c;然后返回原暂停的程序继续运行&#xff0c;就叫中断。 当发生中断时&#xff0c;当前执行的程序会被暂时中止&#xff0c;进而进入中断处理函…

Qt案例 使用WINDOWS API的VDS.H库查询/修改 WINDOWS系统中硬盘分区/盘符信息(二)

简单介绍使用vds.h中的类和方法操作修改硬件/盘符的一些常使用的结构和函数&#xff0c;包括获取格式、删除、创建分区&#xff0c;设置磁盘文件类型&#xff0c;格式化卷等&#xff1b; 值得注意的是即使在vds.h库中像格式化卷这种都有多个方法&#xff0c;需要根据实际需求选…

Node: opensslErrorStack: [ ‘error:03000086:digital envelope routines::initialization error‘ ]异常处理

目录 一、问题描述二、问题分析三、解决方案方案一&#xff1a;你可以按照以下步骤来删除 NODE_OPTIONS 环境变量中的 --openssl-legacy-provider 选项&#xff1a;方案二&#xff1a;在package.json更改scripts方案三&#xff1a;降级 Node.js 版本 在进行前端项目开发时&…

Linux+服务器后台运行程序

在Linux服务器直接运行程序&#xff0c;程序运行的时间较长&#xff0c;程序经常会因为网络连接问题异常终止&#xff0c;一直盯着程序运行又费时费力&#xff0c;这时后台运行程序是更好的解决方式。But&#xff0c;如果服务器重启了&#xff0c;那所有进程都断掉了&#xff0…

关于v8垃圾回收机制以及与其相关联的知识点--还没整理版本

对于值类型b来说&#xff0c;就直接释放了其占用的内存&#xff0c;对于引用类型obj来说&#xff0c;销毁的只是变量obj对堆内存地址 1001 的引用&#xff0c;obj的值 { c: 3 } 依然存在于堆内存中。那么堆内存中的变量如何进行回收呢&#xff1f; V8的垃圾回收策略主要是基于…

2024年美国大学生数学建模竞赛思路与源代码【2024美赛D题】

B站账号&#xff0c;提前关注&#xff0c;会有直播&#xff1a;有为社的个人空间-有为社个人主页-哔哩哔哩视频 (bilibili.com) 题目 待定 问题一 思路 待定 模型 待定 程序 待定 问题二 待定 思路 待定 模型 待定 程序 待定

【Java 数据结构】栈和队列

栈和队列 1. 栈(Stack)1.1 概念1.2 栈的使用1.3 栈的模拟实现1.4 栈的应用场景1.5 概念区分 2. 队列(Queue)2.1 概念2.2 队列的使用2.3 队列模拟实现2.4 循环队列 3. 双端队列 (Deque)4. 面试题 1. 栈(Stack) 1.1 概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在…

自然语言处理,基于预训练语言模型的方法,车万翔,引言部分

文章目录 自然语言处理应用任务1. 信息抽取2. 情感分析3. 问答系统4. 机器翻译5. 对话系统 自然语言处理应用任务 1. 信息抽取 信息抽取&#xff08;Information Extraction, IE&#xff09;&#xff0c;是从非结构化的文本中&#xff0c;抽取出结构化信息的过程&#xff0c;…

C++ 单一附合导线平差程序

一、以下图附合导线为例&#xff0c;图形如下&#xff1a; 二、第一步&#xff0c;读取测量数据&#xff0c;读取界面设计如下&#xff1a; 读取数据文本文件格式如下&#xff1a; &#xff08;1&#xff09;已知点坐标数据格式&#xff1a; &#xff08;2&#xff09;角度观测…