Skip to content

Mathematics

Mathematical libraries/packages, and related resources in Julia.

Organizations

General Mathematics packages

Cryptography


Cryptocurrency

Computer Arithmetic


Floating Point

Wikipedia: Floating Point

For floating-point datatypes, see data-structures.

Algebra

Resources: Ideles adeles algebraic number theory

Boolean Algebra

Boolean Algebra

Numerical Analysis

Numerical Analysis

Linear Algebra

Linear Algebra


Array Data Structures

Matrices

Wikipedia: Matrix Theory

Special Array/Matrix Algorithms, for Array Types, see Data Types section.

Sparse Matrices

Wikipedia: Sparse Matrices

Tensors

Digital signal processing (DSP)

Wikipedia: DSP

  • JuliaDSP/DSP.jl : Filter design, periodograms, window functions, and other digital signal processing functionality.
  • JuliaDSP/Wavelets.jl : Fast Discrete Wavelet Transforms written in Julia by JuliaDSP.
  • nantonel/ImageMethodReverb.jl : Julia implementation of a Room Acoustics Impulse Response Generator using the Randomized Image Method (RIM).
  • sairus7/SortFilters.jl : Fast moving quantile filters implemented as fast moving window sort algorithm.
  • stevengj/MDCT.jl : This module computes the modified discrete cosine transform (MDCT) in the Julia language and the inverse transform (IMDCT), using the fast type-IV discrete cosine transform (DCT-IV) functions in Julia (via FFTW).

Fast Fourier transform (FFT)

Wikipedia: FFT

Symbolic Computation

See modeling-simulation

Polynomials

Wikipedia: Polynomials

Functions

Wikipedia: Functions

Evaluation and approximations of functions

Calculus


Automatic Differentiation

  • dfdx/Yota.jl : Reverse-mode automatic differentiation for static and dynamic graphs.
  • EnzymeAD/Enzyme.jl : Julia bindings for the Enzyme automatic differentiator. The Enzyme project is a tool for performing reverse-mode automatic differentiation (AD) of statically-analyzable LLVM IR.
  • FluxML/Zygote.jl : Source-to-source automatic differentiation (AD) in Julia, and is the next-gen AD system for the Flux differentiable programming framework.
  • gaurav-arya/StochasticAD.jl : automatic differentiation of programs containing discrete randomness. JuliaCon 2023 video
  • JuliaDiff/ChainRules.jl : forward and reverse mode automatic differentiation primitives.
  • JuliaDiff/Diffractor.jl : An experimental next-generation, compiler-based AD system for Julia.
  • JuliaDiff/DualNumbers.jl : Julia package for representing dual numbers and for performing dual algebra.
  • JuliaDiff/ForwardDiff.jl : Forward Mode Automatic Differentiation for Julia.
  • JuliaDiff/HyperDualNumbers.jl : Hyper-Dual Numbers for Exact Second-Derivative Calculations, is structured similar to the DualNumbers package, which aims for complete support for HyperDual types for numerical functions within Julia's Base. Currently, basic mathematical operations and trigonometric functions are supported.
  • JuliaDiff/ReverseDiff.jl : Reverse Mode Automatic Differentiation for Julia.
  • mlubin/ReverseDiffSparse.jl : Hessian algorithmic differentiation to compute hessian sparsity pattern.

Mathematical Analysis

Wikipedia: Mathematical Analysis

Discrete math


Graph Theory

See graph theory section.

Information theory

Wikipedia: Information theory

  • Tchanders/InformationMeasures.jl : Entropy, mutual information and higher order measures from information theory, with various estimators and discretisation methods.