Skip to main content

tensorcomputation

Descriptions

  • Tensor and matrix computation
  • Linear Solvers
  • Nonlinear Solvers
  • Matrix Equations
  • HPC

MKL Labpack

PETSc and SLEPc

PETSc 3.17 โ€” PETSc 3.17.3 documentation

Scalable Library for Eigenvalue Problem ComputationsSLEPc / slepc ยท GitLab

suitesparse

suitesparse : a suite of sparse matrix software

Pardiso and MKLPardiso

HSL

HSL Mathematical Software Library

MUMPS

MUMPS : a parallel sparse direct solver

cuSolvers

cuSOLVER :: CUDA Toolkit Documentation

3.1.3. Matrix and Tensor computationโ€‹

Matrix organization

JuliaArrays

JuliaMatrices

RalphAS

GoodJuliaLinearAlgebra

JuliaSparse

JuliaLang/SparseArrays.jl: SparseArrays.jl is a Julia stdlib

SciML/LabelledArrays.jl: Arrays which also have a label for each element for easy scientific machine learning (SciML)

SciML/RecursiveArrayTools.jl: Tools for easily handling objects like arrays of arrays and deeper nestings in scientific machine learning (SciML) and other applications

Python:

numpy

numba

scikit-hep/awkward-1.0: Manipulate JSON-like data with NumPy-like idioms.

Special Matrix and Arraysโ€‹

JuliaMatrices/SpecialMatrices.jl: Julia package for working with special matrix types.

SciML/LabelledArrays.jl: Arrays which also have a label for each element for easy scientific machine learning (SciML)

Computation โ€‹

BLAS and LAPACKJuliaLinearAlgebra/MKL.jl: Intel MKL linear algebra backend for Julia

mcabbott/Tullio.jl: โ…€

JuliaLinearAlgebra/Octavian.jl: Multi-threaded BLAS-like library that provides pure Julia matrix multiplication

JuliaGPU/GemmKernels.jl: Flexible and performant GEMM kernels in Julia

MasonProtter/Gaius.jl: Divide and Conquer Linear Algebra

Eigenvalues and Solvers โ€‹

Eignep-pack/NonlinearEigenproblems.jl: Nonlinear eigenvalue problems in Julia: Iterative methods and benchmarks

SolverSciML/LinearSolve.jl: LinearSolve.jl: High-Performance Unified Linear Solvers

Julia:

Eig: JuliaLinearAlgebra/Arpack.jl: Julia Wrappers for the arpack-ng Fortran library

dgleich/GenericArpack.jl: A pure Julia translation of the Arpack library for eigenvalues and eigenvectors but for any numeric types. (Symmetric only right now)

JuliaLinearAlgebra/ArnoldiMethod.jl: Implicitly Restarted Arnoldi Method, natively in Julia

Jutho/KrylovKit.jl: Krylov methods for linear problems, eigenvalues, singular values and matrix functions

pablosanjose/QuadEig.jl: Julia implementation of the quadeig algorithm for the solution of quadratic matrix pencils

JuliaApproximation/SpectralMeasures.jl: Julia package for finding the spectral measure of structured self adjoint operators

dgleich/GenericArpack.jl: A pure Julia translation of the Arpack library for eigenvalues and eigenvectors but for any numeric types. (Symmetric only right now)

Solver:

JuliaInv/KrylovMethods.jl: Simple and fast Julia implementation of Krylov subspace methods for linear systems.

JuliaSmoothOptimizers/Krylov.jl: A Julia Basket of Hand-Picked Krylov Methods

Eig TooJuliaLinearAlgebra/IterativeSolvers.jl: Iterative algorithms for solving linear systems, eigensystems, and singular value problems

tjdiamandis/RandomizedPreconditioners.jl

JuliaLinearAlgebra/RecursiveFactorization.jl

Spectral methods

JuliaApproximation/SpectralMeasures.jl: Julia package for finding the spectral measure of structured self adjoint operators

tpapp/SpectralKit.jl: Building blocks of spectral methods for Julia.

markmbaum/BasicInterpolators.jl: Basic (+chebyshev) interpolation recipes in Julia

Spasrse Slover

SparseJuliaSparse/Pardiso.jl: Calling the PARDISO library from Julia

SparseJuliaSparse/MKLSparse.jl: Make available to Julia the sparse functionality in MKL

SparseJuliaLang/SuiteSparse.jl: Development of SuiteSparse.jl, which ships as part of the Julia standard library.

Python:

scipy.sparse.linalg.eigs โ€” SciPy v1.7.1 Manual

Maps and Operatorsโ€‹

Jutho/LinearMaps.jl: A Julia package for defining and working with linear maps, also known as linear transformations or linear operators acting on vectors. The only requirement for a LinearMap is that it can act on a vector (by multiplication) efficiently.

emmt/LazyAlgebra.jl: A Julia package to extend the notion of vectors and matrices

JuliaSmoothOptimizers/LinearOperators.jl: Linear Operators for Julia

kul-optec/AbstractOperators.jl: Abstract operators for large scale optimization in Julia

matthieugomez/InfinitesimalGenerators.jl: A set of tools to work with Markov Processes

ranocha/SummationByPartsOperators.jl: A Julia library of summation-by-parts (SBP) operators used in finite difference, Fourier pseudospectral, continuous Galerkin, and discontinuous Galerkin methods to get provably stable semidiscretizations, paying special attention to boundary conditions.

hakkelt/FunctionOperators.jl: Julia package that allows writing code close to mathematical notation memory-efficiently.

JuliaApproximation/ApproxFun.jl: Julia package for function approximation

Matrxi Equationsโ€‹

andreasvarga/MatrixEquations.jl: Solution of Lyapunov, Sylvester and Riccati matrix equations using Julia

Kronecker-based algebraโ€‹

MichielStock/Kronecker.jl: A general-purpose toolbox for efficient Kronecker-based algebra.