NumericAL
A header-only C++20 lexer built on REAL
Loading...
Searching...
No Matches
numerical Directory Reference
Directory dependency graph for numerical:

Files

 amx.hpp
 The matrix coprocessor of Apple's M-series chips (AMX), for the double matrix product.
 
 blas.hpp
 The column-major semantics of the BLAS and LAPACK routines NumericAL stands in for (ddot, dgemm, dsyrk, dgemv, dtrsm, dgesv, dgetrf, dgetrs, dpotrf, dpotrs, dsyevd, dgesdd, dgeqrf, dorgqr, dgelsd, dgeev), as their reference implementations define them, over NumericAL's kernels: what the optional numerical_blas library exports with the Fortran calling convention (blas/numerical_blas.cpp), so that a program linked against BLAS and LAPACK, or a switch such as FlexiBLAS, can run on NumericAL.
 
 buffer.hpp
 numerical::buffer, the storage of the library's vectors, matrices and tensors: a std::vector whose elements constructed with no value are left uninitialised.
 
 decomposition.hpp
 Matrix factorisations and the algorithms built on them.
 
 eigen.hpp
 The eigenvalues and eigenvectors of a general square matrix.
 
 gemm.hpp
 The matrix product kernel behind matrix * matrix and the einsum matmul path.
 
 matrix.hpp
 A dense, row-major, value-semantic matrix over a scalar type.
 
 numerical.hpp
 Single public header for NumericAL — include this to use the library.
 
 parallel.hpp
 A minimal std::thread parallel-for for the hot kernels.
 
 simd.hpp
 The native vector of float and double the kernels hold their lanes in (GNU vector extensions, under GCC and clang; a kernel keeps a scalar form beside it for other compilers).
 
 tensor.hpp
 A dense, row-major, N-dimensional tensor and Einstein summation.
 
 tensor_ops.hpp
 Element-wise arithmetic with NumPy's broadcasting, reductions, reshaping and creation of tensors.
 
 vector.hpp
 A dense, value-semantic vector over a scalar type.
 
 x86.hpp
 The x86-64 tiles of the double matrix product: AVX-512 and AVX2 with FMA, chosen at run time.