C++ 算法库(一)

1. OSQP

‌OSQP(Operator Splitting Quadratic Programming)是一个用于求解凸二次规划(Convex Quadratic Programming)问题的求解器‌。它基于“算子分裂”的优化方法,将二次规划问题分解为一系列小的子问题,并通过迭代的方式逐步求解。osqp-eigen是对OSQP库的Eigen接口封装,方便矩阵和向量的操作‌。‌

abc


2. SCIP

SCIP是混合整数编程和非线性编程的快速非商业解器,支持多种平台和编程语言接口。可以解决线性、混合整数和非线性规划问题。


3. sciplot

sciplot 是一个现代的 C++ 科学绘图库,它利用 gnuplot 作为后端来生成高质量的图形。该项目的主要编程语言是 C++,并且它是一个头文件库。sciplot 需要一个支持 C++17 的编译器,但它没有外部编译依赖,唯一的运行时依赖是 gnuplot 可执行文件和 gnuplot-palettes 提供的颜色调色板。


4. GLPK

GLPK (GNU Linear Programming Kit,GNU线性编程工具)是GNU下的一个项目,用于建立大规模线性规划LP和混合型整数规划MIP问题,并对模型进行最优化求解。


5. Ceres Solver

Ceres Solver是专门用于求解非线性最小二乘问题的C++开源库,研究SLAM方向不过滤波和优化两个技术路线,因此常用Ceres库解决实际项目中的优化问题,当然还有g2o同样可用,但就说明文档而言,Ceres对新用户更友好


6. RS3 (Real Solutions)

RS3 is devoted to the study of the real roots of polynomial systems with a finite number of complex roots (including univariate polynomials).


7. GMP (GNU Multiple Precision Arithmetic)



8. MPFR (GNU Multiple Precision Floating-Point Reliably)



9. MPFI (Multiple Precision Floating-point Interval)

MPFI provides arbitrary precision interval arithmetic with intervals represented using MPFR reliable floating-point numbers. It is based on the libraries GMP and MPFR.


10. NTL

NTL库是一个高性能、可移植的 C++ 库,为任意长度的整数提供数据结构和算法;用于整数和有限域上的向量、矩阵和多项式;以及任意精度的浮点运算。


11. ESBTL (Easy Structural Biology Template Library)

The ESBTL  is a library that allows the handling of PDB data.


12. LASlib

libLAS 是一个用于读取和写入广泛使用的 LAS LiDAR 格式的 C/C++ 库。libLAS 已被 PDAL 取代,libLAS 不支持 LAS 或 LAZ 1.4 版本,而 PDAL 支持。


13. PointMatcher

libpointmatcher是一个开源C++库,专长于高精度点云配准,适用于3D视觉和自动驾驶等领域。它提供预处理、特征提取、匹配和优化等功能,具有模块化、高效和易集成的特点,适用于SLAM、三维重建和自动驾驶等应用。


14. OpenGR

OpenGR 是一个用于 3D 全局配准的 C++ 库。它是 Super4PCS 库的一个分支,旨在提供几种最先进的 3D 数据全局配准算法。该项目由 STORM-IRIT 团队维护,与 Super4PCS 库的原始作者相同。



15. PCL (Point Cloud Library)
PCL 是一个广泛使用的点云处理库,与 OpenGR 结合使用,可以实现更复杂的点云处理任务。


16. MeshLab
MeshLab 是一个开源的 3D 模型处理软件,支持点云数据的导入和处理,与 OpenGR 结合使用,可以实现点云数据的可视化和编辑。


17. Open3D
Open3D 是一个开源的 3D 数据处理库,支持多种 3D 数据格式和处理算法,与 OpenGR 结合使用,可以实现高效的 3D 数据处理和分析。


18. LEDA

LEDA的是用C++语言写的关于数据类型和算法经典的开源库

包含了如下数据类型:
• 简单数据类型
• 数值和线性代数
• 基本数据类型
• 字典
• 优先级队列
• 图及其数据类型
• 基本二维几何数据类型
• 高级二维几何数据类型
• 基本三维几何数据类型
• Windows图形数据类型
• 杂类



19. CImg

是一个开源、轻量级且高度可定制的C++库,专门用于图像处理和可视化。CImg的核心特性在于其面向对象的设计。它将每个图像表示为一个类实例,允许通过成员函数直接对图像进行操作,如调整大小、旋转、滤波等。

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

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

相关文章

BUGAWAY算法小抄-差分数组

BUGAWAY算法小抄-差分数组 什么是差分数组? 差分数组的思想是通过对原始数组进行处理,得到一个新的数组(差分数组),利用该数组来高效地进行区间更新操作。具体来说,差分数组记录的是相邻元素之间的差值,而不是原始数组的元素本身。 差分数组的原理 1. 差分数组的构造: …

emby美化后续折腾

GitHub - Nolovenodie/emby-crx: Emby 增强/美化 插件 (适用于 Chrome 内核浏览器 / EmbyServer)emby美化尝试皮蛋熊 2023-10-18/1 评论/2 点赞/6151 阅读/8117 字10/18温馨提示: 本文最后更新于 2023-10-18,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到…

特殊数据类型的深度分析:JSON、数组和 HSTORE 的实用价值

title: 特殊数据类型的深度分析:JSON、数组和 HSTORE 的实用价值 date: 2025/1/4 updated: 2025/1/4 author: cmdragon excerpt: 随着数据管理需求的多样化,许多现代数据库系统开始支持特殊数据类型,以满足更多复杂应用场景的需求。在 PostgreSQL 中,JSON、数组和 HSTORE…

[.NET] Aspire 9 新特性及优化

随着 .NET 9 的发布,.NET Aspire 迎来了一系列重大更新和改进。这些更新不仅让 Aspire 变得更加成熟,也使其终于具备了投入生产环境的条件。本文将详细介绍 Aspire 的最新特性和改进。🚀Aspire 9 新特性及优化 摘要 随着 .NET 9 的发布,.NET Aspire 迎来了一系列重大更新和…

MapReduce--国家气候数据中心

NCDC:https://www.ncei.noaa.gov/中国气象数据网:https://data.cma.cn/

ABB IRB6640机械手减速机维修步骤

ABB IRB6640机械手减速机维修涉及多个步骤和注意事项,以下是一些关键的abb机械臂维修步骤和建议:一、故障排查检查故障代码:首先,通过查看机械手的故障显示屏或控制柜的显示屏,记录显示的错误代码。这些代码通常能指示减速机或其他部件的故障类型。检查电源和电缆:确保机…

Pycharm 2024.3.1.1 安装激活详细图文教程(激活至2026,实际上永久,亲测!)以及常见问题处理

申明:本教程 Pycharm补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版 !卸载老版本 Pycharm 首先,如果小伙伴的电脑上有安装老版本的 Pycharm , 需要将其彻底卸载掉,如下所示(没有安装则不用管,直接安装即…

java8--类Scanner--文件内容输入--错误的使用方法

Scanner in = new Scanner("mygile.txt"); String str = in.nextLine(); System.out.println(str);效果图:ps: 1.没有用类Paths的静态方法get指定路径,直接在创建Scanner新对象时传入文件名做参数,使用时不会启动输入步骤,不会从键盘获取输入,执行的是赋值操作…

Webstorm 2024 安装激活详细使用教程(激活至2026,实测是永久,亲测!)

开发工具推荐:Webstorm 安装激活详细使用教程(激活至2026,实际上永久,亲测!)申明:本教程 Webstorm补丁、激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除。若条件允许,希望大家购买正版 ! Webstorm是JetBrains公司推出的一款功能强大的JS集成…

24. 两两交换链表中的节点(中)

目录题目法一、迭代法二、递归 题目给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。法一、迭代 var swapPairs = function(head) {let dummy = {next:head}let p1 = dummywhile(p1.ne…

深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)PDF、EPUB免费下载

周志明JVM新作,新增内容近50%,大厂面试知识点全覆盖。与《Java编程思想、EffectiveJava、Java核心技术》堪称“Java四大名著”适读人群 :1.使用Java技术体系的中-高级开发人员 2.系统调优师 3.平台架构师 4.准备进互联网大厂面试的Java开发人员 周志明JVM新作,新增内容近50…

使用 ActiViz.Net (商业版)实现读三维地震数据可视化

一、背景 在地震勘探中,SEG-Y 格式(简称 SEGY)是最常用的数据格式之一,用于存储地震波的原始数据。地震数据通常包含了时间序列信息,并通过不同的采样和测量方法来记录地下结构的属性。为了有效地可视化这些数据,尤其是地震波的幅度和传播情况,三维可视化是一个非常有用…