User Tools

Site Tools


tools:matrix:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
tools:matrix:start [2021/11/12 11:43] – [Logging Matrices] ursgraftools:matrix:start [2021/11/14 17:15] – [Matrix Operations] ursgraf
Line 3: Line 3:
 <code cpp> <code cpp>
 Vector<3, double> v;  Vector<3, double> v; 
-v << 1.5, -2, 0; 
 </code> </code>
 The declaration could be simplified to  The declaration could be simplified to 
 <code cpp> <code cpp>
 Vector3<> v;  Vector3<> v; 
-v << 1.5, -2, 0; 
 </code> </code>
-as ''Vector3'' is a predefined type with three dimensions and the default element type is ''double''. A matrix of 3 times 3 with element type ''int'' could be defined as+as ''Vector3'' is a predefined type with three dimensions and the default element type is ''double''A ''Vector3'' is identical to the type ''Matrix<3,1,double>''. The vector could be initializer as follows 
 +<code cpp> 
 +v = {1.5, -2, 0} 
 +v << 1.5, -2, 0; // or with input operator 
 +Vector3 v{1,2,3}; // or directly upon declaration 
 +</code> 
 +A matrix of 3 times 3 with element type ''int'' could be defined as
 <code cpp> <code cpp>
 Matrix<3, 3, int> m;  Matrix<3, 3, int> m; 
Line 49: Line 53:
 </code> </code>
 With the 3 x 3 matrix from above we would get With the 3 x 3 matrix from above we would get
-<code bash>+<code>
 2021-09-16 17:36:53:929    I:  [ [1 4 7]' [2 5 8]' [3 6 9]' ] 2021-09-16 17:36:53:929    I:  [ [1 4 7]' [2 5 8]' [3 6 9]' ]
 </code> </code>
Line 59: Line 63:
 </code> </code>
 This matrices will be printed as  This matrices will be printed as 
-<code bash>+<code>
 2021-09-16 17:37:18:122    I:  [1]' 2021-09-16 17:37:18:122    I:  [1]'
 2021-09-16 17:37:18:122    I:  [1 2]' 2021-09-16 17:37:18:122    I:  [1 2]'
 2021-09-16 17:37:18:122    I:  [ [1]' [2]' ]' 2021-09-16 17:37:18:122    I:  [ [1]' [2]' ]'
 +</code>
 +
 +===== Matrix Operations =====
 +Some examples show basic matrix operations.
 +<code cpp>
 +Vector2 v1{1,2};
 +Matrix<1,2> v2{3,4};
 +log.info() << v1 * v2;            // will print [ [3 6]' [4 8]' ]
 +log.info() << v2 * v1;            // will print [11]'
 +
 +Matrix<2,2,double> m1{1,1.5,-1,2};
 +log.info() << v2 * m1;            // will print [ [9]' [5]' ]
 +log.info() << v1.transpose() * m1;// will print [ [4]' [3]' ]
 +
 +auto x = v2 * m1;
 +Vector2 v4 = x.transpose();
 +log.info() << v4;                 // will print [9 5]'
 </code> </code>
tools/matrix/start.txt · Last modified: 2022/04/20 13:29 by ursgraf