packages feed

moonlight-linalg-0.1.0.0: src-public/Moonlight/LinAlg/Dense/GF2.hs

-- | GF(2) scalars, packed bit rows, and packed GF(2) linear maps for boundary and incidence computations.
module Moonlight.LinAlg.Dense.GF2
  ( GF2 (..),
    gf2Zero,
    gf2One,
    gf2FromBool,
    gf2ToBool,
    PackedRow,
    packedRowWidth,
    packedRowNonZeroCount,
    emptyPackedRow,
    unitPackedRow,
    packedRowFromIndices,
    packedRowIndices,
    packedRowMember,
    packedRowIsZero,
    packedRowXor,
    packedRowRemap,
    PackedLinearMap,
    packedLinearMapDomain,
    packedLinearMapCodomain,
    packedLinearMapColumns,
    packedLinearMapFromColumns,
    packedLinearMapFromEntries,
    zeroPackedLinearMap,
    identityPackedLinearMap,
    applyPackedLinearMap,
    composePackedLinearMaps,
    addPackedLinearMaps,
    packedLinearMapIsZero,
    PackedSpan,
    emptyPackedSpan,
    packedSpanFromRows,
    reducePackedRow,
    admitPackedRow,
    ColumnReduction (..),
    reducePackedColumns,
    PackedCoordinateSolver,
    packedCoordinateSolver,
    coordinatesInPackedBasis,
    inverseFromPackedBasisColumns,
    GF2MatrixEntry (..),
    GF2PackedMatrix,
    gf2PackedRows,
    gf2PackedColumns,
    gf2PackedWordsPerRow,
    gf2PackedWords,
    GF2PackedMatrixFailure (..),
    mkGF2PackedMatrix,
    mkGF2PackedMatrixFromRowMajor,
    rankGF2PackedMatrix,
    gf2PackedMatrixLinearMap,
    inverseGF2PackedMatrix,
    GF2SparseColumn,
    gf2SparseColumnIndex,
    gf2SparseColumnRows,
    mkGF2SparseColumn,
    GF2SparseReducerConfig,
    gf2SparseDensifyThreshold,
    mkGF2SparseReducerConfig,
    defaultGF2SparseReducerConfig,
    GF2SparseColumnReduction (..),
    reduceGF2SparseColumns,
    rankGF2SparseColumns,
    independentGF2SparseColumns,
    kernelBasisGF2SparseColumns,
  )
where

import Moonlight.LinAlg.Pure.Dense.GF2
  ( GF2 (..),
    GF2MatrixEntry (..),
    GF2PackedMatrix,
    GF2PackedMatrixFailure (..),
    GF2SparseColumn,
    GF2SparseColumnReduction (..),
    GF2SparseReducerConfig,
    ColumnReduction (..),
    PackedCoordinateSolver,
    PackedLinearMap,
    PackedRow,
    PackedSpan,
    addPackedLinearMaps,
    admitPackedRow,
    applyPackedLinearMap,
    composePackedLinearMaps,
    coordinatesInPackedBasis,
    defaultGF2SparseReducerConfig,
    emptyPackedRow,
    emptyPackedSpan,
    gf2FromBool,
    gf2One,
    gf2PackedMatrixLinearMap,
    gf2PackedColumns,
    gf2PackedRows,
    gf2PackedWords,
    gf2PackedWordsPerRow,
    gf2SparseColumnIndex,
    gf2SparseColumnRows,
    gf2SparseDensifyThreshold,
    gf2ToBool,
    gf2Zero,
    identityPackedLinearMap,
    independentGF2SparseColumns,
    inverseFromPackedBasisColumns,
    inverseGF2PackedMatrix,
    kernelBasisGF2SparseColumns,
    mkGF2SparseColumn,
    mkGF2SparseReducerConfig,
    mkGF2PackedMatrix,
    mkGF2PackedMatrixFromRowMajor,
    packedCoordinateSolver,
    packedLinearMapCodomain,
    packedLinearMapColumns,
    packedLinearMapDomain,
    packedLinearMapFromColumns,
    packedLinearMapFromEntries,
    packedLinearMapIsZero,
    packedRowFromIndices,
    packedRowIndices,
    packedRowIsZero,
    packedRowMember,
    packedRowNonZeroCount,
    packedRowRemap,
    packedRowWidth,
    packedRowXor,
    packedSpanFromRows,
    rankGF2SparseColumns,
    rankGF2PackedMatrix,
    reduceGF2SparseColumns,
    reducePackedColumns,
    reducePackedRow,
    unitPackedRow,
    zeroPackedLinearMap,
  )