steepest descent

Le
Amine96 offline Hors ligne
Bonjour, Je suis en train d'executer la méthode de plus forte pente avec ce code : int nb_iter_max = 20;
double zero = 0.;
double tol_num = 1E-1;// tolerance numerique, "e;e;e;e;zero"e;e;e;e; numérique
int compteur = 0;
Vecteur r = m_b;
double alpha;
while ((r.norme() > tol_num) && (compteur < nb_iter_max))
{
compteur++;
alpha = (r.norme()) / (r * (m_A * r));
m_x = m_x + (alpha * r);
std::cout << "e;e;e;e;Valeur courante de x :n"e;e;e;e;;
m_x.Affiche();
r = m_b - ( m_A * m_x );
std::cout << "e;e;e;e;Valeur courante du residu :n"e;e;e;e;;
std::cout << r.norme() << "e;e;e;e;n"e;e;e;e;;
//norme = sqrt((m_r) * (m_r));
}
est ce que quelqu un peut me dire pourquoi la norme du résidu n'atteint jamais mon zero numérique
  • Partager ce contenu :
Vos réponses
Poster une réponse
Anonyme