All Projects → MingjieQian → Liblaml

MingjieQian / Liblaml

Licence: gpl-2.0
A stand-alone pure C++ library for linear algebra and machine learning

Programming Languages

cpp
1120 projects

Projects that are alternatives of or similar to Liblaml

Gosl
Linear algebra, eigenvalues, FFT, Bessel, elliptic, orthogonal polys, geometry, NURBS, numerical quadrature, 3D transfinite interpolation, random numbers, Mersenne twister, probability distributions, optimisation, differential equations.
Stars: ✭ 1,629 (+23171.43%)
Mutual labels:  linear-algebra, optimization
Okalgo
Idiomatic Kotlin extensions for ojAlgo
Stars: ✭ 20 (+185.71%)
Mutual labels:  linear-algebra, optimization
Tiramisu
A polyhedral compiler for expressing fast and portable data parallel algorithms
Stars: ✭ 685 (+9685.71%)
Mutual labels:  linear-algebra, optimization
Ojalgo
oj! Algorithms
Stars: ✭ 336 (+4700%)
Mutual labels:  linear-algebra, optimization
Peroxide
Rust numeric library with R, MATLAB & Python syntax
Stars: ✭ 191 (+2628.57%)
Mutual labels:  linear-algebra, optimization
Cpmoptimize
🚀 🐍 Optimizes Python bytecode calculating linear recurrences
Stars: ✭ 159 (+2171.43%)
Mutual labels:  linear-algebra, optimization
Owl
Owl - OCaml Scientific and Engineering Computing @ http://ocaml.xyz
Stars: ✭ 919 (+13028.57%)
Mutual labels:  linear-algebra, optimization
Quant Notes
Quantitative Interview Preparation Guide, updated version here ==>
Stars: ✭ 180 (+2471.43%)
Mutual labels:  linear-algebra, optimization
Simpeg
Simulation and Parameter Estimation in Geophysics - A python package for simulation and gradient based parameter estimation in the context of geophysical applications.
Stars: ✭ 283 (+3942.86%)
Mutual labels:  linear-algebra, optimization
Teaching
Teaching Materials for Dr. Waleed A. Yousef
Stars: ✭ 435 (+6114.29%)
Mutual labels:  linear-algebra, optimization
Osqp
The Operator Splitting QP Solver
Stars: ✭ 689 (+9742.86%)
Mutual labels:  optimization
Pyswarms
A research toolkit for particle swarm optimization in Python
Stars: ✭ 742 (+10500%)
Mutual labels:  optimization
Su2
SU2: An Open-Source Suite for Multiphysics Simulation and Design
Stars: ✭ 731 (+10342.86%)
Mutual labels:  optimization
Hyperparameter hunter
Easy hyperparameter optimization and automatic result saving across machine learning algorithms and libraries
Stars: ✭ 648 (+9157.14%)
Mutual labels:  optimization
Optim.jl
Optimization functions for Julia
Stars: ✭ 679 (+9600%)
Mutual labels:  optimization
React Ssr Optimization
React.js server-side rendering optimization with component memoization and templatization
Stars: ✭ 806 (+11414.29%)
Mutual labels:  optimization
Cppnumericalsolvers
a lightweight C++17 library of numerical optimization methods for nonlinear functions (Including L-BFGS-B for TensorFlow)
Stars: ✭ 638 (+9014.29%)
Mutual labels:  optimization
Pydis
A redis clone in Python 3 to disprove some falsehoods about performance.
Stars: ✭ 623 (+8800%)
Mutual labels:  optimization
D912pxy
DirectX9 to DirectX12 API proxy for Guild Wars 2
Stars: ✭ 833 (+11800%)
Mutual labels:  optimization
Pennylane
PennyLane is a cross-platform Python library for differentiable programming of quantum computers. Train a quantum computer the same way as a neural network.
Stars: ✭ 800 (+11328.57%)
Mutual labels:  optimization

libLAML

libLAML (Linear Algebra and Machine Learning) is a stand-alone pure C++ library for linear algebra and machine learning. libLAML can be compiled on MinGW, Linux, and Mac OS X. The goal is to build efficient and easy-to-use linear algebra and machine learning libraries. libLAML allows full control of the basic data structures for matrices and vectors, which is required to have fast implementation for machine learning methods. Additionally, libLAML provides a lot of commonly used matrix functions in the same signature to MATLAB, thus can also be used to manually convert MATLAB code to C++ code.

The built-in linear algebra library supports well-designed dense or sparse matrices and vectors. Standard compressed sparse column (CSC) and compressed sparse row (CSR) are used to design and implement sparse matrices. Unlike other linear algebra libraries in C++, the built-in linear algebra library in libLAML gives users full control of sparse matrices and vectors (e.g., the interior arrays in sparse matrices), which is crucial to make efficient high level implementations.

libLAML v.s. LAML

libLAML is at least 4 times faster than LAML, though I merely convert LAML in Java to libLAML in C++. I believe the only reason is programming language. For runtime performance, I guess C++ is better than Java. Actually, it won't take so much time to manually convert Java code to C++ code.

Features: Stand-alone C++ library Built-in Linear Algebra (LA) library Full control of matrices and vectors Fast implementation of Machine Learning (ML) methods Matrix functions with almost the same signature to MATLAB Well documented source code and friendly API, very easy to use

Packages: ./decomposition LU, QR, eigenvalue decomposition, and SVD ./matrix Sparse and dense matrix implementation ./vector Sparse and dense vector implementation ./utils Matlab-style functions, printer, time, array operations, and fast in-place operations ./optimization L-BFGS, BoundConstrainedPLBFGS, NonnegativePLBFGS, Projection, ProximalMapping, ShrinkageOperator, accelerated proximal gradient, accelerated gradient descent, nonlinear conjugate gradient ./classification Linear SVM, linear multi-class SVM, logistic regression ./kernel Commonly used kernel functions ('linear' | 'poly' | 'rbf' | 'cosine') ./manifold Commonly used manifold learning functions such as computing adjacency matrix, Laplacian matrix, and local learning regularization matrix ./clustering K-means, L1NMF, NMF, and spectral clustering ./regression LASSO ./random Multivariate Gaussian distribution ./recovery Matrix completion and robust PCA ./sequence Hidden Markov Models (HMM) and Conditional Random Fields (CRF)


Version: 1.4 Author: Mingjie Qian Date: Mar. 5th, 2014

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].