windows 安装metis_Win10 VS2013 suitesparse-metis-for-windows 1.3.1

2023-10-27

suitesparse-metis-for-windows 1.3.1 安装包内附SuiteSparse 4.5.1, Metis 5.1.0和 lapack 3.4.1

Github上面由整理好的suitesparse包适合在Windows安装 https://github.com/jlblancoc/suitesparse-metis-for-windows,并附有详细的安装指导,但是会有一点bug

问题1:metis/GKlib/gk_arch.h中有个bug,从C++11开始标准库中已经支持rint函数了,VS 2013开始支持这一函数,修复方式

#ifdef __MSC__/*MSC does not have rint() function*/

#if (_MSC_VER < 1800)  /*visual studio 2013编译器版本*/

#define rint(x) ((int)((x)+0.5))

#endif

/*MSC does not have INFINITY defined*/#ifndef INFINITY#define INFINITY FLT_MAX

#endif

#endif

#endif

安装后测试方式

1.在环境变量中设置SuiteSparse_DIR位置是SuiteSoarse的安装位置,例如C:\Program Files (x86)\Suitesparse

2.测试程序

#include #include"Eigen/Eigen"#include"Eigen/SPQRSupport"using namespace Eigen;intmain() {

SparseMatrix< double > A(4, 4);

std::vector< Triplet < double > >triplets;//初始化非零元素

int r[3] = { 0, 1, 2};int c[3] = { 1, 2, 2};double val[3] = { 6.1, 7.2, 8.3};for (int i = 0; i < 3; ++i)

triplets.push_back(Triplet< double >(r[i], c[i], val[i]));//初始化稀疏矩阵

A.setFromTriplets(triplets.begin(), triplets.end());

std::cout<< "A = \n" << A <<:endl>

SPQR < SparseMatrix < double > >qr;//计算分解

qr.compute(A);//求一个A x = b

Vector4d b(1, 2, 3, 4);

Vector4d x=qr.solve(b);

std::cout<< "x = \n" <

std::cout<< "A x = \n" << A *x;

getchar();

return0;

}

2.相同文件夹下的CMakeLists.txt

# -----------------------------------------------# Test CMake scriptforbuilding against SuiteSparse

# http://code.google.com/p/suitesparse-metis-for-windows/

# Created by Jose Luis Blanco (University of Almeria) 2013# Updated by jesnault ([email protected])2014-01-21#-----------------------------------------------PROJECT(CholmodExample)

cmake_minimum_required(VERSION2.8)

#------------------------------------------------------------------# Detect SuiteSparse libraries:

# If not found automatically, set SuiteSparse_DIRinCMake to the

# directory where SuiteSparse was built.

#------------------------------------------------------------------LIST(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/../../cmakemodule/") # Add the directory where FindSuiteSparse.cmake module can be found.

set(SuiteSparse_USE_LAPACK_BLAS ON)

find_package(SuiteSparse QUIET NO_MODULE) # 1st: Try tolocate the *config.cmake file.if(NOT SuiteSparse_FOUND)

#set(SuiteSparse_VERBOSE ON)

find_package(SuiteSparse REQUIRED) # 2nd: Use FindSuiteSparse.cmake module

include_directories(${SuiteSparse_INCLUDE_DIRS})else()

message(STATUS"Find SuiteSparse : include(${USE_SuiteSparse})")

include(${USE_SuiteSparse})

endif()

MESSAGE(STATUS"SuiteSparse_LIBS: ${SuiteSparse_LIBRARIES}")

#------------------------------------------------------------------# End of SuiteSparse detection

#------------------------------------------------------------------#------------------------------------------------------------------# Declare an example program:

#------------------------------------------------------------------ADD_EXECUTABLE(cholmod-test cholmod-test.c)

TARGET_LINK_LIBRARIES(cholmod-test ${SuiteSparse_LIBRARIES})

3.命名文件夹src,并将上面两个文件放进去,并创建build文件夹,利用cmake的configure和generate Visual Studio2013工程文件,直接生成就可以(根据自己的FindSuiteSparse.cmake文件的位置设置CMakeLists.txt中变量CMAKE_MODULE_PATH的位置)即可

4.如果不使用cmake工具,记得在VS的工程属性中设置lapack和suitesparse库的安装位置,链接如下库即可

C:\Program Files (x86)\Suitesparse\lib64\metisd.lib

C:\Program Files (x86)\Suitesparse\lib\suitesparseconfigd.lib

C:\Program Files (x86)\Suitesparse\lib\libamdd.lib

C:\Program Files (x86)\Suitesparse\lib\libbtfd.lib

C:\Program Files (x86)\Suitesparse\lib\libcamdd.lib

C:\Program Files (x86)\Suitesparse\lib\libccolamdd.lib

C:\Program Files (x86)\Suitesparse\lib\libcolamdd.lib

C:\Program Files (x86)\Suitesparse\lib\libcholmodd.lib

C:\Program Files (x86)\Suitesparse\lib\libcxsparsed.lib

C:\Program Files (x86)\Suitesparse\lib\libklud.lib

C:\Program Files (x86)\Suitesparse\lib\libldld.lib

C:\Program Files (x86)\Suitesparse\lib\libumfpackd.lib

C:\Program Files (x86)\Suitesparse\lib\libspqrd.lib

C:\Program Files (x86)\Suitesparse\lib\lapack_blas_windows\libblas.lib

C:\Program Files (x86)\Suitesparse\lib\lapack_blas_windows\liblapack.lib

kernel32.lib

user32.lib

gdi32.lib

winspool.lib

shell32.lib

ole32.lib

oleaut32.lib

uuid.lib

comdlg32.lib

#输出结果如下

b

94ecb402353101f74ce237ff1ec74540.png

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

windows 安装metis_Win10 VS2013 suitesparse-metis-for-windows 1.3.1 的相关文章

  • 检查处理kettle数据流中的空行

    检查处理kettle数据流中的空行 ETL处理过程中 有时需要生成数据 但是却没有输入数据 这可能有一些问题 所以通常需要ETL数据流产生一个空行数据 有时处理中需要一些聚集功能 则意味着当没有输入数据时 生成值为0 本文说明怎样检测并处理
  • 国产linux操作系统深度系统20.3发布(推荐)

    深度操作系统 deepin 是一个致力于为全球用户提供美观易用 安全稳定服务的Linux发行版 同时也一直是排名最高的来自中国团队研发的Linux发行版 了解deepin国际排名 深度操作系统20 3 升级Stable内核到5 15版本 进
  • 学习笔记-无向图的创建、深度优先遍历、广度优先遍历

    图 为什么要有图 线性表局限于一个直接前驱和一个直接后继的关系 树也只能有一个直接前驱也就是父节点 当我们需要表示一种多对多的关系就需要用到图 图是一种数据结构 其中结点可以具有零个或多个相邻元素 两个结点之间的连接称为边 结点也可以称为顶
  • 机器学习:Logistic回归介绍

    Logistic回归定义 简单来说 逻辑回归 Logistic Regression 是一种用于解决二分类 0 or 1 问题的机器学习方法 用于估计某种事物的可能性 比如某用户购买某商品的可能性 某病人患有某种疾病的可能性 以及某广告被用
  • 【转载】Java Instrument 功能使用及原理

    0 介绍 利用 java lang instrument 做动态 Instrumentation 是 Java SE 5 的新特性 它把 Java 的 instrument 功能从本地代码中解放出来 使之可以用 Java 代码的方式解决问题
  • elasticsearch FunctionScore Java API

    elasticsearch FunctionScore java API 1 使用script FunctionScoreQueryBuilder query QueryBuilders functionScoreQuery queryBu
  • 修改微信小程序官方picker-view日期选择器

    微信小程序问题之picker view日期选择器 项目需求截图 选择出生日期的时候需要用到微信的picker view日期选择器 然后就发现官方picker view组件有一些问题 1 初始化日期不是当前日期 2 选择不同月份 日期都是从1
  • NVIDIA Video Codec SDK简介

    NVIDIA的Video Codec SDK提供API对视频进行加速编解码 最新发布版本为12 0 支持Windows和Linux平台 可从 https developer nvidia com video codec sdk archiv
  • python 操作 doc /docx

    对于python来说操作 doc 需要用到 win32com 安装 pip install win32com 优点 doc所有的操作都可以执行 缺点 如果没有office就死翘翘了 当然也可以com wsp 对于这种需要强制安装xx的不是很
  • Redis系列(一)与同类对比,底层数据结构,阿里云简单部署

    Redis与Memcache Ehcache对比 有持久化需求或者对数据结构和处理有高级要求的应用 选择redis 其他简单的key value存储 选择memcache Memcache适合多读少写 大数据量的情况 如人人网大量查询用户信
  • Docker搭建rtmp视频直播

    一 PC端搭建RTMP服务器 1 安装docker sudo apt get install docker sudo apt get update 2 下载docker nginx rtmp容器 sudo apt get install d
  • html中如何获取表单的数据

    1 使用表单中的id属性获取表单中的数据 在表单的input标签中指定id属性值 在script脚本中可以通过 表格的名称 id名称 value 来访问表单中的值 例如 register form username value 表单代码
  • 整理最新java面试宝典2019

    java面试宝典2019 参照 http www wityx com 3 html 1 meta标签的作用是什么 2 ReenTrantLock可重入锁 和synchronized的区别 总结 3 Spring中的自动装配有哪些限制 4 什
  • 用U盘安装Linux系统

    需要的东西 1 软件 Universal USB Installer 2 U盘 容量至少为4GB 3 linux系统的镜像文件 比如 ubuntu 10 04 3 desktop i386 iso或者ubuntu 10 04 desktop
  • 在排序数组中查找元素的第一个和最后一个位置

    本文就来探究几个最常用的二分查找场景 寻找一个数 寻找左侧边界 寻找右侧边界 而且 我们就是要深入细节 比如不等号是否应该带等号 mid 是否应该加一等等 分析这些细节的差异以及出现这些差异的原因 保证你能灵活准确地写出正确的二分查找算法
  • Alibaba 神器!一招定位 线 上Bug

    尊重原创版权 https www csnovel com hot 43764 html 更多内容参考 https www csnovel com 阿里神器 一招定位 线 上Bug 背景 公司有个渠道系统 专门对接三方渠道使用 没有什么业务逻
  • windows计算机锁屏的快捷键是什么,win10电脑锁屏快捷键是什么

    我们在使用win10操作系统的时候 其中有很多快捷方式我们都是可以直接使用键盘操作而省去鼠标键盘配合操作的 这样做的优点就是会非常的有效率 节省时间而且没有繁琐的步骤 有的小伙伴想知道我们win10的锁屏快捷键是什么 那么现在就让小编来告诉
  • 杰理之蓝牙OTA蓝牙升级【篇】

    命令AT OTA r响应成功 r nOK r n失败 r nERR data r n
  • gitee码云的使用 ----- 将项目上传

    准备工作 首先你得安装好git 安装教程如下 https git scm com downloads 去码云官网注册登录 然后创建仓库按照步骤做完会得到一个https地址 然后下面就会用到 接下来就是如何将自己的项目代码放置到gitee上

随机推荐

  • 记录C++类中的一次函数调用

    引用 之前遇到一次函数调用结果的问题 今天在这里做一下记录 一个基类 一个派生类 两个类中都有一个函数名相同 参数相同 参数不同的函数 创建基类指针指向派生类对象 调用相应的函数 派生类指针指向基类对象 调用相应的函数 求其输出结果 具体看
  • 基于STM32使用超声波HC-SR04模块

    写在前面注意的几点 1 HC SR04模块必须使用5V供电 不能是3 3V 2 若单是测距 无需使用中断 3 Echo和Trig两个引脚可以任意接可用的GPIO 和定时器无关 说一下超声波的工作原理 单片机给Trig引脚一个最少10us的高
  • python matplotlib 坐标轴打断

    想要绘制出如下类型坐标轴断开的图 matplotlib中并没有直接可用的API 但是官方给出了一个demo broken axis py 大概说下思路 画出两个共享X轴 完全相同的图 下图取消上边界 下图取消下边界 然后再使用plot画两组
  • Python3 ThreadPoolExecutor--线程池

    1 线程池创建 def init self max workers None thread name prefix initializer None initargs max workers 设置线程池中最多能同时运行的线程数目 threa
  • mysql-跨库联合查询

    目前微服务很火 但是就存在问题 服务拆分 数据库也进行拆分 mysql如果A数据库数据需要联合查询B数据库 应该如何实现呢 sqlserver 可以使用dblink 具体不做说明 查资料即可 着重讲解mysql 1 同实例不同库 1 gt
  • 【数字图像处理】四.MFC对话框绘制灰度直方图

    本文主要讲述基于VC 6 0 MFC图像处理的应用知识 主要结合自己大三所学课程 数字图像处理 及课件进行回忆讲解 主要通过MFC单文档视图实现点击弹出对话框绘制BMP图片的灰度直方图 再获取平均灰度 中指灰度和标准差等值 文章比较详细基础
  • slowfast解读:facebook用于机器视觉分析视频理解的双模CNNk

    检测并归类图像中的物体是最广为人知的一个计算机视觉任务 随着ImageNet数据集挑战而更加流行 不过还有一个令人恼火的问题有待解决 视频理解 视频理解指的是对视频片段进行分析并进行解读 虽然有一些最新的进展 现代算法还远远达不到人类的理解
  • Android读取联系人数据库

    联系人表详解 contacts content com android contacts contacts ContactsContract Contacts CONTENT URI 附注 用户的联系人表 每个联系人占一行 不包括用户已经删
  • mongodb用户权限管理-001

    创建自定义用户 1 添加用于全局管理的角色 db createUser user root pwd password roles role root db admin 2 添加管理某一数据库的角色 可以根据需要为其添加权限 也可以之后根据需
  • JavaWeb基础3——Maven基础&MyBatis

    导航 黑马Java笔记 踩坑汇总 JavaSE JavaWeb SSM SpringBoot 瑞吉外卖 SpringCloud SpringCloudAlibaba 黑马旅游 谷粒商城 Maven高级 Maven高级 java relati
  • Kubernetes Pod详解

    一 Pod介绍 1 Pod的结构 每个Pod中都可以包含一个或者多个容器 这些容器可以分为两类 用户程序所在的容器 数量可多可少 Pause容器 这是每个Pod都会有的一个根容器 他的作用有两个 1 可以以他为依据 评估整个Pod的健康状态
  • esp8266 12e 光控控制板载LED灯

    注意 本篇这里是使用了2个光敏电阻 D2口检测到光暗时才会执行D5的检测 要两个同时检测到黑暗才能点亮LED灯 检测到天黑时led就会快闪 天亮时慢闪 2 两个光敏代码 int LED LED BUILTIN 定义esp8266内置的led
  • 从云1.0时代到云2.0时代

    本文节选自 大话存储2 一书中第20章 转载请注明出处及作者 冬瓜头 20 8 4 云基础架构的 艺术与哲学意境 另外 我发挥了一下想象力 将云想象成为一部精密机械 并画了一张图 如图20 40所示 希望通过这张图能够让大家更加深刻的认识云
  • kubernetes四层负载均衡 —— service(二)

    目录 四 Kubernetes蓝绿部署 金丝雀发布 1 概述 2 金丝雀发布过程 3 蓝绿发布 五 Service代理 kube proxy组件详解 1 kube proxy组件介绍 2 kube proxy工作模式 四 Kubernete
  • uniapp-select 下拉框

    目前uniapp下拉框中比较友好的 功能比较完善 链接 superwei combox 组合框 DCloud 插件市场下拉搜索选择组合框 基于官方uni combox组件 解决选择后再次选择不展示全部选项的问题 支持模糊搜索和JSON数组格
  • mysql SQL语法

    增删改查 增 insert into table col1 clo2 col3 values str1 str2 str3 str1 str2 str3 删 delete form table where Expression 改 upda
  • kaggle竞赛——数据处理

    kaggle竞赛攻略 数据处理 数据导入 Datatable time import datatable as dt df dt fread data train csv print Train size data shape Train
  • (转)JS实现可编辑的表格

    来自网络 这个不错 就转了收藏 http apps hi baidu com share detail 30648462 html
  • MATLAB如何生成独立的随机数

    随机数流 随机数流是由确定性算法生成的一个伪随机数序列的源 伪随机序列是随机数理论序列的逼近 其分布满足独立同分布 i i d 条件 但实际上 确定性算法无法生成 i i d 序列 算法生成的序列可通过分布和相关性的统计检验 表明它们是很好
  • windows 安装metis_Win10 VS2013 suitesparse-metis-for-windows 1.3.1

    suitesparse metis for windows 1 3 1 安装包内附SuiteSparse 4 5 1 Metis 5 1 0和 lapack 3 4 1 Github上面由整理好的suitesparse包适合在Windows