Macaulay2 Engine
Loading...
Searching...
No Matches
FF_LUComputation Class Reference

LU decomposition over a domain using fraction-free Gaussian elimination. More...

#include <fractionfreeLU.hpp>

Static Public Member Functions

static M2_arrayintOrNull DO (MutableMatrix *M)

Private Member Functions

 FF_LUComputation (MutableMatrix *M)
 ~FF_LUComputation ()
bool choose_pivot_column (int lo, int hi, int &result)
void do_pivots (int lo, int hi, int pivot_col)
bool calc ()
M2_arrayint get_column_permutation ()

Private Attributes

const RingR
MutableMatrixM
intcol_perm
boolneed_div
int pivot_col
ring_elem lastpivot
ring_elem pivot

Detailed Description

LU decomposition over a domain using fraction-free Gaussian elimination.

Note
AI-generated documentation. Verify against the source before relying on it.

The classical Bareiss-style algorithm: at each step, the new entry is (pivot * a - factor * b) / lastpivot, where the division is exact because the ring is a domain. Tracks col_perm for the column permutation and need_div[i] for which columns still need the trailing division. Used by the engine wherever an integer-coefficient LU is needed without introducing fractions.

Definition at line 53 of file fractionfreeLU.hpp.


The documentation for this class was generated from the following files: