From 10b474fba485e9a93157c7fa534bb66e7bcc6fde Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= Date: Mon, 21 Mar 2005 14:33:31 +0000 Subject: This commit was generated by cvs2svn to compensate for changes in r2637, which included commits to RCS files with non-trunk default branches. svn path=/trunk/externals/iem/iemmatrix/; revision=2638 --- doc/matrix.pd | 133 +++++++++++++++++++++++++++++++++++++++++++++++ doc/matrix~.pd | 58 +++++++++++++++++++++ doc/mtx_binops.pd | 142 +++++++++++++++++++++++++++++++++++++++++++++++++++ doc/mtx_element.pd | 64 +++++++++++++++++++++++ doc/mtx_inverse.pd | 18 +++++++ doc/mtx_mean.pd | 13 +++++ doc/mtx_rand.pd | 20 ++++++++ doc/mtx_size.pd | 44 ++++++++++++++++ doc/mtx_special.pd | 60 ++++++++++++++++++++++ doc/mtx_trace.pd | 24 +++++++++ doc/mtx_transpose.pd | 66 ++++++++++++++++++++++++ 11 files changed, 642 insertions(+) create mode 100644 doc/matrix.pd create mode 100644 doc/matrix~.pd create mode 100644 doc/mtx_binops.pd create mode 100644 doc/mtx_element.pd create mode 100644 doc/mtx_inverse.pd create mode 100644 doc/mtx_mean.pd create mode 100644 doc/mtx_rand.pd create mode 100644 doc/mtx_size.pd create mode 100644 doc/mtx_special.pd create mode 100644 doc/mtx_trace.pd create mode 100644 doc/mtx_transpose.pd (limited to 'doc') diff --git a/doc/matrix.pd b/doc/matrix.pd new file mode 100644 index 0000000..a1c6332 --- /dev/null +++ b/doc/matrix.pd @@ -0,0 +1,133 @@ +#N canvas 94 0 1118 745 10; +#X obj 258 -23 matrix; +#X obj 61 187 mtx_check; +#X obj 61 216 mtx_print; +#X obj 544 -21 mtx; +#X obj 30 535 mtx_print; +#X obj 30 513 matrix; +#X msg 42 372 zeros 5; +#X msg 30 353 eye 3; +#X msg 49 390 ones 4; +#X msg 55 411 diag 1 2 3 4; +#X obj 369 531 matrix; +#X obj 471 496 loadbang; +#X obj 471 516 mtx_diag 4 3 1 2; +#X obj 369 553 print; +#X msg 369 364 row; +#X msg 539 497 bang; +#X msg 379 404 row \$1; +#X floatatom 379 385 4 0 0; +#X floatatom 391 424 4 0 0; +#X msg 391 443 row \$1 1 2 3 4; +#X floatatom 498 382 4 0 0; +#X floatatom 510 421 4 0 0; +#X msg 488 362 col; +#X msg 498 401 col \$1; +#X msg 510 440 col \$1 1 2 3 4; +#X msg 592 364 element; +#X msg 623 406 element \$1; +#X floatatom 643 428 4 0 0; +#X msg 643 447 element 3 \$1; +#X floatatom 623 386 4 0 0; +#X msg 61 162 matrix 3 3 1 2 3 4 5 6 7; +#X msg 39 136 matrix 3 3 1 2 3 4 5 6 7; +#X text 43 79 this is \, how a matrix really looks...; +#X text 216 134 an "illegal" matrix; +#X text 122 187 make the "illegal" matrix consistent; +#X text 216 103 a "legal" matrix; +#X msg 40 103 matrix 3 3 1 2 3 1 2 4 7 6 5; +#X obj 590 218 mtx_print; +#X obj 590 196 matrix; +#X obj 655 174 mtx_ones 10; +#X msg 655 154 bang; +#X text 121 218 print to stderr (like "print"); +#X msg 590 64 bang; +#X floatatom 615 103 4 0 0; +#X msg 604 85 matrix 2 3 10 10 30 20 -5 8; +#X msg 627 126 1 2 3 1 2 3 10 20 30; +#X text 758 118 a list of elements; +#X text 759 132 has to fit the size of the "current" matrix; +#X text 651 104 set all elements of the current matrix to a value; +#X text 366 345 get/set rows; +#X text 479 344 get/set columns; +#X text 5 564 create various matrices; +#X text 356 -21 matrix operations; +#X text 636 197 ==; +#X obj 660 197 mtx; +#X msg 335 398 bang; +#X text 586 344 get/set elements; +#X msg 654 486 element \$1 2 10; +#X floatatom 654 468 4 0 0; +#X msg 702 406 element \$1 \$1; +#X text 687 406 ==; +#X obj 161 479 matrix 3 2; +#X obj 161 525 mtx_print; +#X msg 161 357 bang; +#X text 143 542 an "empty" [3 \, 2] matrix; +#X msg 73 433 egg 4; +#X msg 75 455 diegg 3 2 1; +#X obj 126 671 mtx_element; +#X obj 225 646 mtx_size; +#X obj 225 669 mtx_transpose; +#X obj 427 650 mtx_mean; +#X obj 427 669 mtx_rand; +#X obj 338 670 mtx_inverse; +#X obj 126 646 mtx_eye; +#X obj 338 645 mtx_+; +#X text 127 620 see also help for:; +#X msg 912 383 write /tmp/my_matrix.mtx; +#X msg 912 406 read /tmp/my_matrix.mtx; +#X obj 810 412 mtx_rand; +#X msg 810 390 4 5; +#X msg 858 389 bang; +#X obj 858 464 mtx_print; +#X text 848 351 load and save matrices; +#X obj 858 440 matrix test.mtx; +#X connect 1 0 2 0; +#X connect 5 0 4 0; +#X connect 6 0 5 0; +#X connect 7 0 5 0; +#X connect 8 0 5 0; +#X connect 9 0 5 0; +#X connect 10 0 13 0; +#X connect 11 0 12 0; +#X connect 12 0 10 1; +#X connect 14 0 10 0; +#X connect 15 0 12 0; +#X connect 16 0 10 0; +#X connect 17 0 16 0; +#X connect 18 0 19 0; +#X connect 19 0 10 0; +#X connect 20 0 23 0; +#X connect 21 0 24 0; +#X connect 22 0 10 0; +#X connect 23 0 10 0; +#X connect 24 0 10 0; +#X connect 25 0 10 0; +#X connect 26 0 10 0; +#X connect 27 0 28 0; +#X connect 28 0 10 0; +#X connect 29 0 26 0; +#X connect 30 0 1 0; +#X connect 31 0 2 0; +#X connect 36 0 2 0; +#X connect 38 0 37 0; +#X connect 39 0 38 1; +#X connect 40 0 39 0; +#X connect 42 0 38 0; +#X connect 43 0 38 0; +#X connect 44 0 38 0; +#X connect 45 0 38 0; +#X connect 55 0 10 0; +#X connect 57 0 10 0; +#X connect 58 0 57 0; +#X connect 61 0 62 0; +#X connect 63 0 61 0; +#X connect 65 0 5 0; +#X connect 66 0 5 0; +#X connect 76 0 83 0; +#X connect 77 0 83 0; +#X connect 78 0 83 0; +#X connect 79 0 78 0; +#X connect 80 0 83 0; +#X connect 83 0 81 0; diff --git a/doc/matrix~.pd b/doc/matrix~.pd new file mode 100644 index 0000000..5b0fa07 --- /dev/null +++ b/doc/matrix~.pd @@ -0,0 +1,58 @@ +#N canvas 59 -12 889 589 12; +#X obj 68 271 osc~ 100; +#X obj 68 297 *~ 0.2; +#X obj 112 320 osc~ 1000; +#X obj 112 346 *~ 1.5; +#X obj 157 295 osc~ 432; +#X obj 68 411 env~; +#X floatatom 68 435 4 0 0; +#X obj 127 410 env~; +#X floatatom 127 434 4 0 0; +#X obj 187 410 env~; +#X floatatom 187 434 4 0 0; +#X obj 247 409 env~; +#X floatatom 247 433 4 0 0; +#X floatatom 284 350 4 0 0; +#X text 332 353 fade time in [ms]; +#X msg 265 100 bang; +#X obj 265 127 mtx_eye 3 4; +#X msg 362 100 bang; +#X obj 362 127 mtx_egg 3 4; +#X msg 261 179 bang; +#X msg 362 178 bang; +#X obj 261 206 mtx_ones 3 4; +#X obj 362 205 mtx_zeros 3 4; +#X obj 68 371 matrix~ 3 4 100 .......; +#X obj 98 32 matrix~; +#X text 174 24 matrix-multiply m IN~signals to n OUT~signals; +#X text 174 37 matrices are interpolated a la line~; +#X text 473 91 the one-before-last inlet eats; +#X text 476 104 matrix-messages to control the gains; +#X text 475 117 of the matrix~; +#X text 484 333 the last inlet gets the fade-time between two matrix-messages. +; +#X obj 78 505 matrix~; +#X text 154 503 creation: "matrix~ [ [ []]] +; +#X connect 0 0 1 0; +#X connect 1 0 23 0; +#X connect 2 0 3 0; +#X connect 3 0 23 1; +#X connect 4 0 23 2; +#X connect 5 0 6 0; +#X connect 7 0 8 0; +#X connect 9 0 10 0; +#X connect 11 0 12 0; +#X connect 13 0 23 4; +#X connect 15 0 16 0; +#X connect 16 0 23 3; +#X connect 17 0 18 0; +#X connect 18 0 23 3; +#X connect 19 0 21 0; +#X connect 20 0 22 0; +#X connect 21 0 23 3; +#X connect 22 0 23 3; +#X connect 23 0 5 0; +#X connect 23 1 7 0; +#X connect 23 2 9 0; +#X connect 23 3 11 0; diff --git a/doc/mtx_binops.pd b/doc/mtx_binops.pd new file mode 100644 index 0000000..a0ae6d0 --- /dev/null +++ b/doc/mtx_binops.pd @@ -0,0 +1,142 @@ +#N canvas 79 32 859 673 10; +#X obj 87 360 mtx_mul; +#X obj 157 360 mtx_*; +#X obj 88 163 mtx_add; +#X obj 167 166 mtx_+; +#X obj 155 134 mtx_diag 1 2 3 4 5; +#X obj 88 134 mtx_ones 5; +#X obj 88 111 t b b; +#X obj 88 185 mtx_print; +#X msg 88 92 bang; +#X text 142 165 ==; +#X obj 305 134 mtx_eye 4; +#X obj 305 159 mtx_add 10; +#X msg 305 107 bang; +#X obj 305 186 mtx_print; +#X floatatom 374 101 4 0 0 0 - - -; +#X obj 374 119 t b f; +#X obj 392 160 mtx_+ 10; +#X text 371 161 ==; +#X obj 87 394 mtx_print; +#X msg 87 270 bang; +#X obj 133 332 mtx_diag 1 2; +#X obj 87 297 t b b; +#X obj 87 332 mtx_+ 3; +#X text 137 361 ==; +#X obj 87 314 mtx_eye 3 2; +#X obj 249 399 mtx_print; +#X obj 249 292 t b f; +#X floatatom 249 274 4 0 0 0 - - -; +#X msg 249 315 4 2 1 3; +#X obj 249 335 mtx_diag; +#X obj 249 363 mtx_mul 2; +#X obj 328 363 mtx_* 2; +#X obj 393 363 mtx_.* 2; +#X text 310 363 ==; +#X text 376 364 ==; +#X obj 522 366 mtx_.*; +#X obj 522 401 mtx_print; +#X obj 522 304 mtx_diag 1 2 3; +#X obj 553 322 mtx_ones 3; +#X obj 522 283 t b b; +#X msg 522 264 bang; +#X obj 553 341 mtx_* 2; +#X text 80 214 add 2 matrices; +#X text 274 218 add an offset to a matrix; +#X text 70 423 multiply 2 matrices; +#X text 245 422 multiply a matrix with a scalar; +#X text 506 425 multiply 2 matrices element by element; +#X text 334 19 matrix arithmetic; +#X obj 88 599 mtx_print; +#X obj 88 492 t b f; +#X floatatom 88 474 4 0 0 0 - - -; +#X msg 88 515 4 2 1 3; +#X obj 88 535 mtx_diag; +#X obj 323 600 mtx_print; +#X obj 323 503 mtx_diag 1 2 3; +#X obj 354 521 mtx_ones 3; +#X obj 354 540 mtx_* 2; +#X text 84 622 divide a matrix by a scalar; +#X obj 88 563 mtx_./ 2; +#X obj 323 565 mtx_./; +#X text 307 624 divide 2 matrices element by element; +#X obj 323 482 t b b f; +#X floatatom 323 463 4 0 0 0 - - -; +#X obj 709 538 matrix; +#X text 592 538 see also help for; +#X obj 550 141 mtx_diag 1 2 3 4 5; +#X obj 483 141 mtx_ones 5; +#X obj 483 118 t b b; +#X obj 483 192 mtx_print; +#X msg 483 99 bang; +#X text 537 172 ==; +#X obj 700 141 mtx_eye 4; +#X msg 700 114 bang; +#X obj 700 193 mtx_print; +#X floatatom 769 108 4 0 0 0 - - -; +#X obj 769 126 t b f; +#X text 762 168 ==; +#X obj 483 170 mtx_sub; +#X obj 562 173 mtx_-; +#X obj 779 169 mtx_sub 10; +#X obj 700 166 mtx_- 10; +#X text 481 221 subtract 2 matrices; +#X text 669 225 subtract an offset from a matrix; +#X connect 0 0 18 0; +#X connect 2 0 7 0; +#X connect 4 0 2 1; +#X connect 5 0 2 0; +#X connect 6 0 5 0; +#X connect 6 1 4 0; +#X connect 8 0 6 0; +#X connect 10 0 11 0; +#X connect 11 0 13 0; +#X connect 12 0 10 0; +#X connect 14 0 15 0; +#X connect 15 0 10 0; +#X connect 15 1 11 1; +#X connect 19 0 21 0; +#X connect 20 0 0 1; +#X connect 21 0 24 0; +#X connect 21 1 20 0; +#X connect 22 0 0 0; +#X connect 24 0 22 0; +#X connect 26 0 28 0; +#X connect 26 1 30 1; +#X connect 27 0 26 0; +#X connect 28 0 29 0; +#X connect 29 0 30 0; +#X connect 30 0 25 0; +#X connect 35 0 36 0; +#X connect 37 0 35 0; +#X connect 38 0 41 0; +#X connect 39 0 37 0; +#X connect 39 1 38 0; +#X connect 40 0 39 0; +#X connect 41 0 35 1; +#X connect 49 0 51 0; +#X connect 49 1 58 1; +#X connect 50 0 49 0; +#X connect 51 0 52 0; +#X connect 52 0 58 0; +#X connect 54 0 59 0; +#X connect 55 0 56 0; +#X connect 56 0 59 1; +#X connect 58 0 48 0; +#X connect 59 0 53 0; +#X connect 61 0 54 0; +#X connect 61 1 55 0; +#X connect 61 2 56 1; +#X connect 62 0 61 0; +#X connect 65 0 77 1; +#X connect 66 0 77 0; +#X connect 67 0 66 0; +#X connect 67 1 65 0; +#X connect 69 0 67 0; +#X connect 71 0 80 0; +#X connect 72 0 71 0; +#X connect 74 0 75 0; +#X connect 75 0 71 0; +#X connect 75 1 80 1; +#X connect 77 0 68 0; +#X connect 80 0 73 0; diff --git a/doc/mtx_element.pd b/doc/mtx_element.pd new file mode 100644 index 0000000..a69e642 --- /dev/null +++ b/doc/mtx_element.pd @@ -0,0 +1,64 @@ +#N canvas 220 134 544 776 10; +#X obj 53 302 mtx_print; +#X obj 53 283 mtx_element 4 3; +#X obj 64 260 mtx_ones 5 3; +#X msg 64 241 bang; +#X floatatom 53 191 4 0 0; +#X msg 138 184 3 2; +#X msg 144 202 2 0; +#X msg 144 219 0 1; +#X msg 145 237 0 0; +#X text 179 184 set element [3 \, 2]; +#X text 179 202 set all elements in row [2]; +#X text 177 217 set all elements in column [1]; +#X text 178 236 set all elements of matrix; +#X text 153 285 creation: mtx_element [ [ ]]; +#X obj 53 469 mtx_print; +#X obj 64 427 mtx_ones 5 3; +#X msg 64 408 bang; +#X obj 53 450 mtx_row 4 3; +#X msg 122 405 0; +#X text 153 405 set all rows; +#X msg 114 383 2; +#X text 154 380 set row [2]; +#X msg 53 356 -1 2 3 4 5; +#X obj 50 658 mtx_print; +#X obj 61 616 mtx_ones 5 3; +#X msg 61 597 bang; +#X msg 131 592 0; +#X msg 123 570 2; +#X msg 50 545 -1 2 3 4 5; +#X obj 50 639 mtx_col 4 3 3; +#X text 163 567 set column [2]; +#X text 162 593 set all columns; +#X text 137 640 creation: mtx_col [ []]; +#X text 133 452 creation: mtx_row [ []]; +#X text 52 163 set matrix elements; +#X text 55 339 set matrix rows; +#X text 49 529 set matrix columns; +#X text 187 50 get/set elements/rows/columns of a matrix; +#X obj 90 33 mtx_element; +#X obj 89 53 mtx_row; +#X obj 90 75 mtx_col; +#X obj 210 738 matrix; +#X text 98 737 see also help for; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 4 0 1 0; +#X connect 5 0 1 1; +#X connect 6 0 1 1; +#X connect 7 0 1 1; +#X connect 8 0 1 1; +#X connect 15 0 17 0; +#X connect 16 0 15 0; +#X connect 17 0 14 0; +#X connect 18 0 17 1; +#X connect 20 0 17 1; +#X connect 22 0 17 0; +#X connect 24 0 29 0; +#X connect 25 0 24 0; +#X connect 26 0 29 1; +#X connect 27 0 29 1; +#X connect 28 0 29 0; +#X connect 29 0 23 0; diff --git a/doc/mtx_inverse.pd b/doc/mtx_inverse.pd new file mode 100644 index 0000000..9cca9fe --- /dev/null +++ b/doc/mtx_inverse.pd @@ -0,0 +1,18 @@ +#N canvas 50 156 465 427 10; +#X obj 92 208 mtx_inverse; +#X obj 92 292 mtx_print; +#X msg 103 140 matrix 3 3 1 2 3 2 3 4 3 4 5; +#X text 280 142 singular; +#X msg 92 108 matrix 3 3 1 2 4 2 3 4 3 4 5; +#X text 265 107 regular; +#X text 85 310 get the inverse of a matrix; +#X text 286 158 regular; +#X text 287 168 but badly conditioned; +#X msg 111 164 matrix 3 3 1 2 3 2 4 4 3 4 5; +#X text 82 26 get the inverse of a matrix; +#X obj 233 381 matrix; +#X text 116 381 see also help for; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X connect 4 0 0 0; +#X connect 9 0 0 0; diff --git a/doc/mtx_mean.pd b/doc/mtx_mean.pd new file mode 100644 index 0000000..02b02fb --- /dev/null +++ b/doc/mtx_mean.pd @@ -0,0 +1,13 @@ +#N canvas 128 104 450 300 10; +#X obj 57 146 mtx_mean; +#X obj 63 91 mtx_print; +#X obj 57 201 print mean_row; +#X obj 57 76 mtx_rand; +#X msg 57 52 4 5; +#X text 55 229 get the mean value of each column; +#X obj 175 275 matrix; +#X text 58 275 see also help for; +#X connect 0 0 2 0; +#X connect 3 0 1 0; +#X connect 3 0 0 0; +#X connect 4 0 3 0; diff --git a/doc/mtx_rand.pd b/doc/mtx_rand.pd new file mode 100644 index 0000000..491d6de --- /dev/null +++ b/doc/mtx_rand.pd @@ -0,0 +1,20 @@ +#N canvas 120 116 450 300 10; +#X obj 59 148 mtx_rand; +#X obj 59 194 mtx_print; +#X obj 83 100 mtx_ones 6 3; +#X msg 83 82 bang; +#X msg 74 58 5 7; +#X msg 59 35 3; +#X msg 115 133 seed 12; +#X text 51 219 get a matrix containing; +#X text 51 232 random elements (0..1]; +#X text 165 131 set seed; +#X obj 357 274 matrix; +#X text 240 274 see also help for; +#X text 129 11 fill a matrix with random values; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X connect 3 0 2 0; +#X connect 4 0 0 0; +#X connect 5 0 0 0; +#X connect 6 0 0 0; diff --git a/doc/mtx_size.pd b/doc/mtx_size.pd new file mode 100644 index 0000000..85d7747 --- /dev/null +++ b/doc/mtx_size.pd @@ -0,0 +1,44 @@ +#N canvas 161 60 833 285 10; +#X obj 386 214 mtx_print; +#X obj 386 106 mtx_ones; +#X msg 386 83 3 5; +#X obj 386 192 mtx_resize; +#X text 383 67 resize a matrix; +#X msg 441 91 3 2; +#X msg 447 109 2 0; +#X msg 448 144 0 0; +#X text 482 91 resize to [3 \, 2]; +#X text 482 109 resize to 2 rows \, leave row-length unchanged; +#X text 481 143 don't resize; +#X msg 452 169 2; +#X text 484 171 resize to [2 \, 2]; +#X text 458 192 creation: mtx_resize [ []]; +#X msg 447 126 0 4; +#X text 482 124 resize to 4 columns \, leave column-length unchanged; +#X floatatom 81 178 4 0 0; +#X text 78 68 get the size of a matrix; +#X obj 81 140 mtx_size; +#X msg 115 91 3 2; +#X msg 81 91 7; +#X obj 81 115 mtx_ones; +#X floatatom 124 178 4 0 0; +#X text 122 194 columns; +#X text 82 195 rows; +#X obj 150 22 mtx_size; +#X obj 421 23 mtx_resize; +#X text 223 24 get/set the size of a matrix; +#X obj 306 252 matrix; +#X text 189 252 see also help for; +#X connect 1 0 3 0; +#X connect 2 0 1 0; +#X connect 3 0 0 0; +#X connect 5 0 3 1; +#X connect 6 0 3 1; +#X connect 7 0 3 1; +#X connect 11 0 3 1; +#X connect 14 0 3 1; +#X connect 18 0 16 0; +#X connect 18 1 22 0; +#X connect 19 0 21 0; +#X connect 20 0 21 0; +#X connect 21 0 18 0; diff --git a/doc/mtx_special.pd b/doc/mtx_special.pd new file mode 100644 index 0000000..b230a0f --- /dev/null +++ b/doc/mtx_special.pd @@ -0,0 +1,60 @@ +#N canvas 113 77 498 667 10; +#X obj 117 136 mtx_eye 5; +#X obj 117 162 mtx_print; +#X msg 117 65 bang; +#X msg 147 109 3 5; +#X msg 133 85 10; +#X obj 120 332 mtx_print; +#X msg 120 234 bang; +#X msg 150 279 3 5; +#X msg 136 255 10; +#X obj 311 337 mtx_print; +#X msg 311 239 bang; +#X msg 341 284 3 5; +#X msg 327 260 10; +#X obj 120 306 mtx_ones 5; +#X obj 311 311 mtx_zeros 5; +#X obj 124 496 mtx_print; +#X msg 136 417 1 2 3 4 5; +#X msg 124 395 bang; +#X obj 124 468 mtx_diag 7 6 5 4; +#X text 93 181 identity matrix; +#X text 104 358 all matrix elements=1; +#X text 290 359 all matrix elements=0; +#X text 113 522 diagonal-matrix; +#X obj 333 162 mtx_print; +#X msg 333 65 bang; +#X msg 363 109 3 5; +#X msg 349 85 10; +#X obj 333 136 mtx_egg 5; +#X obj 316 491 mtx_print; +#X msg 328 412 1 2 3 4 5; +#X msg 316 390 bang; +#X obj 316 463 mtx_diegg 7 6 5 4; +#X text 305 517 turned diagonal-matrix; +#X text 309 181 turned identity matrix; +#X text 173 19 create special matrices; +#X obj 245 612 matrix; +#X text 128 612 see also help for; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X connect 3 0 0 0; +#X connect 4 0 0 0; +#X connect 6 0 13 0; +#X connect 7 0 13 0; +#X connect 8 0 13 0; +#X connect 10 0 14 0; +#X connect 11 0 14 0; +#X connect 12 0 14 0; +#X connect 13 0 5 0; +#X connect 14 0 9 0; +#X connect 16 0 18 0; +#X connect 17 0 18 0; +#X connect 18 0 15 0; +#X connect 24 0 27 0; +#X connect 25 0 27 0; +#X connect 26 0 27 0; +#X connect 27 0 23 0; +#X connect 29 0 31 0; +#X connect 30 0 31 0; +#X connect 31 0 28 0; diff --git a/doc/mtx_trace.pd b/doc/mtx_trace.pd new file mode 100644 index 0000000..ad48fd8 --- /dev/null +++ b/doc/mtx_trace.pd @@ -0,0 +1,24 @@ +#N canvas 137 140 916 465 10; +#X obj 79 361 mtx_diag; +#X obj 79 389 print; +#X obj 79 308 mtx_ones 7; +#X msg 79 288 bang; +#X obj 84 106 mtx_ones 7; +#X msg 84 83 bang; +#X obj 84 147 mtx_trace; +#X floatatom 84 189 4 0 0 0 - - -; +#X text 86 68 get trace of a matrix; +#X text 79 271 get diagonal of a matrix; +#X text 81 204 trace = sum(diagonal elements); +#X text 243 28 get information of the diagonale of a matrix; +#X text 440 176 see also help for; +#X obj 571 175 matrix; +#X obj 699 269 mtx_eye; +#X text 332 270 to create diagonale matrices with [mtx_diag] \, see +; +#X connect 0 0 1 0; +#X connect 2 0 0 0; +#X connect 3 0 2 0; +#X connect 4 0 6 0; +#X connect 5 0 4 0; +#X connect 6 0 7 0; diff --git a/doc/mtx_transpose.pd b/doc/mtx_transpose.pd new file mode 100644 index 0000000..afe5c7b --- /dev/null +++ b/doc/mtx_transpose.pd @@ -0,0 +1,66 @@ +#N canvas 199 -133 718 600 10; +#X obj 48 162 mtx_print; +#X obj 48 134 mtx_transpose; +#X obj 48 81 mtx_ones; +#X msg 48 59 3 5; +#X text 45 42 transpose a matrix; +#X text 188 7 tranpose/shift matrices; +#X obj 37 349 mtx_print; +#X msg 37 246 1 2 3 4 5; +#X text 33 229 shift rows of a matrix; +#X floatatom 104 301 4 0 0 0 - - -; +#X obj 37 321 mtx_scroll 1; +#X obj 37 268 mtx_diag; +#X obj 414 333 mtx_print; +#X msg 414 230 1 2 3 4 5; +#X floatatom 481 285 4 0 0 0 - - -; +#X obj 414 252 mtx_diag; +#X text 410 213 shift columns of a matrix; +#X obj 414 306 mtx_roll 1; +#X text 517 286 shift amount (0=no-shift \; 1=1-column-right \; -2=2-columns-left +\; ...); +#X text 143 299 shift amount (0=no-shift \; 1=1-row-down \; -2=2-rows-up +\; ...); +#X text 29 419 pivot-transform a matrix; +#X obj 33 494 mtx_pivot; +#N canvas 352 114 190 367 rand-matrix 0; +#X obj 74 163 inlet; +#X obj 74 270 outlet; +#X obj 74 195 mtx_rand; +#X obj 74 215 mtx_* 10; +#X obj 74 237 l2i; +#X connect 0 0 2 0; +#X connect 2 0 3 0; +#X connect 3 0 4 0; +#X connect 4 0 1 0; +#X restore 33 458 pd rand-matrix; +#X msg 33 436 4 3; +#X obj 82 515 mtx_print post; +#X obj 57 535 mtx_print pre; +#X obj 33 575 mtx_print pivot; +#X obj 485 95 matrix; +#X text 435 77 see also help for; +#X text 280 494 the first outlet is the pivot-transformed matrix.; +#X text 279 520 the other outlets are the 1/0-matrices that have to +be pre-multiplied (row-tranform) and post-multiplied (column-tranform) +to the original matrix to get the pivot-tranformation. this is useful +for de-pivoting.; +#X text 281 445 this will tranform the columns and rows \, so that +the result will have all maximum values in the diagonale. the maximum +of the matrix will be located at the upper-left corner.; +#X connect 1 0 0 0; +#X connect 2 0 1 0; +#X connect 3 0 2 0; +#X connect 7 0 11 0; +#X connect 9 0 10 1; +#X connect 10 0 6 0; +#X connect 11 0 10 0; +#X connect 13 0 15 0; +#X connect 14 0 17 1; +#X connect 15 0 17 0; +#X connect 17 0 12 0; +#X connect 21 0 26 0; +#X connect 21 1 25 0; +#X connect 21 2 24 0; +#X connect 22 0 21 0; +#X connect 23 0 22 0; -- cgit v1.2.1