14 #ifndef OR_TOOLS_GLOP_UPDATE_ROW_H_
15 #define OR_TOOLS_GLOP_UPDATE_ROW_H_
69 return coefficient_[
col];
80 std::string
StatString()
const {
return stats_.StatString(); }
88 const std::string& algorithm);
102 void ComputeUnitRowLeftInverse(RowIndex leaving_row);
106 void ComputeUpdatesRowWise();
107 void ComputeUpdatesRowWiseHypersparse();
108 void ComputeUpdatesColumnWise();
122 std::vector<ColIndex> unit_row_left_inverse_filtered_non_zeros_;
131 bool compute_update_row_;
132 RowIndex update_row_computed_for_;
138 unit_row_left_inverse_density(
"unit_row_left_inverse_density", this),
139 unit_row_left_inverse_accuracy(
"unit_row_left_inverse_accuracy",
141 update_row_density(
"update_row_density", this) {}
149 int64_t num_operations_;
152 GlopParameters parameters_;
const ScatteredRow & GetUnitRowLeftInverse() const
const ScatteredRow & ComputeAndGetUnitRowLeftInverse(RowIndex leaving_row)
const DenseRow & GetCoefficients() const
void ComputeUpdateRowForBenchmark(const DenseRow &lhs, const std::string &algorithm)
UpdateRow(const CompactSparseMatrix &matrix, const CompactSparseMatrix &transposed_matrix, const VariablesInfo &variables_info, const RowToColMapping &basis, const BasisFactorization &basis_factorization)
void RecomputeFullUpdateRow(RowIndex leaving_row)
const Fractional GetCoefficient(ColIndex col) const
void ComputeUpdateRow(RowIndex leaving_row)
void SetParameters(const GlopParameters ¶meters)
double DeterministicTime() const
const ColIndexVector & GetNonZeroPositions() const
std::string StatString() const
std::vector< ColIndex > ColIndexVector
static double DeterministicTimeForFpOperations(int64_t n)
Collection of objects used to extend the Constraint Solver library.