30 open-source projects similar to libigl/libigl, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
Geometry-central is a C++ framework designed for 3D geometry processing, surface analysis, and numerical computation. It provides a foundational toolkit for performing discrete differential geometry operations on manifold surface meshes, enabling the analysis and manipulation of complex 3D structures. The library distinguishes itself through its support for intrinsic triangulation processing, which allows for the execution of geometric algorithms independently of vertex positions to maintain stability under deformation. It utilizes a half-edge mesh representation to facilitate constant-time t
LAPACK is a comprehensive library of Fortran routines designed for high-performance numerical analysis and linear algebra. It serves as a foundational scientific computing framework, providing standardized procedures for solving systems of linear equations, eigenvalue problems, and least squares approximations. The library distinguishes itself through a hierarchical routine abstraction that organizes mathematical operations into distinct levels of complexity. It utilizes block-partitioned matrix algorithms and a column-major memory layout to optimize data locality and hardware efficiency. By
OpenBLAS is a high-performance implementation of the Basic Linear Algebra Subprograms standard designed for numerical computing and matrix operations. It serves as a hardware-accelerated numerical library and optimized math kernel library, providing a computational engine for large-scale matrix multiplication and vector operations. The library distinguishes itself through the use of hand-tuned assembly kernels and SIMD instruction mapping, such as AVX and SVE, to maximize floating-point performance on specific CPU architectures. It features a multi-threaded framework that manages parallel exe
This project provides a collection of algorithmic implementations for computational geometry, focusing on spatial analysis, mesh construction, and geometric data processing. It serves as a toolkit for generating and manipulating complex shapes, surfaces, and spatial relationships within interactive three-dimensional applications. The library distinguishes itself through a suite of mathematical functions designed for procedural mesh generation and geometric partitioning. It includes specialized routines for calculating convex hulls, performing boolean operations on polygons, and detecting inte
ndarray is a multidimensional array library for Rust that serves as a linear algebra framework and scientific computing tool. It provides the core infrastructure for creating and manipulating n-dimensional arrays, functioning as both a parallel array processor and a toolkit for numerical data analysis. The library distinguishes itself by providing efficient slicing and memory views, allowing for data sharing without copying. It leverages optimized backend math libraries for high-speed matrix multiplication and distributes heavy mathematical iterations across multiple CPU threads to accelerate
This project is a collection of foundational machine learning algorithms and data science tools implemented in Python. It focuses on building the logic of these tools using basic programming primitives rather than relying on specialized libraries. The implementation covers several core domains, including a linear algebra library for matrix and vector operations, a statistical analysis toolkit for probability and hypothesis testing, and a framework for map-reduce distributed processing. It also includes implementations for natural language processing, graph theory for network analysis, and var
numbers.js is a comprehensive mathematics library for JavaScript that provides a collection of advanced functions for scientific computing and data analysis. It is designed to handle complex mathematical operations through a modular architecture, offering tools for calculus, statistics, linear algebra, and prime number analysis. The library distinguishes itself by providing explicit control over numerical precision, allowing users to define error thresholds and manage decimal accuracy to mitigate rounding discrepancies. This focus on precision is paired with a suite of computational tools tha
PyVista is a scientific 3D plotting framework and visualization library that provides a Python interface for rendering and analyzing spatial datasets using a VTK backend. It functions as a volumetric rendering engine and a 3D mesh analysis tool for computing geometric properties and performing boolean operations on surface and volumetric meshes. The project is distinguished by its ability to operate as a headless 3D renderer, generating high-quality renders and animations on remote servers without a physical display. It also features a lazy-accessor extension mechanism that allows the registr
This project is a set of exercise solutions and implementation guides for visual simultaneous localization and mapping. It provides a collection of worked code examples and mathematical solutions designed to translate theoretical localization and mapping concepts into practical implementations. The repository serves as a technical companion for academic study, featuring worked answers to SLAM exercises and a system for tracking typographical and technical corrections to maintain the accuracy of the associated written work. The codebase covers spatial mathematics and robotics geometry, includ
This project is a structured learning curriculum and technical reference for mastering deep learning with TensorFlow. It provides a comprehensive guide for building, training, and deploying neural networks, combining theoretical fundamentals with practical implementation examples. The repository distinguishes itself by covering the end-to-end machine learning workflow, from low-level tensor mathematics and linear algebra to the creation of complex model architectures. It includes specific guidance on developing data pipelines for diverse data types, such as images, text, and time-series seque
ArrayFire is a hardware-agnostic compute framework and JIT-compiled tensor engine designed for high-performance numerical computing. It serves as a GPU numerical computing library and parallel signal processing toolkit that abstracts hardware backends, allowing the same codebase to execute across various GPU architectures and CPUs. The project distinguishes itself through a JIT engine that uses expression compilation to fuse operations and minimize memory overhead. It employs a deferred execution graph to optimize computation chains and provides interoperability primitives to share data and e
Warp is a Python framework that JIT-compiles Python functions into CUDA kernels for GPU-accelerated parallel computation, with built-in automatic differentiation and multi-framework array interoperability. At its core, it provides a GPU kernel compilation system that enables writing and executing custom GPU kernels directly from Python, while supporting automatic gradient computation through those kernels for integration with machine learning pipelines. The framework also includes tile-based cooperative computing, where thread blocks partition into tiles for shared-memory and tensor-core opera
nalgebra is a linear algebra library for Rust that provides matrix and vector operations with support for both compile-time and runtime dimensions. It functions as a numerical analysis library and a sparse matrix library, offering a mathematical framework capable of running in embedded environments and WebAssembly without requiring the Rust standard library. The project distinguishes itself as a geometric transformation library, utilizing homogeneous coordinates, quaternions, and isometries to handle 3D rotations, translations, and projections. It implements a variety of matrix decompositions
This project is a numerical computing library designed for scientific and engineering mathematical operations. It functions as a comprehensive linear algebra framework, a statistical analysis library, and a toolkit for mathematical optimization and numerical integration. The library is distinguished by its provider-based native acceleration, which allows managed code to be swapped for platform-native binary libraries to increase the performance of computationally intensive routines. It also supports a hybrid approach to matrix storage, implementing separate strategies for dense and sparse mat
Flashlight is a C++ machine learning library and deep learning framework designed for building and training neural networks. It functions as a tensor manipulation library and an automatic differentiation engine that tracks operations to calculate gradients via backpropagation for model optimization. The project is distinguished by its role as a distributed training framework, utilizing all-reduce gradient synchronization and distributed environments to scale machine learning workloads across multiple nodes and devices. It features a backend-agnostic memory interface and RAII-based management
This project is a mathematics programming pattern library and translation guide designed to map academic mathematical symbols and formulas into programmable logic. It serves as a reference for converting complex notations into software implementations. The resource provides mapping guides for translating calculus, linear algebra, and set theory into iterative loops, functional code, and boolean expressions. It includes specific patterns for implementing piecewise functions, matrix operations, and standard mathematical operators using conditional logic and built-in language functions. The lib
Neuralangelo is a neural surface reconstruction framework that transforms two-dimensional image sequences and multi-view photography into high-fidelity 3D meshes. It implements a pipeline for training neural radiance fields to represent complex scenes as digital geometry. The project utilizes a signed distance function for surface representation and multi-resolution hash encoding to capture both coarse and fine geometric details. It employs differentiable volume rendering and gradient-based eikonal regularization to ensure the learned distance functions remain physically plausible. The syste
PyTorch3D is a 3D geometric deep learning library and mesh processing toolkit designed for learning from point clouds and complex 3D surface geometries. It provides a collection of reusable components and data structures for deep learning with 3D data, including a framework for training and evaluating neural radiance fields to enable photorealistic view synthesis. The project features a differentiable 3D renderer that converts meshes and point clouds into 2D images while allowing gradients to flow back into the geometry and textures. This enables 3D shape optimization, where mesh geometry, te
NumCpp is a C++ framework and numerical computing library that provides a toolkit for multi-dimensional array management and mathematical routines. It functions as a C++ implementation of the NumPy ecosystem, offering a scientific computing framework for managing tensors and performing complex algebraic equations. The project enables high-performance array manipulation within a C++ environment without relying on a Python runtime. It distinguishes itself by providing a NumPy-like interface for executing linear algebra, managing multi-dimensional data structures, and performing numerical proces
This project is a reference collection of statistical learning algorithms built from scratch using NumPy for linear algebra and matrix operations. It serves as an educational resource for studying the mathematical foundations and inner workings of machine learning models through manual implementations. The codebase provides hand-coded implementations of both supervised and unsupervised learning. This includes classification and regression models such as support vector machines, decision trees, and Naive Bayes, as well as data clustering and pattern discovery methods like k-means and hierarchi
Surge is a Swift library for high-performance numerical analysis, linear algebra, digital signal processing, and accelerated image manipulation. It utilizes the Accelerate framework to provide hardware-accelerated tools for matrix mathematics and signal processing. The library provides specialized capabilities for digital signal processing, including convolution, signal similarity analysis through cross-correlation, and domain transformations using fast Fourier transforms. It also includes a suite of tools for the rapid transformation and analysis of pixel buffers and image data. Beyond sign
This project is a deep learning educational resource consisting of PyTorch model implementations and code examples. It provides functional Python scripts and notebooks for building, training, and optimizing neural networks using tensor-based computation. The repository includes implementations for designing custom network layers and loss functions, as well as examples of transfer learning workflows that load pretrained model weights to accelerate development. The codebase covers a broad range of deep learning capabilities, including neural network training, custom model component design, and
This project is a community-driven standard library for the Fortran programming language, providing a comprehensive collection of algorithms, data structures, and system utilities. It is designed to extend the language's native capabilities, offering a unified toolkit for scientific computing, numerical analysis, and general-purpose programming. The library distinguishes itself through a modular architecture that utilizes generic interface dispatch and compile-time specialization to ensure high performance across various data types. It provides standardized abstractions for external numerical
Math.js is a comprehensive JavaScript library for scientific, complex, and arbitrary precision calculations. It functions as a symbolic computation engine, a linear algebra toolkit, a statistical analysis library, and a unit conversion system. The project distinguishes itself by providing a symbolic engine capable of parsing, simplifying, and manipulating mathematical expressions algebraically without requiring immediate numerical evaluation. It includes a framework for defining and converting physical quantities with units of measure and automatic prefix support. The library covers a broad
CGAL is a software library that provides a comprehensive collection of computational geometry algorithms and data structures. It is built around a geometry kernel that defines fundamental geometric primitives and operations, enabling the construction of complex geometric objects and the computation of geometric predicates with exact arithmetic for reliable results. The library covers a wide range of geometric computation capabilities, including the construction of convex hulls, triangulations of point sets, and the generation of Voronoi diagrams. It also supports the processing of polygonal m
openMVS is a multi-view stereo library and photogrammetry pipeline used for 3D scene reconstruction. It transforms Structure from Motion data—specifically camera poses and sparse point clouds—into detailed 3D models consisting of dense point clouds and textured meshes. The project provides a sequence of processing stages to densify point clouds, generate 3D surface meshes, and apply photorealistic textures. It uses multi-view texture blending to map accurate colors onto reconstructed geometry and employs iterative refinement to optimize mesh details. The system includes capabilities for impo
pifuhd is a 3D human reconstruction framework that generates high-resolution 3D meshes of people from a single 2D image. It utilizes pixel-aligned implicit functions to map image pixels to 3D space, predicting surface occupancy and distance to create detailed geometry. The system includes a pipeline for creating digital human assets, moving from 2D image feature projection to the extraction of discrete triangular meshes. It features specialized tools for refining these models, including a post-processor that removes geometric artifacts by isolating the largest connected component of the mesh.
Magnum is a C++ middleware suite for cross-platform graphics development and real-time data visualization. It provides a hardware-agnostic rendering layer that translates graphics commands into platform-specific calls, ensuring consistent behavior across different GPU drivers and APIs such as Vulkan. The project focuses on decoupling application logic from underlying hardware through abstract graphics and system utilities. It features a plugin-based resource importer for 3D assets and audio, a hierarchical scene graph for spatial transformations, and a high-performance signal-based event syst
Pixel is a 2D game library and graphics engine for the Go programming language. It provides a hardware-accelerated renderer for drawing sprites, geometric shapes, and text, utilizing an optimized system of batching and transformation matrices. The project functions as a comprehensive toolkit for two-dimensional interactive applications, combining a graphics engine with a 2D vector math library for affine transformations and coordinate space projections. It includes a dedicated input manager that tracks keyboard presses and mouse movements using a polling-based system rather than asynchronous
This project is an educational resource and a collection of instructional materials for performing data manipulation and statistical analysis using Python. It provides a comprehensive set of guides and code examples for using the Pandas, NumPy, and Matplotlib libraries to analyze structured data. The resource includes a dedicated guide for reshaping, cleaning, and aggregating tabular data and time series via Pandas, alongside a reference for high-performance vectorized operations and linear algebra using NumPy. It also features tutorials for creating publication-quality charts, distribution p