blob: f42bd0d19f4721f4a070ec13d6cb15a3364b784a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
#N canvas 0 35 759 714 10;
#N canvas 352 114 190 367 rand-matrix 0;
#X obj 74 163 inlet;
#X obj 74 280 outlet;
#X obj 74 195 mtx_rand;
#X obj 74 215 mtx_* 10;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X restore 53 369 pd rand-matrix;
#X msg 53 347 4 3;
#X obj 139 215 mtx_print pre;
#X obj 53 255 mtx_print pivot;
#X text 269 171 the first outlet is the pivot-transformed matrix.;
#X obj 53 121 t a a;
#X obj 83 140 mtx_print original;
#X obj 53 98 mtx 3 3;
#X msg 53 78 1 2 3 6 5 4 8 7 9;
#X obj 53 532 mtx_print pivot;
#X obj 97 421 mtx_print original;
#X obj 53 398 t a a a;
#X obj 139 475 mtx_*;
#X obj 167 532 mtx_print pivot2;
#N canvas 352 114 190 367 rand-matrix 0;
#X obj 74 163 inlet;
#X obj 74 240 outlet;
#X obj 74 195 mtx_rand;
#X obj 74 215 mtx_* 10;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X restore 381 338 pd rand-matrix;
#X obj 411 461 mtx_print pivot;
#X obj 381 500 mtx_*;
#X obj 411 560 mtx_print depivot;
#X obj 381 437 t a a;
#X obj 381 480 mtx_transpose;
#X obj 381 520 mtx_transpose;
#X text 456 22 part of [iemmatrix];
#X obj 403 383 mtx_print original;
#X text 39 326 B=pivot(A)=pre*A;
#X text 377 288 A=depivot(B)=(B'*pre)';
#X text 49 59 pivot-transform the rows of a matrix;
#X text 270 122 this will tranform (permutate) the rows \, so that
the result will have all maximum (or minimum) values in the diagonale.
however \, the diagonale will be unsorted.;
#X text 268 197 the second outlet gives the permutation-matrix that
have to be pre-multiplied to the original matrix to get the semi-pivot-tranformation.
this is useful for de-pivoting.;
#X obj 70 494 mtx_-;
#X obj 70 513 mtx_print diff;
#X obj 381 582 mtx_-;
#X obj 381 601 mtx_print diff;
#X obj 381 540 t a a;
#X obj 381 362 t a a a;
#X msg 381 316 3 4;
#X obj 521 461 mtx_print pivoteer;
#X obj 453 434 t a a;
#X obj 53 194 mtx_spivot;
#X obj 53 450 mtx_spivot;
#X obj 381 413 mtx_spivot;
#X text 52 19 mtx_spivot:: semi-pivot transform a matrix;
#X text 88 639 (c) 2005 by IOhannes m zmoelnig \, IEM KUG \, graz austria
;
#X text 88 656 for license-details see LICENSE.txt that must come with
iemmatrix.;
#X connect 0 0 11 0;
#X connect 1 0 0 0;
#X connect 5 0 37 0;
#X connect 5 1 6 0;
#X connect 7 0 5 0;
#X connect 8 0 7 0;
#X connect 11 0 38 0;
#X connect 11 1 12 1;
#X connect 11 2 10 0;
#X connect 12 0 13 0;
#X connect 12 0 28 1;
#X connect 14 0 33 0;
#X connect 16 0 20 0;
#X connect 18 0 19 0;
#X connect 18 1 15 0;
#X connect 19 0 16 0;
#X connect 20 0 32 0;
#X connect 28 0 29 0;
#X connect 30 0 31 0;
#X connect 32 0 30 0;
#X connect 32 1 17 0;
#X connect 33 0 39 0;
#X connect 33 1 22 0;
#X connect 33 2 30 1;
#X connect 34 0 14 0;
#X connect 36 0 16 1;
#X connect 36 1 35 0;
#X connect 37 0 3 0;
#X connect 37 1 2 0;
#X connect 38 0 9 0;
#X connect 38 0 28 0;
#X connect 38 1 12 0;
#X connect 39 0 18 0;
#X connect 39 1 36 0;
|