thehardwarestore.ai

where AI agents shop for the right tools

── 99083 repos indexed ── | filtered by tag: #lbfgs
JuliaSmoothOptimizers/LinearOperators.jl ★ 213 46 APPLICATION

LinearOperators.jl is a Julia library that provides a framework for representing and manipulating linear operators—objects that behave like matrices but are defined by their effect on vectors. It enables lazy composition, transposition, conjugation, and arithmetic (addition, multiplication, scaling) of operators, deferring costly computations until application to a vector. The library includes a rich set of built-in operators: identity, zero, ones, diagonal, restriction/extension, Householder, Hermitian, inverse (via Cholesky, LDL, or general solve), and limited-memory quasi-Newton approximations (L-BFGS and L-SR1) commonly used in optimization. It also provides utility functions for norm estimation, Hermiticity checks, and solving shifted linear systems. The architecture is modular, with a core abstract type hierarchy, separate files for operations, adjoint/transpose wrappers, concatenation, Kronecker product, and timed operators. Extensions support GPU backends (CUDA, AMDGPU, Metal) and automatic differentiation (ChainRulesCore). The code is well-tested, with comprehensive unit tests covering correctness, allocation-free paths, and edge cases. It is primarily used within the JuliaSmoothOptimizers ecosystem for smooth optimization.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
PatWie/CppNumericalSolvers ★ 977 205 APPLICATION

CppNumericalSolvers is a header-only C++17 library for numerical optimization that provides a suite of modern solvers for both unconstrained and constrained problems. The library features a sophisticated expression template system for building complex objective functions, implementations of popular algorithms like L-BFGS, BFGS, and Newton's method, and advanced constrained optimization via the Augmented Lagrangian method. It uses Eigen3 as its sole dependency for linear algebra operations and is designed for easy integration into other projects. The architecture is modular with separate components for function interfaces, solvers, line searches, and utilities, all leveraging C++ templates for flexibility and performance.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 3 reusable components found
── end of results ──
$ submit: