Google OR-Tools v9.15
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
operations_research::glop::TriangularMatrix Class Reference

Detailed Description

Definition at line 600 of file sparse.h.

#include <sparse.h>

Inheritance diagram for operations_research::glop::TriangularMatrix:
operations_research::glop::CompactSparseMatrix

Public Member Functions

 TriangularMatrix ()
 TriangularMatrix (const TriangularMatrix &)=delete
TriangularMatrixoperator= (const TriangularMatrix &)=delete
void PopulateFromTranspose (const TriangularMatrix &input)
void Swap (TriangularMatrix *other)
bool IsEmpty () const
RowIndex num_rows () const
ColIndex num_cols () const
EntryIndex num_entries () const
void Reset (RowIndex num_rows, ColIndex col_capacity)
void PopulateFromTriangularSparseMatrix (const SparseMatrix &input)
void AddTriangularColumn (const ColumnView &column, RowIndex diagonal_row)
void AddTriangularColumnWithGivenDiagonalEntry (const SparseColumn &column, RowIndex diagonal_row, Fractional diagonal_value)
void AddDiagonalOnlyColumn (Fractional diagonal_value)
void AddAndNormalizeTriangularColumn (const SparseColumn &column, RowIndex diagonal_row, Fractional diagonal_coefficient)
void ApplyRowPermutationToNonDiagonalEntries (const RowPermutation &row_perm)
void CopyColumnToSparseColumn (ColIndex col, SparseColumn *output) const
void CopyToSparseMatrix (SparseMatrix *output) const
ColIndex GetFirstNonIdentityColumn () const
Fractional GetDiagonalCoefficient (ColIndex col) const
bool ColumnIsDiagonalOnly (ColIndex col) const
void LowerSolve (DenseColumn *rhs) const
void UpperSolve (DenseColumn *rhs) const
void TransposeUpperSolve (DenseColumn *rhs) const
void LowerSolveStartingAt (ColIndex start, DenseColumn *rhs) const
void TransposeLowerSolve (DenseColumn *rhs) const
void HyperSparseSolve (DenseColumn *rhs, RowIndexVector *non_zero_rows) const
void HyperSparseSolveWithReversedNonZeros (DenseColumn *rhs, RowIndexVector *non_zero_rows) const
void TransposeHyperSparseSolve (DenseColumn *rhs, RowIndexVector *non_zero_rows) const
void TransposeHyperSparseSolveWithReversedNonZeros (DenseColumn *rhs, RowIndexVector *non_zero_rows) const
void ComputeRowsToConsiderWithDfs (RowIndexVector *non_zero_rows) const
void ComputeRowsToConsiderInSortedOrder (RowIndexVector *non_zero_rows) const
void PermutedLowerSolve (const SparseColumn &rhs, const RowPermutation &row_perm, const RowMapping &partial_inverse_row_perm, SparseColumn *lower, SparseColumn *upper) const
void PermutedLowerSparseSolve (const ColumnView &rhs, const RowPermutation &row_perm, SparseColumn *lower, SparseColumn *upper)
int64_t NumFpOperationsInLastPermutedLowerSparseSolve () const
bool IsLowerTriangular () const
bool IsUpperTriangular () const
void PermutedComputeRowsToConsider (const ColumnView &rhs, const RowPermutation &row_perm, RowIndexVector *lower_column_rows, RowIndexVector *upper_column_rows)
Fractional ComputeInverseInfinityNormUpperBound () const
Fractional ComputeInverseInfinityNorm () const

Constructor & Destructor Documentation

◆ TriangularMatrix() [1/2]

operations_research::glop::TriangularMatrix::TriangularMatrix ( )
inline

Definition at line 602 of file sparse.h.

◆ TriangularMatrix() [2/2]

operations_research::glop::TriangularMatrix::TriangularMatrix ( const TriangularMatrix & )
delete

Member Function Documentation

◆ AddAndNormalizeTriangularColumn()

void operations_research::glop::TriangularMatrix::AddAndNormalizeTriangularColumn ( const SparseColumn & column,
RowIndex diagonal_row,
Fractional diagonal_coefficient )

Definition at line 713 of file sparse.cc.

◆ AddDiagonalOnlyColumn()

void operations_research::glop::TriangularMatrix::AddDiagonalOnlyColumn ( Fractional diagonal_value)

Definition at line 694 of file sparse.cc.

◆ AddTriangularColumn()

void operations_research::glop::TriangularMatrix::AddTriangularColumn ( const ColumnView & column,
RowIndex diagonal_row )

Definition at line 698 of file sparse.cc.

◆ AddTriangularColumnWithGivenDiagonalEntry()

void operations_research::glop::TriangularMatrix::AddTriangularColumnWithGivenDiagonalEntry ( const SparseColumn & column,
RowIndex diagonal_row,
Fractional diagonal_value )

Definition at line 730 of file sparse.cc.

◆ ApplyRowPermutationToNonDiagonalEntries()

void operations_research::glop::TriangularMatrix::ApplyRowPermutationToNonDiagonalEntries ( const RowPermutation & row_perm)

Definition at line 770 of file sparse.cc.

◆ ColumnIsDiagonalOnly()

bool operations_research::glop::TriangularMatrix::ColumnIsDiagonalOnly ( ColIndex col) const
inline

Definition at line 679 of file sparse.h.

◆ ComputeInverseInfinityNorm()

Fractional operations_research::glop::TriangularMatrix::ComputeInverseInfinityNorm ( ) const

Definition at line 1544 of file sparse.cc.

◆ ComputeInverseInfinityNormUpperBound()

Fractional operations_research::glop::TriangularMatrix::ComputeInverseInfinityNormUpperBound ( ) const

Definition at line 1516 of file sparse.cc.

◆ ComputeRowsToConsiderInSortedOrder()

void operations_research::glop::TriangularMatrix::ComputeRowsToConsiderInSortedOrder ( RowIndexVector * non_zero_rows) const

Definition at line 1465 of file sparse.cc.

◆ ComputeRowsToConsiderWithDfs()

void operations_research::glop::TriangularMatrix::ComputeRowsToConsiderWithDfs ( RowIndexVector * non_zero_rows) const

Definition at line 1387 of file sparse.cc.

◆ CopyColumnToSparseColumn()

void operations_research::glop::TriangularMatrix::CopyColumnToSparseColumn ( ColIndex col,
SparseColumn * output ) const

Definition at line 778 of file sparse.cc.

◆ CopyToSparseMatrix()

void operations_research::glop::TriangularMatrix::CopyToSparseMatrix ( SparseMatrix * output) const

Definition at line 790 of file sparse.cc.

◆ GetDiagonalCoefficient()

Fractional operations_research::glop::TriangularMatrix::GetDiagonalCoefficient ( ColIndex col) const
inline

Definition at line 674 of file sparse.h.

◆ GetFirstNonIdentityColumn()

ColIndex operations_research::glop::TriangularMatrix::GetFirstNonIdentityColumn ( ) const
inline

Definition at line 669 of file sparse.h.

◆ HyperSparseSolve()

void operations_research::glop::TriangularMatrix::HyperSparseSolve ( DenseColumn * rhs,
RowIndexVector * non_zero_rows ) const

Definition at line 977 of file sparse.cc.

◆ HyperSparseSolveWithReversedNonZeros()

void operations_research::glop::TriangularMatrix::HyperSparseSolveWithReversedNonZeros ( DenseColumn * rhs,
RowIndexVector * non_zero_rows ) const

Definition at line 1009 of file sparse.cc.

◆ IsEmpty()

bool operations_research::glop::TriangularMatrix::IsEmpty ( ) const
inline

Definition at line 613 of file sparse.h.

◆ IsLowerTriangular()

bool operations_research::glop::TriangularMatrix::IsLowerTriangular ( ) const

Definition at line 750 of file sparse.cc.

◆ IsUpperTriangular()

bool operations_research::glop::TriangularMatrix::IsUpperTriangular ( ) const

Definition at line 760 of file sparse.cc.

◆ LowerSolve()

void operations_research::glop::TriangularMatrix::LowerSolve ( DenseColumn * rhs) const

Definition at line 797 of file sparse.cc.

◆ LowerSolveStartingAt()

void operations_research::glop::TriangularMatrix::LowerSolveStartingAt ( ColIndex start,
DenseColumn * rhs ) const

Definition at line 801 of file sparse.cc.

◆ num_cols()

ColIndex operations_research::glop::TriangularMatrix::num_cols ( ) const
inline

Definition at line 615 of file sparse.h.

◆ num_entries()

EntryIndex operations_research::glop::TriangularMatrix::num_entries ( ) const
inline

Definition at line 616 of file sparse.h.

◆ num_rows()

RowIndex operations_research::glop::TriangularMatrix::num_rows ( ) const
inline

Definition at line 614 of file sparse.h.

◆ NumFpOperationsInLastPermutedLowerSparseSolve()

int64_t operations_research::glop::TriangularMatrix::NumFpOperationsInLastPermutedLowerSparseSolve ( ) const
inline

Definition at line 802 of file sparse.h.

◆ operator=()

TriangularMatrix & operations_research::glop::TriangularMatrix::operator= ( const TriangularMatrix & )
delete

◆ PermutedComputeRowsToConsider()

void operations_research::glop::TriangularMatrix::PermutedComputeRowsToConsider ( const ColumnView & rhs,
const RowPermutation & row_perm,
RowIndexVector * lower_column_rows,
RowIndexVector * upper_column_rows )

Definition at line 1273 of file sparse.cc.

◆ PermutedLowerSolve()

void operations_research::glop::TriangularMatrix::PermutedLowerSolve ( const SparseColumn & rhs,
const RowPermutation & row_perm,
const RowMapping & partial_inverse_row_perm,
SparseColumn * lower,
SparseColumn * upper ) const

Definition at line 1150 of file sparse.cc.

◆ PermutedLowerSparseSolve()

void operations_research::glop::TriangularMatrix::PermutedLowerSparseSolve ( const ColumnView & rhs,
const RowPermutation & row_perm,
SparseColumn * lower,
SparseColumn * upper )

Definition at line 1193 of file sparse.cc.

◆ PopulateFromTranspose()

void operations_research::glop::TriangularMatrix::PopulateFromTranspose ( const TriangularMatrix & input)

Definition at line 537 of file sparse.cc.

◆ PopulateFromTriangularSparseMatrix()

void operations_research::glop::TriangularMatrix::PopulateFromTriangularSparseMatrix ( const SparseMatrix & input)

Definition at line 741 of file sparse.cc.

◆ Reset()

void operations_research::glop::TriangularMatrix::Reset ( RowIndex num_rows,
ColIndex col_capacity )

Definition at line 570 of file sparse.cc.

◆ Swap()

void operations_research::glop::TriangularMatrix::Swap ( TriangularMatrix * other)

Definition at line 650 of file sparse.cc.

◆ TransposeHyperSparseSolve()

void operations_research::glop::TriangularMatrix::TransposeHyperSparseSolve ( DenseColumn * rhs,
RowIndexVector * non_zero_rows ) const

Definition at line 1044 of file sparse.cc.

◆ TransposeHyperSparseSolveWithReversedNonZeros()

void operations_research::glop::TriangularMatrix::TransposeHyperSparseSolveWithReversedNonZeros ( DenseColumn * rhs,
RowIndexVector * non_zero_rows ) const

Definition at line 1096 of file sparse.cc.

◆ TransposeLowerSolve()

void operations_research::glop::TriangularMatrix::TransposeLowerSolve ( DenseColumn * rhs) const

Definition at line 919 of file sparse.cc.

◆ TransposeUpperSolve()

void operations_research::glop::TriangularMatrix::TransposeUpperSolve ( DenseColumn * rhs) const

Definition at line 868 of file sparse.cc.

◆ UpperSolve()

void operations_research::glop::TriangularMatrix::UpperSolve ( DenseColumn * rhs) const

Definition at line 833 of file sparse.cc.


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