// This file is part of the Herezh++ application.
//
// The finite element software Herezh++ is dedicated to the field
// of mechanics for large transformations of solid structures.
// It is developed by Gérard Rio (APP: IDDN.FR.010.0106078.000.R.P.2006.035.20600)
// INSTITUT DE RECHERCHE DUPUY DE LÔME (IRDL) <https://www.irdl.fr/>.
//
// Herezh++ is distributed under GPL 3 license ou ultérieure.
//
// Copyright (C) 1997-2022 Université Bretagne Sud (France)
// AUTHOR : Gérard Rio
// E-MAIL  : gerardrio56@free.fr
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License,
// or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program. If not, see <https://www.gnu.org/licenses/>.
//
// For more information, please consult: <https://herezh.irdl.fr/>.

#include "LesValVecPropres.h"

#include <fstream>
// s'il manque, il y a un pb dans LesValVecPropres::Affiche(ostream& sort) const 



// CONSTRUCTEURS :
// par defaut
LesValVecPropres::LesValVecPropres () :
 VaeP()
      {} ; 
// fonction d'un tableau de valeurs propres
LesValVecPropres::LesValVecPropres (Tableau <VeurPropre>& VP) :
 VaeP(VP)
      {} ; 
// DESTRUCTEUR :
LesValVecPropres::~LesValVecPropres () {};
    
// constructeur de copie
LesValVecPropres::LesValVecPropres (const LesValVecPropres & a) :
 VaeP(a.VaeP)
   {};
    
// METHODES PUBLIQUES :
    
// surcharge de l'affectation
LesValVecPropres& LesValVecPropres::operator= (const LesValVecPropres& a)
  { VaeP = a.VaeP;
    return (*this);
    };
// affichage des valeurs et vecteurs propres
void LesValVecPropres::Affiche(ostream& sort) const 
  {  sort << "\n        -> valeurs et vecteurs propres associés \n";
     sort << "               <---------------------->       \n";
     for (int i=1;i<= VaeP.Taille(); i++)
       { sort << "\n valeur propre nb " << i << " = " << VaeP(i).Val() << '\n';
         sort << " le vecteur propre : \n";
         VaeP(i).Pv().Affiche();
         sort << "               <---------------------->       \n";
        }
  };