C++ Armadillo :: Diagonal of Matrix














































C++ Armadillo :: Diagonal of Matrix



---------------------------------------------------------------------------------------------------------------
Description::
This is the basic C++ program of C++ armadillo library which shows how to get the diagonal of the given matrix of some particular size. It can be carried out by the help of inbuilt function "diagvec" in armadillo library. "diagvec" function takes just one parameter i.e the input matrix name. This function is used to store the diagonal of input matrix.
---------------------------------------------------------------------------------------------------------------
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);
vec B = diagvec(A); //calculating diagonal of matrix A and storing in B
cout << "Matrix A::\n"<<endl;
cout<< A << endl;
cout << "Vector B(Diagonal of matrix)::" << endl; //displaying 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


Vector B(Diagonal of matrix)::
   0.7868
   0.2513
   0.1400
   0.7443
   0.2455


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 536 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() 1527 1
C++ OpenCV cv::transpose() 6110 1
C++ Armadillo :: any 470 2
C++ Armadillo :: Max and Min of matrices 786 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 806 1
C++ Armadillo :: eps 432 3
C++ Armadillo :: Inverse 1169 1
C++ Armadillo :: Transpose of Matrix 1012 1
C++ Armadillo :: Basic Arithmetic Operations 421 1
C++ Armadillo :: Cross Product of vectors 1053 4
C++ OpenCV program to play a video 1037 1
C++ Armadillo :: Diagonal of Matrix 803 1
C++ Armadillo :: Absolute value of Matrix 1010 1
C++ Armadillo :: Conj 389 2
C++ Armadillo :: expmat 815 2
C++ OpenCV Input from Camera 1692 1
C++ OpenCV program to convert BGR image to grayscale image 4887 1
C++ Armadillo :: Intersect 666 2
C++ Armadillo :: Nonzeros 864 2
C++ Armadillo :: Dot Product of vectors 1464 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 716 1
C++ Armadillo :: Log Determinant 725 1
C++ Armadillo :: Sort_index 1301 2
C++ Armadillo :: Max Min 1372 1
C++ Armadillo :: Shift 755 1
C++ Armadillo :: Square root of Matrix 1513 1
C++ OpenCV cv::cvtColor() 2011 1

Comments