Je travaille avec la bibliothèque Armadillo en C++. Au début, je calcule une matrice spéciale (dans mon code: P), puis je calcule la décomposition QR (dans mon code: Q). A la fin j'ai besoin de retourner à la fois P et Q et aussi une autre matrice T à ma fonction principale.retourner plusieurs matrices en C++ (bibliothèque Armadillo)
#include <iostream>
#include <armadillo>
using namespace std;
using namespace arma;
double phi(int n, int q){
...
mat P(n,n);
P=...
mat Q,R;
qr(Q,R,P);
return P:
return Q;
return Q;
...
}
int main() {
...
int n,q;
cout<<"Enter the value of parameters n and q respectively:"<<endl;
cin>> n>>q;
phi(n,q);
...
}
Je cherche une méthode pour revenir ces matrices dans tatou à l'aide des pointeurs et references.Here mes matrices sont énormes et sont généralement 500 * 500 ou 1000 * 1000. Est-ce que quelqu'un a la solution? Merci d'avance
Pourquoi ne pas changer la signature du phi pour inclure deux pointeurs sur P et Q et les passer de main? – 16tons
Je veux utiliser la fonction phi dans RCPP. Je ne suis pas sûr que cela fonctionne correctement là. Si je ne pouvais pas trouver une autre solution, je dois utiliser des pointeurs. – Ham82
Vous pouvez utiliser un 'std :: tuple' avec' std :: tie', voir http://fr.cppreference.com/w/cpp/utility/tuple – Jonas