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:44] – [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 63: Line 67:
 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