C++ Armadillo :: Kron














































C++ Armadillo :: Kron



---------------------------------------------------------------------------------------------------------------
Description::
This is the basic C++ program of C++ armadillo library which shows how to find tensor product of the given two input matrix. It can be carried out by the help of inbuilt function "kron" in armadillo library.It is Kronecker tensor product. "kron" function takes two parametres that is two input matrices. In mathematics, the tensor product x(circle) W of two vector spaces V and W (over the same field) is itself a vector space, endowed with the operation of bilinear composition, denoted by x(circle), from ordered pairs in the Cartesian product V x W to V x(circle) W in a way that generalizes the outer product.
---------------------------------------------------------------------------------------------------------------
Program::

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

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

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

Matrix A::

0.7868 0.9467 0.2513
0.2505 0.0193 0.0227
0.7107 0.4049 0.5206

Matrix B::

0.3447 0.1400 0.8571
0.2742 0.5439 0.4998
0.5610 0.5219 0.4194

Matrix K(Tensor product)::

0.2712 0.1102 0.6744 0.3263 0.1326 0.8114 0.0866 0.0352 0.2154
0.2157 0.4279 0.3932 0.2596 0.5149 0.4731 0.0689 0.1367 0.1256
0.4414 0.4107 0.3300 0.5311 0.4941 0.3970 0.1410 0.1312 0.1054
0.0863 0.0351 0.2147 0.0066 0.0027 0.0165 0.0078 0.0032 0.0195
0.0687 0.1362 0.1252 0.0053 0.0105 0.0096 0.0062 0.0124 0.0114
0.1405 0.1307 0.1050 0.0108 0.0101 0.0081 0.0127 0.0119 0.0095
0.2449 0.0995 0.6091 0.1396 0.0567 0.3470 0.1795 0.0729 0.4462
0.1949 0.3865 0.3552 0.1110 0.2202 0.2024 0.1428 0.2832 0.2602
0.3987 0.3709 0.2980 0.2272 0.2113 0.1698 0.2921 0.2717 0.2183



More Articles of Shubham Loya:

Name Views Likes
C++ OpenCV cv::trace() 1382 1
C++ Armadillo :: Real and Imaginary part 1387 1
C++ OpenCV cv::perspectiveTransform() 4670 1
C++ Armadillo :: find_nonfinite 651 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 420 2
C++ Armadillo :: pseudo-inverse 2479 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 891 2
C++ Armadillo :: Sort 1038 1
C++ Armadillo :: Determinant of Matrix 783 1
C++ Armadillo :: Indices of Unique elements of matrix 805 1
C++ Armadillo :: eps 432 3
C++ Armadillo :: Inverse 1168 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 4882 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