15#ifndef MINOTAUREIGEN_H
16#define MINOTAUREIGEN_H
23 class QuadraticFunction;
24 typedef QuadraticFunction *QuadraticFunctionPtr;
25 typedef const QuadraticFunction *ConstQuadraticFunctionPtr;
29 typedef std::pair<double, LinearFunctionPtr> EigenPair;
30 typedef std::vector<EigenPair>::const_iterator EigenPairConstIterator;
33 typedef Eigen *EigenPtr;
103 void getSumOfSquares(std::vector<LinearFunctionPtr> &p_terms,
104 std::vector<LinearFunctionPtr> &n_terms,
105 std::vector<double> &p_const,
106 std::vector<double> &n_const,
162 std::map<ConstVariablePtr, UInt, CompareVariablePtr> indices_;
165 std::vector<ConstVariablePtr> vars_;
208 EigenPairConstIterator
begin()
const;
211 EigenPairConstIterator
end()
const;
221 std::vector<EigenPair> evPairs_;
Declare the class LinearFunction for storing and modifying a linear function.
Construct and manage quadratic functions.
~EigenCalculator()
Destroy.
Definition: Eigen.h:75
EigenPtr findValues(ConstQuadraticFunctionPtr qf)
Calculate EigenValues only.
EigenCalculator()
Default constructor.
EigenPtr findVectors(ConstQuadraticFunctionPtr qf)
Calculate EigenVectors as well.
EigenPtr findValues(int n, double **H)
EigenPairConstIterator end() const
Get the last evPair.
Eigen()
Default constructor.
void add(double value, LinearFunctionPtr e_vector)
Add an eigen value and an eigen vector to the current list.
UInt numPositive() const
Get the number of positive eigen values.
UInt numZero() const
Get the number of zero eigen values.
UInt numNegative() const
Get the number of negative eigen values.
EigenPairConstIterator begin() const
Get the first evPair.
void write(std::ostream &s) const
Display the values and the vectors.
The base class linear function is of the form c'x.
Definition: LinearFunction.h:31
Definition: QuadraticFunction.h:38
Definition: ActiveNodeStore.h:20
unsigned int UInt
Unsigned integer.
Definition: Types.h:30