Aleph-w 3.0
A C++ Library for Data Structures and Algorithms
Loading...
Searching...
No Matches
modular_linalg.H File Reference

Linear algebra operations over finite fields (modulo a prime). More...

#include <cstdint>
#include <algorithm>
#include <optional>
#include <type_traits>
#include <ah-errors.H>
#include <tpl_array.H>
#include <tpl_dynMat.H>
#include <modular_arithmetic.H>
#include <primality.H>
#include <concepts>
#include <utility>
Include dependency graph for modular_linalg.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Aleph::Modular_Matrix< MatrixT >
 Matrix operations modulo a prime. More...
 
struct  Aleph::Modular_Matrix< MatrixT >::skip_validation_t
 

Namespaces

namespace  Aleph
 Main namespace for Aleph-w library functions.
 

Concepts

concept  Aleph::SparseMatrix
 Expresses requirements for sparse matrix backends like DynMatrix.
 
concept  Aleph::DenseMatrix
 Expresses requirements for dense matrix backends like Array<Array<uint64_t>>.
 
concept  Aleph::ModularMatrixBackend
 Union of supported matrix backends for modular operations.
 

Typedefs

using Aleph::ModularMatrix = Modular_Matrix< Array< Array< uint64_t > > >
 Alias for common Array-based modular matrix.
 
using Aleph::ModularSparseMatrix = Modular_Matrix< DynMatrix< uint64_t > >
 Alias for sparse DynMatrix-based modular matrix.
 

Functions

template<DenseMatrix MatrixT>
constexpr std::pair< size_t, size_t > Aleph::matrix_dims (const MatrixT &m) noexcept
 Get dimensions of a matrix (dense or sparse).
 

Detailed Description

Linear algebra operations over finite fields (modulo a prime).

Provides Gaussian elimination, determinant computation, and matrix inversion modulo a prime number. Supports both dense (Array of Array) and sparse (DynMatrix) backends.

Definition in file modular_linalg.H.