Example Double Valued Vectors and MatricesThe following example shows the usage of double valued vectors and matrices. In the first part two vectors are defined and two operations for vectors are illlustrated. The second part shows matrices and some of their operations. #include <LEDA/numbers/vector.h> #include <LEDA/numbers/matrix.h> #include <LEDA/core/random_source.h> using namespace leda; int main() { //double valued vectors vector v1(3),v2(3); //define two 3d-zero-vectors; v1=vector(1,2,3); v2=vector(3,4,5); v1=v1*3; //componentwise multiplication with 3 double x=v1*v2; //scalar multiplication std::cout << "vector v1="; v1.print();std::cout << std::endl; std::cout << "vector v2="; v2.print();std::cout << std::endl; std::cout << "product v1*v2=" << x << std::endl; //------------------------------------------------------- //double valued matrices //generation of 9 random double values double values[9]; random_source S; for (int i=0;i<9;i++) S >> values[i]; //define 3x3-matrix with random values matrix A(3,3,values); std::cout << "\nA=";A.print(); //print A std::cout << "\nA^T=";A.trans().print(); //compute and print transposed of A std::cout << "\ndeterminant of A: " << A.det() << std::endl; //compute and output determinant of A //define 3x6-zero-matrix and assign values matrix B(3,6); for (int i=0;i<3;i++) for (int j=0;j<6;j++) B(i,j)=i-j-1; std::cout << "\nB=";B.print(); //print B matrix C=A*3; //multiplication of matrix with double std::cout << "\nC=A*3: ";C.print(); v2=A*v1; //multiplication of matrix with vector std::cout << "\nvector v2=A*v1: "; v2.print(); std::cout << std::endl; C=A*B; //multiplication of two matrices std::cout << "\nC=A*B: ";C.print(); v2=A.solve(v1); //v1=A*v2 std::cout << "\nvector v2=A.solve(v1): "; v2.print(); std::cout << std::endl; return 0; } |
See also:Vectors and Matrices with Integer Entries Manual Entries: |