关于suitesparse在windows平台下速度极慢以及奇奇怪怪的问题解决

2023-11-16

前言

好像suitesparse原本没有windows版本,然后国外一个大佬写了cmake搞出来的。所以可能存在一些奇奇怪怪的问题吧。主要是一下两点

1.windows相比linux环境速度奇慢。

2.新手编译这个库经常会下载suitesparse-metis-for-windows-1.3.0但是1.3.0有一个小问题,就是使用cholmod的时候会报Input Error:Incorrect objective type,我用的时候虽然对结果、性能没有造成任何影响,但是会觉得不爽。

关于如何编译这个库可以去看上面的github链接,里面的readme说的很清楚了,还有这位大佬的博客也有中文版的。

解决方法

关于第一个问题,在windows环境下速度极慢的原因主要是blas的不同实现造成性能差距过大,我们只需要把suitesparse里面的libblas.lib换成OpenBLAS或者其它高性能BLAS实现就ok了
在编译vs环境的OpenBLAS库教程
记得把旧的lib另外保存,新的名字换成libblas.lib

第二个问题的话,用suitesparse-metis-for-windows-1.5.0就可以了,好像1.3.1也解决了。
然后安装官网上的教程编译1.5.0会有一个报错,解决方法就是把gk_arch.h最后一段代码改成下面的代码就可以了

//#ifdef __MSC__
/* MSC does not have rint() function */
#if(_MSC_VER < 1800)
#define rint(x) ((int)((x)+0.5))  
//#endif

/* MSC does not have INFINITY defined */
#ifndef INFINITY
//#if(_MSC_VER < 1900)
#define INFINITY FLT_MAX
//#endif
#endif
#endif

#endif
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于suitesparse在windows平台下速度极慢以及奇奇怪怪的问题解决 的相关文章

  • 三角函数常见基本公式

    定义式 图形 正弦 sin 余弦 cos 正切 tan或tg 余切 cot或ctg 正割 sec 余割 csc 函数关系 商数关系 倒数关系 平方关系 和差角公式 二角和差公式 三角和公式 积化和差公式 倍角公式 二倍角公式 三倍角公式 四
  • 差分 【一维差分和二维差分】

    全文目录 一维差分 差分数组的构建 二维差分 差分矩阵的构建 一维差分 首先来了解一下差分的性质 差分是前缀和的逆运算 如果说前缀和是 S f n 那么差分就是 D f 1 n 也就是说 原数组是差分数组的前缀和 原数组 a i 差分数组
  • 2020年高教社建模国赛真题A题--炉温曲线

    2020年高教社杯全国大学生数学建模竞赛题目 请先阅读 全国大学生数学建模竞赛论文格式规范 A题 炉温曲线 在集成电路板等电子产品生产中 需要将安装有各种电子元件的印刷电路板放置在回焊炉中 通过加热 将电子元件自动焊接到电路板上 在这个生产
  • 刚体动力学

    文章目录 刚体状态 将某个物体从局部坐标系变化到全局坐标系 对时间求导 对矩阵求导 惯性 刚体属性 1 质心 计算方法 体素法 直接计算法 四面体体积 四面体的中心 2 惯性张量 世界坐标系中的惯性变量 刚体运动 力矩 刚体的固定属性 当前
  • C++数据结构 矩阵的转置、镜像及旋转

    C 数据结构 矩阵的转置 镜像及旋转 矩阵介绍 C 中的矩阵是一种二维数组 用于存储数值数据 矩阵可以用于存储图像数据 以及科学和工程计算中的数据 常用于以下场景 数学运算 矩阵乘法 行列式计算 特征值分解等 图像处理 图像缩放 旋转 颜色
  • 06. 计数原理

    6 计数原理 6 1 分类加法计数原理与分步乘法计数原理 分类加法计数原理定义 完成一件事 有 n n n 类办法 在第1类办法中有 m 1 m 1
  • WebGL 视图矩阵、模型视图矩阵

    目录 立方体由三角形构成 视点和视线 视点 观察目标点和上方向 视点 观察目标点 上方向 在WebGL中 观察者的默认状态应该是这样的 视图矩阵程序 LookAtTriangles js 实际上 根据自定义的观察者状态 绘制观察者看到的景象
  • 2的31次方和3的21次方哪个大,123组成最大的数是多少?

    123这三个数字组成最大的数是什么数 面试官告诉小孙 123这三个数字组成最大的数是什么数 我希望你能够在5分钟之内回答出来 小孙当时连想都没有想 123组成的最大数字 当然就是123了 当小孙把这个答案告诉面试官的时候 面试官摇摇头 然后
  • 防止sigmoid和tanh激活函数溢出的C++实现

    引言 上一期 我们介绍了softmax函数的C 实现 但是考虑到sigmoid和tanh函数也是带 e e e的次幂 所以现在我们来考虑该函数的防止溢出实现 sigmoid函数 原理 该函数的公式为 1 1
  • 使用克拉默法则进行三点定圆(三维)

    目录 1 三维圆 2 python代码 3 计算结果 本文由CSDN点云侠原创 爬虫网站请自重 1 三维圆 已知不共线的三个点 设其坐标为 x 1 y 1
  • 抖音seo矩阵系统源码搭建开发详解

    抖音SEO矩阵系统是一个用于提高抖音视频在搜索引擎排名的工具 如果你想开发自己的抖音SEO矩阵系统 以下是详细的步骤 开发步骤详解 确定你需要的功能和算法 抖音SEO矩阵系统包含很多功能 比如关键词研究 内容优化 链接建设 社交媒体营销等
  • 【论文笔记】基于Control Barrier Function的二次规划(QP)控制

    文章目录 写在前面 问题描述 RBF 1 Logarithmic 2 Inverse type 3 Reciprocal ZBF 两者的联系 CBF构建 RCBF ZCBF QP设计 ES CLF CLF CBF QP 写在前面 原论文 C
  • 图谱论学习—拉普拉斯矩阵背后的含义

    目录 一 为什么学习拉普拉斯矩阵 二 拉普拉斯矩阵的定义与性质 三 拉普拉斯矩阵的推导与意义 3 1 梯度 散度与拉普拉斯算子 3 2 从拉普拉斯算子到拉普拉斯矩阵 一 为什么学习拉普拉斯矩阵 早期 很多图神经网络的概念是基于图信号分析或图
  • 2023年数学建模B组:利用AHP层次分析法解决实际问题(Matlab)

    目录 利用AHP层次分析法解决实际问题 Matlab实现 介绍 案例背景 步骤1 建立层次结构模型
  • MATLAB之LU分解法(十)

    LU分解 1 LU分解的基础知识 矩阵的LU分解又称为矩阵的三角分解 即将一个矩阵分解为一个下三角矩阵L和一个上三角矩阵U 即 A L U A LU A LU 其在方程组的求解和求矩阵的逆有许多应用 LU分解的求解命令是lu 基本使用格式如
  • 大数据Mapreduce编程——矩阵乘法

    编程要求 完成矩阵乘法的 Map 函数和 Reduce 函数 1 设计两个矩阵 3050 50100 在每个单元格中填入一个 0 99 的随机数 并写入 两个文件中 作为 Map 函数的输入 2 测试运行矩阵乘法的 MapReduce 框架
  • MATLAB进行模式识别的实验

    一 实验一习题 我猜测是根据最大似然估计法先求出那两个参数的值 然后代入 得到的是只关于x的函数 然后把文本里的1000个数据导入 画图 首先 我先把txt的数据读取到矩阵里面 方便后续处理 用到的函数 1 这里有一个比较详细的fopen的
  • 万向锁,简单表述,一文看懂

    万向锁问题 看了下百度知乎 居然 很少有说清楚的 想起自己第一次接触的时候 也是一头雾水 特此解释 1 什么是万向锁问题 欧拉角顺序有很多 当中比较常用的 一种 便是用 偏航 俯仰 滚转 yaw pitch roll 三个角度来描述一个旋转
  • 【二分查找】【z型搜索】LeetCode240:搜索二维矩阵

    LeetCoe240搜索矩阵 作者推荐 贪心算法 中位贪心 执行操作使频率分数最大 本文涉及的基础知识点 二分查找算法合集 题目 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 该矩阵具有以下特性 每
  • 矩阵基本操作3

    题目描述 问题描述 定义一个N M N M lt 100 的矩阵 将一个该矩阵的行和列的元素互换 存到另一个二维数组中 输入格式 一行两个整数 N M 中间用空格隔开 表示矩阵有N行 M列 接下来共N行M列表示矩阵 输出格式 输出转置以后的

随机推荐