J'utilise Armadillo & C++ et j'essaie de trouver l'inverse d'une matrice, cependant, l'inverse renvoie juste la matrice elle-même.Armadillo C++ ne trouve pas matrice inverse
Il me semble qu'il n'y a pas de calcul. En outre, il n'y a pas d'erreurs lancées.
J'utilise l'en-tête suivant:
#include <armadillo>
using namespace std;
using namespace arma;
et je l'ai utilisé Armadillo pendant deux jours et a couru à travers plusieurs manipulations de la matrice qui fonctionnent correctement.
Entrée:
mat A = randu<mat>(5,5);
A.print("A: ");
mat B = inv(A);
B.print("inv(A): ");
Sortie:
A:
0.0013 0.1741 0.9885 0.1662 0.8760
0.1933 0.7105 0.1191 0.4508 0.9559
0.5850 0.3040 0.0089 0.0571 0.5393
0.3503 0.0914 0.5317 0.7833 0.4621
0.8228 0.1473 0.6018 0.5199 0.8622
inv(A):
0.0013 0.1741 0.9885 0.1662 0.8760
0.1933 0.7105 0.1191 0.4508 0.9559
0.5850 0.3040 0.0089 0.0571 0.5393
0.3503 0.0914 0.5317 0.7833 0.4621
0.8228 0.1473 0.6018 0.5199 0.8622
Process finished with exit code 0
Question:
Pourquoi ne pas INV (ofAMatrix) de travail, des conseils ou des idées? Merci!
Merci de répondre si rapidement! 1. Je ne sais pas ce que MKL est. 2. N'est-il pas étrange que je ne reçois même pas d'erreurs? Pourrait-il être un problème d'éditeur de liens/compilateur? Ou peut-être que je manque une bibliothèque? 3. Malheureusement, j'ai besoin d'inverse, et je suis conscient que l'inverse est généralement un goulot d'étranglement, merci! –
Veuillez utiliser le [système de vote] (https://stackoverflow.com/help/why-vote) au lieu de poster "merci". Mais de toute façon, vous êtes les bienvenus :) –
MKL est l'implémentation d'Intel de la bibliothèque LAPACK avec des optimisations spéciales pour leurs processeurs. Cela peut vous donner un peu d'accélération. De plus, beaucoup d'algorithmes sont implémentés en parallèle en utilisant OpenMP, ce qui vous donne une vitesse supplémentaire. –