C++ Armadillo :: Inverse














































C++ Armadillo :: Inverse



---------------------------------------------------------------------------------------------------------------
Description::
This is the basic C++ program of C++ armadillo library which shows how to find inverse of the given matrix. It can be carried out by the help of inbuilt function "inv" in armadillo library.
  • If A is not square sized, a std::logic_error exception is thrown
  • If A appears to be singular:
    • B = inv(A) resets B and throws a std::runtime_error exception
    • inv(B,A) resets B and returns a bool set to false (exception is not thrown)
---------------------------------------------------------------------------------------------------------------
Program::

#include <iostream>
#include <armadillo>
using namespace std;
using namespace arma;

int main()
{
//initialize the random generator
//Create a 5 x 5 random matrix and printing it
mat A = randu<mat>(5,5); //random matrix of size 5x5 (generared by this syntax) mat B = inv(A); //inverse of matrix
cout << "Matrix A::\n"<<endl;
cout<< A << endl;
cout << "Matrix B(Inverse)::\n"<<endl;
cout << B << endl;
return 0; }
---------------------------------------------------------------------------------------------------------------
Commands to run program on terminal::
g++ filename.cpp -o objectname -O2 -larmadillo

$ ./objectname
---------------------------------------------------------------------------------------------------------------
Output::

Matrix A:: 0.7868 0.4049 0.2742 0.8571 0.2393 0.2505 0.2513 0.5610 0.4998 0.3201 0.7107 0.0227 0.1400 0.4194 0.9105 0.9467 0.5206 0.5439 0.7443 0.1648 0.0193 0.3447 0.5219 0.2492 0.2455 Matrix B(Inverse):: -1.5142 -0.2802 0.4407 2.0824 -1.1915 1.8683 -5.3369 0.0782 -0.3022 5.0493 -2.5073 3.0391 -0.2686 1.5127 -1.5379 2.3545 2.1098 -0.6624 -1.9925 -1.2510 0.4364 -1.0874 1.0987 -0.9328 1.6167

More Articles of Shubham Loya:

Name Views Likes
C++ OpenCV cv::trace() 1383 1
C++ Armadillo :: Real and Imaginary part 1388 1
C++ OpenCV cv::perspectiveTransform() 4670 1
C++ Armadillo :: find_nonfinite 652 2
C++ Armadillo introduction and installation 535 1
C++ Armadillo :: Kron 1119 1
C++ Armadillo :: Accessing row and column and operations on it 1041 1
C++ Armadillo :: cond 421 2
C++ Armadillo :: pseudo-inverse 2480 1
C++ OpenCV cv::flip() 1526 1
C++ OpenCV cv::transpose() 6110 1
C++ Armadillo :: any 469 2
C++ Armadillo :: Max and Min of matrices 785 1
C++ OpenCV cv::pow() 2110 1
C++ Armadillo :: fliplr and flipud 892 2
C++ Armadillo :: Sort 1039 1
C++ Armadillo :: Determinant of Matrix 784 1
C++ Armadillo :: Indices of Unique elements of matrix 805 1
C++ Armadillo :: eps 432 3
C++ Armadillo :: Inverse 1169 1
C++ Armadillo :: Transpose of Matrix 1011 1
C++ Armadillo :: Basic Arithmetic Operations 420 1
C++ Armadillo :: Cross Product of vectors 1052 4
C++ OpenCV program to play a video 1037 1
C++ Armadillo :: Diagonal of Matrix 802 1
C++ Armadillo :: Absolute value of Matrix 1009 1
C++ Armadillo :: Conj 388 2
C++ Armadillo :: expmat 814 2
C++ OpenCV Input from Camera 1691 1
C++ OpenCV program to convert BGR image to grayscale image 4883 1
C++ Armadillo :: Intersect 665 2
C++ Armadillo :: Nonzeros 863 2
C++ Armadillo :: Dot Product of vectors 1462 2
C++ OpenCV:: Transforming BGR image to Grey scale image 526 2
C++ OpenCV to rotate an image 10002 1
C++ Armadillo :: Unique elements of matrix 715 1
C++ Armadillo :: Log Determinant 724 1
C++ Armadillo :: Sort_index 1301 2
C++ Armadillo :: Max Min 1371 1
C++ Armadillo :: Shift 754 1
C++ Armadillo :: Square root of Matrix 1513 1
C++ OpenCV cv::cvtColor() 2010 1

Comments