Bonjour,

J'ai l'opérateur suivant. Mon problème est que mon code tourne très lentement.
Je penses que cela est due au fait que je créé un vecteur à chaque utilisation de *.
Mais je ne vois pas comment on peut l'éviter.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
vecteur tridiag::operator*(const vecteur V){
		int N=V.size();
		vecteur Y(N);
 
		Y(0) = ann[0]*V(0) + a1n[0]*V(1);
		for (int i=1; i<N-1; ++i)
			Y(i) = an1[i-1]*V(i-1)+ann[i]*V(i)+a1n[i]*V(i+1);
 
		Y(N-1) = an1[N-2]*V(N-2)+ann[N-1]*V(N-1);
		return Y;
	}
Merci d'avance.