/** @(#) matrixdouble/squaredmatrix.h */ #ifndef SQUAREDMATRIX_H #define SQUAREDMATRIX_H //---------------------------------------------------------------------------- #include "rectangularmatrix.h" #include "../utilpos/interfacepos.h" #include <iostream> #include <string> #include <stdexcept> // runtime_error using namespace std; /** * @author Omar Posada Villarreal * @version 1.0, 02/03/2002 */ // sig version template <class TObj> class SquaredMatrix : public RectangularMatrix { private: public: /** Construye con rows = columns. */ SquaredMatrix(int size = 1, int theLogic = 0, bool cleanMe = true) : RectangularMatrix(size, size, theLogic, cleanMe) { } SquaredMatrix(RectangularMatrix &matrix); int getSize() { return rows; // = columns } /** Asegura redimensionamiento consistente. * No usar valores por omision. */ void resize(int size, int theLogic, bool cleanMe) { RectangularMatrix::resize(size, size, theLogic, cleanMe); // Java super.resize(s, s); } void upperTriangularToSymmetric(); void createRMatrix(SquaredMatrix &A, VectorDouble &d); double norm1(); double condition(); double findMinLimitEigenValue(); double findMaxLimitEigenValue(); void toIdentity(); double dominantEigenValue(VectorDouble &x, int M, int seq, SquaredMatrix &V, VectorDouble &w); }; //---------------------------------------------------------------------------- #endif // Fin------------------------------------------------------------------------