Salut,

je suis en train de faire une fonction qui doit retourner un tableau de matrice (classe template defini dans BOOST::uBLAS).
Il s agit d'un tableau dynamique (en rouge dans le code ci-dessous).

Le probleme est que je ne sais pas quel type donne à ce tableau pour le definir dans "l'entete" de ma fonction et je ne sais pas comment le definir dans mon return en fin de fonction.
J ai egalement essayer d utiliser la classe vecteur de la bibliotheque standard mais apparement je ne peut pas definir un vecteur de matrice...?

Voilà mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
matrix<float> decomp_lu(matrix<float> m)
{
	matrix<float> *V_results; //pointeur de matrice
	int dim=m.size1();
	V_results = new matrix<float>[dim];
	matrix<float> l(m.size1(), m.size1());
	cout << "dimension de la matrice soumise au LU :"<<m.size1()<<"\n";

	for(int i=0; i<=m.size1()-2; i=i+1)//calcul de L, l'operation est faite (n-1) fois
	{
		//coef à 0 de la matrice L
		for(int c=0; c<m.size1(); ++ c)
		for(int d=0; d<m.size2(); ++ d)
		l(c,d)=0;
		//coef à 1 sur la diagonale de la matrice L
		for(int c=0; c<m.size1(); ++ c)
		l(c,c)=1;

		//calcul des coef non nuls de la matrice L
		for(int j=i; j<=m.size1()-2; ++ j)
		l(j+1,i)=-m(j+1,i)/m(i,i);
		
		V_results[i]=l;

		cout << "operation numero "<< i <<", L : "<< l <<"\n";
		m=prod(l, m);
		cout << "operation numero "<< i <<", U : "<< m <<"\n";
	}
	V_results[m.size1()-1]=m;
	return(m);
}
J usqu a present cette fonction ne retourne qu'une matrice, mais j aurai besoin de pouvoir en utiliser 2 par la suite d ou l idee de retourner un tableau de matrice.

Merci.