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() 1659 1
C++ Armadillo :: Real and Imaginary part 1748 1
C++ OpenCV cv::perspectiveTransform() 5569 1
C++ Armadillo :: find_nonfinite 841 2
C++ Armadillo introduction and installation 626 1
C++ Armadillo :: Kron 1393 1
C++ Armadillo :: Accessing row and column and operations on it 1538 1
C++ Armadillo :: cond 518 2
C++ Armadillo :: pseudo-inverse 3036 1
C++ OpenCV cv::flip() 2100 1
C++ OpenCV cv::transpose() 7316 1
C++ Armadillo :: any 552 2
C++ Armadillo :: Max and Min of matrices 981 1
C++ OpenCV cv::pow() 2516 1
C++ Armadillo :: fliplr and flipud 1072 2
C++ Armadillo :: Sort 1285 1
C++ Armadillo :: Determinant of Matrix 955 1
C++ Armadillo :: Indices of Unique elements of matrix 1015 1
C++ Armadillo :: eps 524 3
C++ Armadillo :: Inverse 1674 1
C++ Armadillo :: Transpose of Matrix 1328 1
C++ Armadillo :: Basic Arithmetic Operations 483 1
C++ Armadillo :: Cross Product of vectors 1384 4
C++ OpenCV program to play a video 1328 1
C++ Armadillo :: Diagonal of Matrix 1020 1
C++ Armadillo :: Absolute value of Matrix 1240 1
C++ Armadillo :: Conj 509 2
C++ Armadillo :: expmat 997 2
C++ OpenCV Input from Camera 2089 1
C++ OpenCV program to convert BGR image to grayscale image 6105 1
C++ Armadillo :: Intersect 811 2
C++ Armadillo :: Nonzeros 1056 2
C++ Armadillo :: Dot Product of vectors 1745 2
C++ OpenCV:: Transforming BGR image to Grey scale image 626 2
C++ OpenCV to rotate an image 11485 1
C++ Armadillo :: Unique elements of matrix 863 1
C++ Armadillo :: Log Determinant 840 1
C++ Armadillo :: Sort_index 1600 2
C++ Armadillo :: Max Min 1704 1
C++ Armadillo :: Shift 950 1
C++ Armadillo :: Square root of Matrix 1836 1
C++ OpenCV cv::cvtColor() 2473 1

Comments