diff options
author | Georgey | 2017-07-05 11:40:43 +0530 |
---|---|---|
committer | Georgey | 2017-07-05 11:40:43 +0530 |
commit | 938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427 (patch) | |
tree | b343c0ee5609433c80e0de1db8b6886c9126dc2d /thirdparty/linux/include/coin1/IpZeroSymMatrix.hpp | |
parent | 5b72577efe080c5294b32d804e4d26351fef30bc (diff) | |
download | FOSSEE-Optimization-toolbox-938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427.tar.gz FOSSEE-Optimization-toolbox-938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427.tar.bz2 FOSSEE-Optimization-toolbox-938fef4a37a7b7c61b4b6ff74cb4cfd2f100c427.zip |
Added linux shared libraries and header files for int and ecos functions
Diffstat (limited to 'thirdparty/linux/include/coin1/IpZeroSymMatrix.hpp')
-rw-r--r-- | thirdparty/linux/include/coin1/IpZeroSymMatrix.hpp | 135 |
1 files changed, 135 insertions, 0 deletions
diff --git a/thirdparty/linux/include/coin1/IpZeroSymMatrix.hpp b/thirdparty/linux/include/coin1/IpZeroSymMatrix.hpp new file mode 100644 index 0000000..35ad95e --- /dev/null +++ b/thirdparty/linux/include/coin1/IpZeroSymMatrix.hpp @@ -0,0 +1,135 @@ +// Copyright (C) 2004, 2008 International Business Machines and others. +// All Rights Reserved. +// This code is published under the Eclipse Public License. +// +// $Id: IpZeroSymMatrix.hpp 2269 2013-05-05 11:32:40Z stefan $ +// +// Authors: Carl Laird, Andreas Waechter IBM 2004-08-13 + +#ifndef __IPZEROSYMMATRIX_HPP__ +#define __IPZEROSYMMATRIX_HPP__ + +#include "IpUtils.hpp" +#include "IpSymMatrix.hpp" + +namespace Ipopt +{ + + /** Class for Symmetric Matrices with only zero entries. + */ + class ZeroSymMatrix : public SymMatrix + { + public: + + /**@name Constructors / Destructors */ + //@{ + + /** Constructor, taking the corresponding matrix space. + */ + ZeroSymMatrix(const SymMatrixSpace* owner_space); + + /** Destructor */ + ~ZeroSymMatrix(); + //@} + + protected: + /**@name Methods overloaded from matrix */ + //@{ + virtual void MultVectorImpl(Number alpha, const Vector& x, + Number beta, Vector& y) const; + + virtual void TransMultVectorImpl(Number alpha, const Vector& x, + Number beta, Vector& y) const; + + virtual void ComputeRowAMaxImpl(Vector& rows_norms, bool init) const + {} + + virtual void ComputeColAMaxImpl(Vector& cols_norms, bool init) const + {} + + virtual void PrintImpl(const Journalist& jnlst, + EJournalLevel level, + EJournalCategory category, + const std::string& name, + Index indent, + const std::string& prefix) const; + //@} + + private: + /**@name Default Compiler Generated Methods + * (Hidden to avoid implicit creation/calling). + * These methods are not implemented and + * we do not want the compiler to implement + * them for us, so we declare them private + * and do not define them. This ensures that + * they will not be implicitly created/called. */ + //@{ + /** Default Constructor */ + ZeroSymMatrix(); + + /** Copy Constructor */ + ZeroSymMatrix(const ZeroSymMatrix&); + + /** Overloaded Equals Operator */ + void operator=(const ZeroSymMatrix&); + //@} + }; + + /** Class for matrix space for ZeroSymMatrix. */ + class ZeroSymMatrixSpace : public SymMatrixSpace + { + public: + /** @name Constructors / Destructors */ + //@{ + /** Constructor, given the number of row and columns. + */ + ZeroSymMatrixSpace(Index dim) + : + SymMatrixSpace(dim) + {} + + /** Destructor */ + virtual ~ZeroSymMatrixSpace() + {} + //@} + + /** Overloaded MakeNew method for the MatrixSpace base class. + */ + virtual Matrix* MakeNew() const + { + return MakeNewZeroSymMatrix(); + } + + /** Overloaded method from SymMatrixSpace base class + */ + virtual SymMatrix* MakeNewSymMatrix() const + { + return MakeNewZeroSymMatrix(); + } + + /** Method for creating a new matrix of this specific type. */ + ZeroSymMatrix* MakeNewZeroSymMatrix() const + { + return new ZeroSymMatrix(this); + } + private: + /**@name Default Compiler Generated Methods + * (Hidden to avoid implicit creation/calling). + * These methods are not implemented and + * we do not want the compiler to implement + * them for us, so we declare them private + * and do not define them. This ensures that + * they will not be implicitly created/called. */ + //@{ + /** Default Constructor */ + ZeroSymMatrixSpace(); + + /** Copy Constructor */ + ZeroSymMatrixSpace(const ZeroSymMatrixSpace&); + + /** Overloaded Equals Operator */ + void operator=(const ZeroSymMatrixSpace&); + //@} + }; +} // namespace Ipopt +#endif |