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() 1555 1
C++ Armadillo :: Real and Imaginary part 1630 1
C++ OpenCV cv::perspectiveTransform() 5325 1
C++ Armadillo :: find_nonfinite 792 2
C++ Armadillo introduction and installation 596 1
C++ Armadillo :: Kron 1307 1
C++ Armadillo :: Accessing row and column and operations on it 1403 1
C++ Armadillo :: cond 481 2
C++ Armadillo :: pseudo-inverse 2886 1
C++ OpenCV cv::flip() 1834 1
C++ OpenCV cv::transpose() 6949 1
C++ Armadillo :: any 532 2
C++ Armadillo :: Max and Min of matrices 918 1
C++ OpenCV cv::pow() 2395 1
C++ Armadillo :: fliplr and flipud 1000 2
C++ Armadillo :: Sort 1230 1
C++ Armadillo :: Determinant of Matrix 883 1
C++ Armadillo :: Indices of Unique elements of matrix 958 1
C++ Armadillo :: eps 492 3
C++ Armadillo :: Inverse 1507 1
C++ Armadillo :: Transpose of Matrix 1230 1
C++ Armadillo :: Basic Arithmetic Operations 453 1
C++ Armadillo :: Cross Product of vectors 1273 4
C++ OpenCV program to play a video 1184 1
C++ Armadillo :: Diagonal of Matrix 948 1
C++ Armadillo :: Absolute value of Matrix 1147 1
C++ Armadillo :: Conj 482 2
C++ Armadillo :: expmat 954 2
C++ OpenCV Input from Camera 1945 1
C++ OpenCV program to convert BGR image to grayscale image 5676 1
C++ Armadillo :: Intersect 764 2
C++ Armadillo :: Nonzeros 994 2
C++ Armadillo :: Dot Product of vectors 1664 2
C++ OpenCV:: Transforming BGR image to Grey scale image 580 2
C++ OpenCV to rotate an image 11174 1
C++ Armadillo :: Unique elements of matrix 809 1
C++ Armadillo :: Log Determinant 797 1
C++ Armadillo :: Sort_index 1509 2
C++ Armadillo :: Max Min 1596 1
C++ Armadillo :: Shift 918 1
C++ Armadillo :: Square root of Matrix 1729 1
C++ OpenCV cv::cvtColor() 2322 1

Comments