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

#include <sparse_column.h>

Inheritance diagram for operations_research::glop::SparseColumn:
operations_research::glop::SparseVector< RowIndex, SparseColumnIterator >

Public Member Functions

 SparseColumn ()
 
RowIndex EntryRow (EntryIndex i) const
 Use a separate API to get the row and coefficient of entry #i.
 
Fractional EntryCoefficient (EntryIndex i) const
 
RowIndex GetFirstRow () const
 
RowIndex GetLastRow () const
 
void ApplyRowPermutation (const RowPermutation &p)
 
void ApplyPartialRowPermutation (const RowPermutation &p)
 
- Public Member Functions inherited from operations_research::glop::SparseVector< RowIndex, SparseColumnIterator >
 SparseVector ()
 
 SparseVector (const SparseVector &other)
 
 SparseVector (SparseVector &&other)=default
 
SparseVectoroperator= (const SparseVector &other)
 
SparseVectoroperator= (SparseVector &&other)=default
 
Iterator begin () const
 
Iterator end () const
 
void Clear ()
 Clears the vector, i.e. removes all entries.
 
void ClearAndRelease ()
 Clears the vector and releases the memory it uses.
 
void Reserve (EntryIndex new_capacity)
 Reserve the underlying storage for the given number of entries.
 
bool IsEmpty () const
 Returns true if the vector is empty.
 
void CleanUp ()
 
bool IsCleanedUp () const
 
void Swap (SparseVector *other)
 
void PopulateFromSparseVector (const SparseVector &sparse_vector)
 
void PopulateFromDenseVector (const DenseVector &dense_vector)
 
void AppendEntriesWithOffset (const SparseVector &sparse_vector, Index offset)
 
bool CheckNoDuplicates () const
 
bool CheckNoDuplicates (StrictITIVector< Index, bool > *boolean_vector) const
 
void SetCoefficient (Index index, Fractional value)
 Defines the coefficient at index, i.e. vector[index] = value;.
 
void DeleteEntry (Index index)
 
void RemoveNearZeroEntries (Fractional threshold)
 
void RemoveNearZeroEntriesWithWeights (Fractional threshold, const DenseVector &weights)
 
void MoveEntryToFirstPosition (Index index)
 
void MoveEntryToLastPosition (Index index)
 
void MultiplyByConstant (Fractional factor)
 
void ComponentWiseMultiply (const DenseVector &factors)
 
void DivideByConstant (Fractional factor)
 
void ComponentWiseDivide (const DenseVector &factors)
 
void CopyToDenseVector (Index num_indices, DenseVector *dense_vector) const
 
void PermutedCopyToDenseVector (const IndexPermutation &index_perm, Index num_indices, DenseVector *dense_vector) const
 
void AddMultipleToDenseVector (Fractional multiplier, DenseVector *dense_vector) const
 
void AddMultipleToSparseVectorAndDeleteCommonIndex (Fractional multiplier, Index removed_common_index, Fractional drop_tolerance, SparseVector *accumulator_vector) const
 
void AddMultipleToSparseVectorAndIgnoreCommonIndex (Fractional multiplier, Index removed_common_index, Fractional drop_tolerance, SparseVector *accumulator_vector) const
 
void ApplyIndexPermutation (const IndexPermutation &index_perm)
 Applies the index permutation to all entries: index = index_perm[index];.
 
void ApplyPartialIndexPermutation (const IndexPermutation &index_perm)
 
void MoveTaggedEntriesTo (const IndexPermutation &index_perm, SparseVector *output)
 
Fractional LookUpCoefficient (Index index) const
 
EntryIndex num_entries () const
 Note this method can only be used when the vector has no duplicates.
 
Index GetFirstIndex () const
 
Fractional GetFirstCoefficient () const
 
Index GetLastIndex () const
 Like GetFirst*, but for the last entry.
 
Fractional GetLastCoefficient () const
 
::util::IntegerRange< EntryIndex > AllEntryIndices () const
 
bool IsEqualTo (const SparseVector &other) const
 
std::string DebugString () const
 

Friends

class ColumnView
 

Additional Inherited Members

- Public Types inherited from operations_research::glop::SparseVector< RowIndex, SparseColumnIterator >
typedef RowIndex Index
 
typedef StrictITIVector< Index, FractionalDenseVector
 
typedef Permutation< IndexIndexPermutation
 
using Iterator
 
using Entry
 
- Protected Member Functions inherited from operations_research::glop::SparseVector< RowIndex, SparseColumnIterator >
void AddEntry (Index index, Fractional value)
 
void ResizeDown (EntryIndex new_size)
 
Index GetIndex (EntryIndex i) const
 
Fractional GetCoefficient (EntryIndex i) const
 
IndexMutableIndex (EntryIndex i)
 
FractionalMutableCoefficient (EntryIndex i)
 
- Protected Attributes inherited from operations_research::glop::SparseVector< RowIndex, SparseColumnIterator >
std::unique_ptr< char[]> buffer_
 
EntryIndex num_entries_
 
EntryIndex capacity_
 
Indexindex_
 Pointers to the first elements of the index and coefficient arrays.
 
Fractionalcoefficient_
 
bool may_contain_duplicates_
 

Detailed Description

A SparseColumn is a SparseVector<RowIndex>, with a few methods renamed to help readability on the client side.

Definition at line 48 of file sparse_column.h.

Constructor & Destructor Documentation

◆ SparseColumn()

operations_research::glop::SparseColumn::SparseColumn ( )
inline

Definition at line 52 of file sparse_column.h.

Member Function Documentation

◆ ApplyPartialRowPermutation()

void operations_research::glop::SparseColumn::ApplyPartialRowPermutation ( const RowPermutation & p)
inline

Definition at line 62 of file sparse_column.h.

◆ ApplyRowPermutation()

void operations_research::glop::SparseColumn::ApplyRowPermutation ( const RowPermutation & p)
inline

Definition at line 59 of file sparse_column.h.

◆ EntryCoefficient()

Fractional operations_research::glop::SparseColumn::EntryCoefficient ( EntryIndex i) const
inline

Definition at line 56 of file sparse_column.h.

◆ EntryRow()

RowIndex operations_research::glop::SparseColumn::EntryRow ( EntryIndex i) const
inline

Use a separate API to get the row and coefficient of entry #i.

Definition at line 55 of file sparse_column.h.

◆ GetFirstRow()

RowIndex operations_research::glop::SparseColumn::GetFirstRow ( ) const
inline

Definition at line 57 of file sparse_column.h.

◆ GetLastRow()

RowIndex operations_research::glop::SparseColumn::GetLastRow ( ) const
inline

Definition at line 58 of file sparse_column.h.

Friends And Related Symbol Documentation

◆ ColumnView

friend class ColumnView
friend

Definition at line 49 of file sparse_column.h.


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