Regina Calculation Engine
Public Member Functions | Public Attributes | List of all members
regina::LPCol< LPConstraint > Struct Template Reference

Used by LPInitialTableaux<LPConstraint> to store a single column of the adjusted matching equation matrix in sparse form. More...

#include <enumerate/treelp.h>

Inheritance diagram for regina::LPCol< LPConstraint >:

Public Member Functions

 LPCol ()
 Initialises an empty column. More...
 
void push (unsigned row, int val)
 Adds the given entry in the given row to this column. More...
 

Public Attributes

unsigned nPlus
 The total number of +1 entries in this column. More...
 
unsigned plus [4]
 The rows containing these +1 entries, in any order. More...
 
unsigned nMinus
 The total number of -1 entries in this column. More...
 
unsigned minus [4]
 The rows containing these -1 entries, in any order. More...
 

Detailed Description

template<class LPConstraint>
struct regina::LPCol< LPConstraint >

Used by LPInitialTableaux<LPConstraint> to store a single column of the adjusted matching equation matrix in sparse form.

See the LPInitialTableaux class notes for details on what the "adjusted matching equation matrix" means.

Specifically, an LPCol object stores the location of each +1 entry, and the location of each -1 entry. If some entry in the matrix is greater than +1 or less than -1, we represent it using multiple +1 or -1 entries in the same matrix location.

For any additional rows that represent extra linear constraints, we inherit the coefficients directly from LPConstraint::Coefficients.

Warning
The API for this class has not yet been finalised. This means that the class interface may change in new versions of Regina, without maintaining backward compatibility. If you use this class directly in your own code, please watch the detailed changelogs upon new releases to see if you need to make changes to your code.
Python:\n Not present.

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

Copyright © 1999-2016, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@maths.uq.edu.au).