Classes | Functions
OSMatrix.h File Reference
#include "OSConfig.h"
#include "OSParameters.h"
#include "OSnLNode.h"
#include "OSExpressionTree.h"
#include <string>
#include <vector>
Include dependency graph for OSMatrix.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  MatrixNode
 a generic class from which we derive matrix constructors (BaseMatrix, MatrixElements, MatrixTransformation and MatrixBlocks) as well as matrix types (OSMatrix and MatrixBlock). More...
 
class  MatrixConstructor
 a data structure to describe one step in the construction of a matrix. To facilitate parsing of complicated matrix constructors and the recursion implicit in the block structure, we distinguish the following types: 1 - BaseMatrix 2 - several types of Elements (e.g., constant, var reference, etc.) 3 - Transformation 4 - MatrixBlocks 5 - MatrixBlock 6 - OSMatrix Most of the logic of this representation is derived from the OSnLNode class. More...
 
class  MatrixElements
 an abstract class to help represent the elements in a MatrixType object From this we derive concrete classes that are used to store specific types of values, such as constant values, variable references, general nonlinear expressions, etc. More...
 
class  MatrixElementValues
 an abstract class to help represent the elements in a MatrixType object From this we derive concrete classes that are used to store specific types of values, such as constant values, variable references, general nonlinear expressions, etc. More...
 
class  LinearMatrixElementTerm
 a data structure to represent a term in a linearMatrix element A term has the form c*x_{k}, where c defaults to 1 and k is a valid index for a variable This is essentially an index-value pair, but with the presence of a default value More...
 
class  LinearMatrixElement
 a data structure to represent an expression in a linearMatrix element A LinearMatrixElement is a (finite) sum of LinearMatrixElementTerms, with an optional additive constant More...
 
class  ConReferenceMatrixElement
 a data structure to represent an entry in a conReferenceMatrix element, which consists of a constraint reference as well as a value type. More...
 
class  ConstantMatrixValues
 to represent the nonzeros in a constantMatrix element More...
 
class  VarReferenceMatrixValues
 A concrete class that is used to store a specific type of matrix values, references to variable indexes defined in the core section. More...
 
class  LinearMatrixValues
 a data structure to represent the linear expressions in a LinearMatrixElement object More...
 
class  GeneralMatrixValues
 a data structure to represent the nonzeros in a generalMatrix element More...
 
class  ObjReferenceMatrixValues
 to represent the nonzeros in an objReferenceMatrix element More...
 
class  ConReferenceMatrixValues
 a data structure to represent the nonzeros in a conReferenceMatrix element More...
 
class  ConstantMatrixElements
 a data structure to represent the constant elements in a MatrixType object More...
 
class  VarReferenceMatrixElements
 a data structure to represent variable reference elements in a MatrixType object Each nonzero element is of the form x_{k} where k is the index of a variable More...
 
class  LinearMatrixElements
 a data structure to represent the nonzero values in a linearMatrix element More...
 
class  GeneralMatrixElements
 a data structure to represent the nonzero values in a generalMatrix element More...
 
class  ObjReferenceMatrixElements
 a data structure to represent objective reference elements in a MatrixType object Each nonzero element is of the form x_{k} where k is the index of an objective (i.e., less than zero) More...
 
class  ConReferenceMatrixElements
 a data structure to represent row reference elements in a MatrixType object Each nonzero element is of the form x_{k} where k is the index of a constraint More...
 
class  MixedRowReferenceMatrixElements
 a data structure to represent row reference elements in a MatrixType object Each nonzero element references a row (if index is negative) or constraint (otherwise) This class allows the combining of row and constraint references in a single matrix constructor. More...
 
class  MatrixTransformation
 a data structure to represent the nonzeroes of a matrix by transformation from other (previously defined) matrices More...
 
class  MatrixBlocks
 a data structure to represent the nonzeroes of a matrix in a blockwise fashion. Each block can be given elementwise, through transformation, or by nested blocks, and so on, recursively. More...
 
class  BaseMatrix
 a data structure to represent a point of departure for constructing a matrix by modifying parts of a previously defined matrix More...
 
class  GeneralSparseMatrix
 a sparse matrix data structure for matrices that can hold nonconstant values More...
 
class  ExpandedMatrixBlocks
 a sparse matrix data structure for matrices that can hold nonconstant values and have block structure In addition it is assumed that all nesting of blocks has been resolved. More...
 
class  MatrixType
 a data structure to represent a MatrixType object (from which we derive OSMatrix and MatrixBlock) More...
 
class  OSMatrix
 a data structure to represent a matrix object (derived from MatrixType) More...
 
class  OSMatrixWithMatrixVarIdx
 this class extends OSMatrix for use, e.g., in the matrixVar section of OSoL and OSrL More...
 
class  OSMatrixWithMatrixObjIdx
 this class extends OSMatrix for use, e.g., in the matrixObj section of OSoL and OSrL More...
 
class  OSMatrixWithMatrixConIdx
 this class extends OSMatrix for use, e.g., in the matrixCon section of OSoL and OSrL More...
 
class  MatrixBlock
 a data structure to represent a MatrixBlock object (derived from MatrixType) More...
 

Functions

LinearMatrixElementconvertToLinearMatrixElement (double val)
 Some methods to convert one type of matrix element into another. More...
 
LinearMatrixElementconvertToLinearMatrixElement (int varref)
 
ScalarExpressionTreeconvertToGeneralMatrixElement (double val)
 
ScalarExpressionTreeconvertToGeneralMatrixElement (int refIdx, bool varRef)
 
ScalarExpressionTreeconvertToGeneralMatrixElement (LinearMatrixElement *val)
 
ScalarExpressionTreeconvertToGeneralMatrixElement (ConReferenceMatrixElement *val)
 
ConReferenceMatrixElementconvertToConReferenceMatrixElement (int objref)
 

Detailed Description

Author
Horand Gassmann, Jun Ma, Kipp Martin
Remarks
Copyright (C) 2010-2015, Horand Gassmann, Jun Ma, Kipp Martin, Northwestern University, and the University of Chicago. All Rights Reserved. This software is licensed under the Eclipse Public License. Please see the accompanying LICENSE file in root directory for terms.

Definition in file OSMatrix.h.

Function Documentation

LinearMatrixElement* convertToLinearMatrixElement ( double  val)

Some methods to convert one type of matrix element into another.

Definition at line 6635 of file OSMatrix.cpp.

LinearMatrixElement* convertToLinearMatrixElement ( int  varref)

Definition at line 6651 of file OSMatrix.cpp.

ScalarExpressionTree* convertToGeneralMatrixElement ( double  val)

Definition at line 6670 of file OSMatrix.cpp.

ScalarExpressionTree* convertToGeneralMatrixElement ( int  refIdx,
bool  varRef 
)

Definition at line 6692 of file OSMatrix.cpp.

ScalarExpressionTree* convertToGeneralMatrixElement ( LinearMatrixElement val)

Definition at line 6721 of file OSMatrix.cpp.

ScalarExpressionTree* convertToGeneralMatrixElement ( ConReferenceMatrixElement val)

Definition at line 6770 of file OSMatrix.cpp.

ConReferenceMatrixElement* convertToConReferenceMatrixElement ( int  objref)

Definition at line 6783 of file OSMatrix.cpp.