[PD-cvs] externals/iem/iemmatrix/abs mtx_matcher-help.pd, NONE, 1.1 mtx_spivot-help.pd, NONE, 1.1 mtx_symasym-help.pd, NONE, 1.1 mtx_matcher.pd, 1.1.1.1, 1.2 mtx_spivot.pd, 1.2, 1.3 mtx_symasym.pd, 1.1, 1.2

IOhannes m zmölnig zmoelnig at users.sourceforge.net
Tue May 10 14:21:21 CEST 2005


Update of /cvsroot/pure-data/externals/iem/iemmatrix/abs
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25200

Modified Files:
	mtx_matcher.pd mtx_spivot.pd mtx_symasym.pd 
Added Files:
	mtx_matcher-help.pd mtx_spivot-help.pd mtx_symasym-help.pd 
Log Message:
new help-patches and added license-text


--- NEW FILE: mtx_spivot-help.pd ---
#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;

--- NEW FILE: mtx_matcher-help.pd ---
#N canvas 272 187 518 410 10;
#X obj 192 220 mtx_matcher;
#X obj 264 133 loadbang;
#X msg 174 136 bang;
#X obj 192 277 mtx_print matched;
#X obj 264 251 mtx_print permutator;
#X obj 141 298 mtx_-;
#X obj 141 320 mtx_.^ 2;
#X floatatom 141 383 0 0 0 0 error_unmatched - -;
#X obj 174 180 t a a;
#X obj 264 181 t a a a;
#X obj 270 302 mtx_-;
#X obj 270 324 mtx_.^ 2;
#X floatatom 270 387 0 0 0 1 error_matched - -;
#X obj 192 253 t a a;
#X obj 141 343 mtx_sum;
#X obj 141 363 mtx_sum;
#X obj 270 347 mtx_sum;
#X obj 270 367 mtx_sum;
#X msg 87 134 bang;
#X obj 87 155 mtx_rand 5;
#X obj 174 157 mtx_eye 5;
#X obj 264 157 mtx_egg 5;
#X text 68 9 mtx_matcher:: match 2 sets of vectors;
#X text 22 45 mtx_matcher tries to match 2 sets of vectors. The vector-sets
are expressed as matrices;
#X connect 0 0 13 0;
#X connect 0 1 4 0;
#X connect 1 0 21 0;
#X connect 2 0 20 0;
#X connect 5 0 6 0;
#X connect 6 0 14 0;
#X connect 8 0 0 0;
#X connect 8 1 5 0;
#X connect 9 0 0 1;
#X connect 9 1 5 1;
#X connect 9 2 10 1;
#X connect 10 0 11 0;
#X connect 11 0 16 0;
#X connect 13 0 3 0;
#X connect 13 1 10 0;
#X connect 14 0 15 0;
#X connect 15 0 7 0;
#X connect 16 0 17 0;
#X connect 17 0 12 0;
#X connect 18 0 19 0;
#X connect 19 0 8 0;
#X connect 20 0 8 0;
#X connect 21 0 9 0;

Index: mtx_spivot.pd
===================================================================
RCS file: /cvsroot/pure-data/externals/iem/iemmatrix/abs/mtx_spivot.pd,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** mtx_spivot.pd	10 May 2005 10:50:40 -0000	1.2
--- mtx_spivot.pd	10 May 2005 12:21:19 -0000	1.3
***************
*** 1,13 ****
  #N canvas 835 313 564 462 10;
! #X obj 154 247 mtx;
! #X obj 154 338 mtx_*;
  #X obj 115 78 inlet;
! #X obj 115 115 t a a;
! #X obj 154 398 mtx_*;
! #X obj 154 368 t a a;
! #X obj 115 144 mtx_pivot \$1;
! #X obj 154 420 outlet pivoted;
! #X obj 260 421 outlet pivoter;
! #X obj 154 196 t b a a;
  #N canvas 118 188 669 439 resizer 0;
  #X obj 322 204 mtx_size;
--- 1,13 ----
  #N canvas 835 313 564 462 10;
! #X obj 154 166 mtx;
! #X obj 154 208 mtx_*;
  #X obj 115 78 inlet;
! #X obj 115 99 t a a;
! #X obj 154 248 mtx_*;
! #X obj 154 228 t a a;
! #X obj 115 119 mtx_pivot \$1;
! #X obj 154 270 outlet pivoted;
! #X obj 260 271 outlet pivoter;
! #X obj 154 139 t b a a;
  #N canvas 118 188 669 439 resizer 0;
  #X obj 322 204 mtx_size;
***************
*** 48,52 ****
  #X connect 11 0 0 0;
  #X connect 16 0 12 0;
! #X restore 154 274 pd resizer;
  #X connect 0 0 10 0;
  #X connect 1 0 5 0;
--- 48,57 ----
  #X connect 11 0 0 0;
  #X connect 16 0 12 0;
! #X restore 154 187 pd resizer;
! #X text 72 316 (c) 2005 by IOhannes m zmoelnig \, IEM KUG \, graz austria
! ;
! #X text 72 333 for license-details see LICENSE.txt that must come with
! iemmatrix.;
! #X text 62 38 semi-pivotize a matrix;
  #X connect 0 0 10 0;
  #X connect 1 0 5 0;

Index: mtx_symasym.pd
===================================================================
RCS file: /cvsroot/pure-data/externals/iem/iemmatrix/abs/mtx_symasym.pd,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** mtx_symasym.pd	27 Apr 2005 16:52:49 -0000	1.1
--- mtx_symasym.pd	10 May 2005 12:21:19 -0000	1.2
***************
*** 1,3 ****
! #N canvas 0 0 450 300 10;
  #X obj 61 66 inlet matrix;
  #X obj 61 255 outlet symmetric;
--- 1,3 ----
! #N canvas 0 0 493 363 10;
  #X obj 61 66 inlet matrix;
  #X obj 61 255 outlet symmetric;
***************
*** 14,17 ****
--- 14,21 ----
  #X text 240 120 A=0.5*(M-M');
  #X text 240 76 M=S+A;
+ #X text 38 289 (c) 2005 by IOhannes m zmoelnig \, IEM KUG \, graz austria
+ ;
+ #X text 38 306 for license-details see LICENSE.txt that must come with
+ iemmatrix.;
  #X connect 0 0 4 0;
  #X connect 3 0 8 0;

--- NEW FILE: mtx_symasym-help.pd ---
#N canvas 302 270 518 410 10;
#X msg 174 116 bang;
#X obj 174 160 t a a;
#X msg 87 114 bang;
#X obj 87 135 mtx_rand 5;
#X obj 174 137 mtx_eye 5;
#X obj 264 137 mtx_egg 5;
#X obj 174 240 mtx_symasym;
#X obj 246 271 mtx_print asymmetric;
#X obj 174 297 mtx_print symmetric;
#X obj 204 205 mtx_print original;
#X msg 264 114 bang;
#X text 26 12 mtx_symasym:: decompose a matrix into symmetric & asymmetric
parts;
#X text 22 45 each square matrix can be decomposed into a symmetric
and an assymmetric part \, with;
#X text 205 79 M=S+A;
#X text 70 336 (c) 2005 by IOhannes m zmoelnig \, IEM KUG \, graz austria
;
#X text 70 353 for license-details see LICENSE.txt that must come with
iemmatrix.;
#X connect 0 0 4 0;
#X connect 1 0 6 0;
#X connect 1 1 9 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 5 0 1 0;
#X connect 6 0 8 0;
#X connect 6 1 7 0;
#X connect 10 0 5 0;

Index: mtx_matcher.pd
===================================================================
RCS file: /cvsroot/pure-data/externals/iem/iemmatrix/abs/mtx_matcher.pd,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -d -r1.1.1.1 -r1.2
*** mtx_matcher.pd	31 Mar 2005 12:00:04 -0000	1.1.1.1
--- mtx_matcher.pd	10 May 2005 12:21:19 -0000	1.2
***************
*** 1,13 ****
! #N canvas 411 75 586 409 10;
! #X obj 61 120 mtx_distance2;
! #X obj 61 96 t a a;
! #X obj 61 164 t a a;
! #X obj 61 199 mtx_*;
! #X obj 61 245 outlet matched;
! #X obj 171 245 outlet matcher;
! #X obj 147 97 inlet dest;
! #X obj 61 69 inlet source;
! #X text 25 25 both "source" and "dest" must have the same number of
! columns (dimension in feature-space);
  #N canvas 0 0 618 479 mtx_rowpermutate 0;
  #X obj 150 214 t b a;
--- 1,13 ----
! #N canvas 411 75 676 452 10;
! #X obj 61 190 mtx_distance2;
! #X obj 61 166 t a a;
! #X obj 61 234 t a a;
! #X obj 61 269 mtx_*;
! #X obj 61 315 outlet matched;
! #X obj 171 315 outlet matcher;
! #X obj 147 167 inlet dest;
! #X obj 61 139 inlet source;
! #X text 235 131 both "source" and "dest" must have the same number
! of columns (dimension in feature-space);
  #N canvas 0 0 618 479 mtx_rowpermutate 0;
  #X obj 150 214 t b a;
***************
*** 26,37 ****
  #X connect 3 2 1 1;
  #X connect 6 0 3 0;
! #X restore 61 141 pd mtx_rowpermutate;
! #X text 34 303 this algorithm is _far_ from being perfect! the [mtx_rowpermutate]
  does not really guarantee that the trace of the result is a global
  mimimum \; if it is not \, than the match will be sub-optimal! this
  will be even worse \, if there are several _equal_ (sub)minima in the
  distance-matrix.;
! #X text 158 114 greater distances have an extra penalty (^2) \; is
  this ok?;
  #X connect 0 0 9 0;
  #X connect 1 0 0 0;
--- 26,46 ----
  #X connect 3 2 1 1;
  #X connect 6 0 3 0;
! #X restore 61 211 pd mtx_rowpermutate;
! #X text 220 224 this algorithm is _far_ from being perfect! the [mtx_rowpermutate]
  does not really guarantee that the trace of the result is a global
  mimimum \; if it is not \, than the match will be sub-optimal! this
  will be even worse \, if there are several _equal_ (sub)minima in the
  distance-matrix.;
! #X text 158 184 greater distances have an extra penalty (^2) \; is
  this ok?;
+ #X text 120 346 (c) 2005 by IOhannes m zmoelnig \, IEM KUG \, graz
+ austria;
+ #X text 120 363 for license-details see LICENSE.txt that must come
+ with iemmatrix.;
+ #X text 57 12 mtx_matcher:: match 2 sets of vectors;
+ #X text 46 42 2 vectors are matching if their euclidean distance is
+ a minimum. each "source" vector is assigned to a "dest" vector in order
+ to get a maximum matching. the output is a permutation "matched" of
+ the "source" vector-field \, and a permutation matrix "matcher".;
  #X connect 0 0 9 0;
  #X connect 1 0 0 0;





More information about the Pd-cvs mailing list