Template Function bats::zigzag::reduce_column(size_t, ColumnMatrix<VecT>&, ColumnMatrix<VecT>&, std::vector<size_t>&, typename VecT::tmp_type&, reduction_flag)

Function Documentation

template<typename VecT, typename reduction_flag>
size_t bats::zigzag::reduce_column(size_t j, ColumnMatrix<VecT> &M, ColumnMatrix<VecT> &U, std::vector<size_t> &p2c, typename VecT::tmp_type &tmp, reduction_flag)

reduce column j past the pivot. Heuristic strategy to reduce fill-in during reduction reduce a column of M. Will eliminate pivots in column using columns to the left. If a pivot is shared by column to right, we will continue reduction on the column to the right.

Parameters
  • j – column to reduce

  • M – partially reduced matrix

  • U – basis matrix

  • p2c – maps pivots to columns for reduction

Returns

final column which was updated