aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2006-03-28 13:11:25 +0000
committerIOhannes m zmölnig <zmoelnig@users.sourceforge.net>2006-03-28 13:11:25 +0000
commit6f7f6460189b2da25077438c8a13ccd20f2a0f00 (patch)
tree0480592e225118c2c033d95d19f0a6db6bd26090
parentdc59cfa163813ebd59ebe8fc441a022e1d8284b9 (diff)
renamed help-patches; split meta help-patches into smaller ones; TODO: reflect this change in the C-sources
svn path=/trunk/externals/iem/iemmatrix/; revision=4797
-rw-r--r--doc/matrix-help.pd (renamed from doc/matrix.pd)0
-rw-r--r--doc/matrix~-help.pd (renamed from doc/matrix~.pd)0
-rw-r--r--doc/mtx_abs-help.pd20
-rw-r--r--doc/mtx_add-help.pd39
-rw-r--r--doc/mtx_binops-help.pd (renamed from doc/mtx_binops.pd)0
-rw-r--r--doc/mtx_check.pd41
-rw-r--r--doc/mtx_col-help.pd26
-rw-r--r--doc/mtx_cos-help.pd19
-rw-r--r--doc/mtx_dbtorms-help.pd (renamed from doc/mtx_dbtorms.pd)42
-rw-r--r--doc/mtx_diag-help.pd28
-rw-r--r--doc/mtx_diegg-help.pd28
-rw-r--r--doc/mtx_distance2-help.pd (renamed from doc/mtx_distance2.pd)0
-rw-r--r--doc/mtx_egg-help.pd17
-rw-r--r--doc/mtx_element-help.pd33
-rw-r--r--doc/mtx_element.pd64
-rw-r--r--doc/mtx_exp-help.pd37
-rw-r--r--doc/mtx_exp.pd35
-rw-r--r--doc/mtx_eye-help.pd17
-rw-r--r--doc/mtx_int-help.pd20
-rw-r--r--doc/mtx_inverse-help.pd (renamed from doc/mtx_inverse.pd)30
-rw-r--r--doc/mtx_log-help.pd (renamed from doc/mtx_log.pd)38
-rw-r--r--doc/mtx_mean-help.pd18
-rw-r--r--doc/mtx_mean.pd13
-rw-r--r--doc/mtx_minmax-help.pd21
-rw-r--r--doc/mtx_mul-help.pd98
-rw-r--r--doc/mtx_mul~-help.pd101
-rw-r--r--doc/mtx_ones-help.pd17
-rw-r--r--doc/mtx_pivot-help.pd43
-rw-r--r--doc/mtx_pivot.pd93
-rw-r--r--doc/mtx_pow-help.pd37
-rw-r--r--doc/mtx_print-help.pd21
-rw-r--r--doc/mtx_rand-help.pd23
-rw-r--r--doc/mtx_rand.pd20
-rw-r--r--doc/mtx_resize-help.pd32
-rw-r--r--doc/mtx_rmstodb-help.pd (renamed from doc/mtx_rmstodb.pd)42
-rw-r--r--doc/mtx_roll-help.pd23
-rw-r--r--doc/mtx_row-help.pd26
-rw-r--r--doc/mtx_scroll-help.pd23
-rw-r--r--doc/mtx_sin-help.pd19
-rw-r--r--doc/mtx_size-help.pd21
-rw-r--r--doc/mtx_size.pd44
-rw-r--r--doc/mtx_special.pd60
-rw-r--r--doc/mtx_sub-help.pd39
-rw-r--r--doc/mtx_sum-help.pd19
-rw-r--r--doc/mtx_trace-help.pd16
-rw-r--r--doc/mtx_trace.pd24
-rw-r--r--doc/mtx_transpose-help.pd19
-rw-r--r--doc/mtx_transpose.pd72
-rw-r--r--doc/mtx_zeros-help.pd17
49 files changed, 1038 insertions, 497 deletions
diff --git a/doc/matrix.pd b/doc/matrix-help.pd
index a1c6332..a1c6332 100644
--- a/doc/matrix.pd
+++ b/doc/matrix-help.pd
diff --git a/doc/matrix~.pd b/doc/matrix~-help.pd
index 5b0fa07..5b0fa07 100644
--- a/doc/matrix~.pd
+++ b/doc/matrix~-help.pd
diff --git a/doc/mtx_abs-help.pd b/doc/mtx_abs-help.pd
new file mode 100644
index 0000000..05c8929
--- /dev/null
+++ b/doc/mtx_abs-help.pd
@@ -0,0 +1,20 @@
+#N canvas 128 118 680 254 10;
+#X text 458 17 updated for;
+#X obj 546 17 iemmatrix 0.2;
+#X text 136 10 absolute value of matrix elements;
+#X obj 595 43 matrix;
+#X text 465 42 see also help for;
+#X obj 48 100 mtx 3 3;
+#X text 45 42 compute the absolute value of each element of a matrix
+;
+#X obj 595 63 abs;
+#X obj 48 164 mtx_abs;
+#X obj 48 192 mtx_print abs;
+#X obj 48 131 t a a;
+#X obj 91 132 mtx_print org;
+#X msg 48 80 0 1 -2 -3 -4 5 -6 7 8;
+#X connect 5 0 10 0;
+#X connect 8 0 9 0;
+#X connect 10 0 8 0;
+#X connect 10 1 11 0;
+#X connect 12 0 5 0;
diff --git a/doc/mtx_add-help.pd b/doc/mtx_add-help.pd
new file mode 100644
index 0000000..de9e4a4
--- /dev/null
+++ b/doc/mtx_add-help.pd
@@ -0,0 +1,39 @@
+#N canvas 363 101 450 300 10;
+#X text 255 30 updated for;
+#X obj 343 30 iemmatrix 0.2;
+#X obj 392 56 matrix;
+#X text 262 55 see also help for;
+#X text 8 42 matrix arithmetic: adding;
+#X obj 46 176 mtx_add;
+#X obj 125 177 mtx_+;
+#X obj 123 147 mtx_diag 1 2 3 4 5;
+#X obj 46 147 mtx_ones 5;
+#X obj 46 124 t b b;
+#X obj 46 198 mtx_print;
+#X msg 46 105 bang;
+#X text 100 178 ==;
+#X obj 263 147 mtx_eye 4;
+#X obj 263 172 mtx_add 10;
+#X msg 263 120 bang;
+#X obj 263 199 mtx_print;
+#X floatatom 332 104 4 0 0 0 - - -;
+#X obj 332 122 t b f;
+#X obj 360 172 mtx_+ 10;
+#X text 339 173 ==;
+#X text 38 227 add 2 matrices;
+#X text 232 231 add an offset to a matrix;
+#X obj 17 23 mtx_add;
+#X obj 81 23 mtx_+;
+#X obj 392 77 +;
+#X connect 5 0 10 0;
+#X connect 7 0 5 1;
+#X connect 8 0 5 0;
+#X connect 9 0 8 0;
+#X connect 9 1 7 0;
+#X connect 11 0 9 0;
+#X connect 13 0 14 0;
+#X connect 14 0 16 0;
+#X connect 15 0 13 0;
+#X connect 17 0 18 0;
+#X connect 18 0 13 0;
+#X connect 18 1 14 1;
diff --git a/doc/mtx_binops.pd b/doc/mtx_binops-help.pd
index 581a04f..581a04f 100644
--- a/doc/mtx_binops.pd
+++ b/doc/mtx_binops-help.pd
diff --git a/doc/mtx_check.pd b/doc/mtx_check.pd
new file mode 100644
index 0000000..3be72d3
--- /dev/null
+++ b/doc/mtx_check.pd
@@ -0,0 +1,41 @@
+#N canvas 161 60 833 321 10;
+#X text 578 18 updated for;
+#X obj 666 18 iemmatrix 0.2;
+#X obj 715 44 matrix;
+#X text 585 43 see also help for;
+#X obj 86 294 mtx_print;
+#X obj 121 23 mtx_check;
+#X text 223 24 check (and fix) a matrix for validity;
+#X obj 86 242 mtx_check;
+#X text 83 107 check a matrix-message;
+#X msg 133 169 matrix 3 3 2;
+#X obj 488 254 mtx_int;
+#X msg 86 131 matrix 2 2 0 1 2 3;
+#X text 221 132 legal matrix message: [2x2] matrix with elements "0
+1 \, 2 3";
+#X text 233 163 this message is illegal: [3x3] matrix \, the only element
+of which is "2";
+#X obj 638 273 mtx_int;
+#X obj 638 251 mtx_check;
+#X obj 488 279 mtx_print illegal;
+#X obj 638 297 mtx_print legalizeIt;
+#X msg 488 228 matrix 3 3 2;
+#X msg 638 227 matrix 3 3 2;
+#X text 65 44 illegal matrix-message are fixed by zero-padding (if
+too few elements are given) \, or truncation (if too many elements
+are given);
+#X msg 132 201 matrix 2 2 0 1 2 3 4 5 6;
+#X text 308 201 illegal too: too many elements are given;
+#X obj 86 267 t a a;
+#X obj 126 267 print fixed;
+#X connect 7 0 23 0;
+#X connect 9 0 7 0;
+#X connect 10 0 16 0;
+#X connect 11 0 7 0;
+#X connect 14 0 17 0;
+#X connect 15 0 14 0;
+#X connect 18 0 10 0;
+#X connect 19 0 15 0;
+#X connect 21 0 7 0;
+#X connect 23 0 4 0;
+#X connect 23 1 24 0;
diff --git a/doc/mtx_col-help.pd b/doc/mtx_col-help.pd
new file mode 100644
index 0000000..75c38a5
--- /dev/null
+++ b/doc/mtx_col-help.pd
@@ -0,0 +1,26 @@
+#N canvas 136 41 544 373 10;
+#X text 276 28 updated for;
+#X obj 364 28 iemmatrix 0.2;
+#X obj 413 54 matrix;
+#X text 283 53 see also help for;
+#X obj 413 96 mtx_col;
+#X obj 89 32 mtx_col;
+#X obj 53 259 mtx_print;
+#X obj 64 217 mtx_ones 5 3;
+#X msg 64 198 bang;
+#X obj 53 240 mtx_col 4 3;
+#X msg 182 195 0;
+#X msg 174 173 2;
+#X msg 53 146 -1 2 3 4 5;
+#X text 133 242 creation: mtx_col [<col> <col> [<posR>]];
+#X obj 413 76 mtx_element;
+#X text 19 9 set columns of a matrix;
+#X text 55 129 set matrix columns;
+#X text 214 170 set column [2];
+#X text 213 195 set all columns;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 9 0 6 0;
+#X connect 10 0 9 1;
+#X connect 11 0 9 1;
+#X connect 12 0 9 0;
diff --git a/doc/mtx_cos-help.pd b/doc/mtx_cos-help.pd
new file mode 100644
index 0000000..8cbd92f
--- /dev/null
+++ b/doc/mtx_cos-help.pd
@@ -0,0 +1,19 @@
+#N canvas 128 118 680 254 10;
+#X text 458 17 updated for;
+#X obj 546 17 iemmatrix 0.2;
+#X obj 595 43 matrix;
+#X text 465 42 see also help for;
+#X obj 595 63 cos;
+#X obj 48 164 mtx_cos;
+#X obj 48 192 mtx_print cos;
+#X obj 48 131 t a a;
+#X obj 91 132 mtx_print org;
+#X text 136 10 cosine of matrix elements;
+#X text 45 42 compute the cosine of each element of a matrix;
+#X obj 48 100 mtx 2 2;
+#X msg 48 80 0 3.14159 1 90;
+#X connect 5 0 6 0;
+#X connect 7 0 5 0;
+#X connect 7 1 8 0;
+#X connect 11 0 7 0;
+#X connect 12 0 11 0;
diff --git a/doc/mtx_dbtorms.pd b/doc/mtx_dbtorms-help.pd
index d6a21a8..396e091 100644
--- a/doc/mtx_dbtorms.pd
+++ b/doc/mtx_dbtorms-help.pd
@@ -1,6 +1,7 @@
-#N canvas 382 124 687 471 10;
-#X obj 485 95 matrix;
-#X text 435 77 see also help for;
+#N canvas 337 124 687 471 10;
+#X text 188 7 convert dB(pd) to rms;
+#X text 458 17 updated for;
+#X obj 546 17 iemmatrix 0.2;
#X obj 181 100 mtx_eye;
#X obj 64 285 mtx_rand 4 2;
#X msg 64 263 bang;
@@ -10,15 +11,14 @@
#X msg 181 79 3 3;
#X obj 48 134 mtx_dbtorms;
#X obj 64 380 mtx_dbtorms;
-#X obj 483 125 mtx_rmstodb;
-#X obj 483 145 dbtorms;
+#X obj 599 71 mtx_rmstodb;
+#X obj 599 91 dbtorms;
#X obj 181 121 mtx_* 100;
#X obj 48 162 mtx_print dbtorms;
#X obj 64 330 mtx_rmstodb;
#X obj 105 357 mtx_print db;
#X obj 64 407 mtx_print db;
#X obj 48 100 mtx 2 2;
-#X text 188 7 convert dB(pd) to rms;
#X text 44 34 convert dB(pd) to a linear value for each element of
a matrix;
#X text 290 305 note: dB(pd):=dB(techn)+100;
@@ -26,17 +26,19 @@ a matrix;
#X text 404 375 0dB(pd)==zero gain (==0);
#X msg 48 80 0 100 97 106;
#X text 391 354 106dB(pd)~=double gain (==2);
-#X connect 2 0 13 0;
-#X connect 3 0 5 0;
-#X connect 4 0 3 0;
-#X connect 5 0 15 0;
-#X connect 5 1 6 0;
-#X connect 7 0 10 0;
-#X connect 7 1 16 0;
-#X connect 8 0 2 0;
-#X connect 9 0 14 0;
-#X connect 10 0 17 0;
-#X connect 13 0 9 0;
-#X connect 15 0 7 0;
-#X connect 18 0 9 0;
-#X connect 24 0 18 0;
+#X obj 595 43 matrix;
+#X text 465 42 see also help for;
+#X connect 3 0 14 0;
+#X connect 4 0 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 16 0;
+#X connect 6 1 7 0;
+#X connect 8 0 11 0;
+#X connect 8 1 17 0;
+#X connect 9 0 3 0;
+#X connect 10 0 15 0;
+#X connect 11 0 18 0;
+#X connect 14 0 10 0;
+#X connect 16 0 8 0;
+#X connect 19 0 10 0;
+#X connect 24 0 19 0;
diff --git a/doc/mtx_diag-help.pd b/doc/mtx_diag-help.pd
new file mode 100644
index 0000000..0a00bfd
--- /dev/null
+++ b/doc/mtx_diag-help.pd
@@ -0,0 +1,28 @@
+#N canvas 61 0 491 290 10;
+#X text 285 23 updated for;
+#X obj 373 23 iemmatrix 0.2;
+#X obj 422 49 matrix;
+#X text 292 48 see also help for;
+#X obj 103 227 mtx_print;
+#X msg 103 130 bang;
+#X text 129 20 [mtx_diag];
+#X msg 136 157 1 2 3 4 5;
+#X text 93 252 diagonal-matrix;
+#X obj 103 201 mtx_diag 7 9 8;
+#X text 30 89 create a diagonal matrix;
+#X obj 300 130 mtx_rand 4;
+#X msg 300 108 bang;
+#X obj 300 197 mtx_diag;
+#X obj 300 231 print diagonal;
+#X obj 300 158 t a a;
+#X obj 347 159 mtx_print org;
+#X text 294 258 diagonal of the matrix;
+#X text 276 88 get the diagonal of a matrix;
+#X connect 5 0 9 0;
+#X connect 7 0 9 0;
+#X connect 9 0 4 0;
+#X connect 11 0 15 0;
+#X connect 12 0 11 0;
+#X connect 13 0 14 0;
+#X connect 15 0 13 0;
+#X connect 15 1 16 0;
diff --git a/doc/mtx_diegg-help.pd b/doc/mtx_diegg-help.pd
new file mode 100644
index 0000000..bcbbebe
--- /dev/null
+++ b/doc/mtx_diegg-help.pd
@@ -0,0 +1,28 @@
+#N canvas 13 81 566 290 10;
+#X text 295 30 updated for;
+#X obj 383 30 iemmatrix 0.2;
+#X obj 432 56 matrix;
+#X text 302 55 see also help for;
+#X text 129 20 [mtx_diegg];
+#X obj 103 227 mtx_print;
+#X msg 103 130 bang;
+#X msg 136 157 1 2 3 4 5;
+#X obj 300 130 mtx_rand 4;
+#X msg 300 108 bang;
+#X obj 300 158 t a a;
+#X obj 347 159 mtx_print org;
+#X text 294 258 diagonal of the matrix;
+#X text 276 88 get the turned diagonal of a matrix;
+#X obj 300 231 print dieggonal;
+#X text 93 252 turned diagonal-matrix;
+#X text 30 89 create a turned diagonal matrix;
+#X obj 300 197 mtx_diegg;
+#X obj 103 201 mtx_diegg 7 9 8;
+#X connect 6 0 18 0;
+#X connect 7 0 18 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 10 0 17 0;
+#X connect 10 1 11 0;
+#X connect 17 0 14 0;
+#X connect 18 0 5 0;
diff --git a/doc/mtx_distance2.pd b/doc/mtx_distance2-help.pd
index 2391341..2391341 100644
--- a/doc/mtx_distance2.pd
+++ b/doc/mtx_distance2-help.pd
diff --git a/doc/mtx_egg-help.pd b/doc/mtx_egg-help.pd
new file mode 100644
index 0000000..2295d34
--- /dev/null
+++ b/doc/mtx_egg-help.pd
@@ -0,0 +1,17 @@
+#N canvas 61 0 491 290 10;
+#X text 295 230 updated for;
+#X obj 383 230 iemmatrix 0.2;
+#X obj 432 256 matrix;
+#X text 302 255 see also help for;
+#X obj 103 201 mtx_egg 5;
+#X obj 103 227 mtx_print;
+#X msg 103 130 bang;
+#X msg 133 174 3 5;
+#X msg 119 150 10;
+#X text 129 20 [mtx_egg];
+#X text 30 89 create a turned identity matrix;
+#X text 79 246 turned identity matrix;
+#X connect 4 0 5 0;
+#X connect 6 0 4 0;
+#X connect 7 0 4 0;
+#X connect 8 0 4 0;
diff --git a/doc/mtx_element-help.pd b/doc/mtx_element-help.pd
new file mode 100644
index 0000000..ecff760
--- /dev/null
+++ b/doc/mtx_element-help.pd
@@ -0,0 +1,33 @@
+#N canvas 136 41 544 373 10;
+#X text 276 28 updated for;
+#X obj 364 28 iemmatrix 0.2;
+#X obj 413 54 matrix;
+#X text 283 53 see also help for;
+#X obj 413 76 mtx_row;
+#X obj 413 96 mtx_col;
+#X text 19 9 get/set elements of a matrix;
+#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 0 - - -;
+#X msg 164 176 3 2;
+#X msg 164 197 2 0;
+#X msg 164 218 0 1;
+#X msg 165 238 0 0;
+#X text 199 177 set element [3 \, 2];
+#X text 199 197 set all elements in row [2];
+#X text 199 217 set all elements in column [1];
+#X text 163 284 creation: mtx_element [<row> <col> [<posR> <posC>]]
+;
+#X obj 89 32 mtx_element;
+#X text 52 133 set matrix elements;
+#X text 200 237 set all elements of matrix (default!);
+#X connect 8 0 7 0;
+#X connect 9 0 8 0;
+#X connect 10 0 9 0;
+#X connect 11 0 8 0;
+#X connect 12 0 8 1;
+#X connect 13 0 8 1;
+#X connect 14 0 8 1;
+#X connect 15 0 8 1;
diff --git a/doc/mtx_element.pd b/doc/mtx_element.pd
deleted file mode 100644
index a69e642..0000000
--- a/doc/mtx_element.pd
+++ /dev/null
@@ -1,64 +0,0 @@
-#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 [<row> <col> [<posR> <posC>]];
-#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 [<row> <col> [<posC>]];
-#X text 133 452 creation: mtx_row [<row> <col> [<posR>]];
-#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_exp-help.pd b/doc/mtx_exp-help.pd
new file mode 100644
index 0000000..91ff464
--- /dev/null
+++ b/doc/mtx_exp-help.pd
@@ -0,0 +1,37 @@
+#N canvas 128 118 687 471 10;
+#X msg 48 59 3 5;
+#X obj 555 66 exp;
+#X obj 48 134 mtx_exp;
+#X obj 48 81 mtx_eye;
+#X obj 125 100 mtx 3 3;
+#X msg 125 80 0 1 2 3 4 5 6 7 8;
+#X obj 555 86 mtx_log;
+#X obj 48 162 mtx_print exponential;
+#X obj 64 285 mtx_rand 4 2;
+#X msg 64 263 bang;
+#X obj 64 307 t a a;
+#X obj 105 307 mtx_print org;
+#X obj 64 330 mtx_exp;
+#X obj 64 357 t a a;
+#X obj 105 357 mtx_print exp;
+#X obj 64 380 mtx_log;
+#X obj 64 407 mtx_print log;
+#X text 418 17 updated for;
+#X obj 506 17 iemmatrix 0.2;
+#X obj 555 43 matrix;
+#X text 425 42 see also help for;
+#X text 45 42 compute the exponentials of matrix elements;
+#X text 188 7 exponentials of matrix elements;
+#X connect 0 0 3 0;
+#X connect 2 0 7 0;
+#X connect 3 0 2 0;
+#X connect 4 0 2 0;
+#X connect 5 0 4 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 10 0 12 0;
+#X connect 10 1 11 0;
+#X connect 12 0 13 0;
+#X connect 13 0 15 0;
+#X connect 13 1 14 0;
+#X connect 15 0 16 0;
diff --git a/doc/mtx_exp.pd b/doc/mtx_exp.pd
deleted file mode 100644
index 3cfe988..0000000
--- a/doc/mtx_exp.pd
+++ /dev/null
@@ -1,35 +0,0 @@
-#N canvas 128 118 687 471 10;
-#X msg 48 59 3 5;
-#X obj 485 95 matrix;
-#X text 435 77 see also help for;
-#X obj 485 126 exp;
-#X text 188 7 exponential of a matrix;
-#X text 45 42 compute the exponential of a matrix;
-#X obj 48 134 mtx_exp;
-#X obj 48 81 mtx_eye;
-#X obj 125 100 mtx 3 3;
-#X msg 125 80 0 1 2 3 4 5 6 7 8;
-#X obj 483 165 mtx_log;
-#X obj 48 162 mtx_print exponential;
-#X obj 64 285 mtx_rand 4 2;
-#X msg 64 263 bang;
-#X obj 64 307 t a a;
-#X obj 105 307 mtx_print org;
-#X obj 64 330 mtx_exp;
-#X obj 64 357 t a a;
-#X obj 105 357 mtx_print exp;
-#X obj 64 380 mtx_log;
-#X obj 64 407 mtx_print log;
-#X connect 0 0 7 0;
-#X connect 6 0 11 0;
-#X connect 7 0 6 0;
-#X connect 8 0 6 0;
-#X connect 9 0 8 0;
-#X connect 12 0 14 0;
-#X connect 13 0 12 0;
-#X connect 14 0 16 0;
-#X connect 14 1 15 0;
-#X connect 16 0 17 0;
-#X connect 17 0 19 0;
-#X connect 17 1 18 0;
-#X connect 19 0 20 0;
diff --git a/doc/mtx_eye-help.pd b/doc/mtx_eye-help.pd
new file mode 100644
index 0000000..a135589
--- /dev/null
+++ b/doc/mtx_eye-help.pd
@@ -0,0 +1,17 @@
+#N canvas 61 0 491 290 10;
+#X text 295 230 updated for;
+#X obj 383 230 iemmatrix 0.2;
+#X text 30 89 create an identity matrix;
+#X obj 432 256 matrix;
+#X text 302 255 see also help for;
+#X obj 103 201 mtx_eye 5;
+#X obj 103 227 mtx_print;
+#X msg 103 130 bang;
+#X msg 133 174 3 5;
+#X msg 119 150 10;
+#X text 79 246 identity matrix;
+#X text 129 20 [mtx_eye];
+#X connect 5 0 6 0;
+#X connect 7 0 5 0;
+#X connect 8 0 5 0;
+#X connect 9 0 5 0;
diff --git a/doc/mtx_int-help.pd b/doc/mtx_int-help.pd
new file mode 100644
index 0000000..7531664
--- /dev/null
+++ b/doc/mtx_int-help.pd
@@ -0,0 +1,20 @@
+#N canvas 128 118 680 254 10;
+#X text 458 17 updated for;
+#X obj 546 17 iemmatrix 0.2;
+#X obj 595 43 matrix;
+#X text 465 42 see also help for;
+#X obj 595 63 int;
+#X obj 48 164 mtx_int;
+#X obj 48 192 mtx_print int;
+#X obj 48 131 t a a;
+#X obj 91 132 mtx_print org;
+#X text 136 10 integer value of matrix elements;
+#X text 45 42 compute the integer value of each element of a matrix
+;
+#X obj 48 100 mtx 3 2;
+#X msg 48 80 0 1 -2 0.9 -0.9 -999.1;
+#X connect 5 0 6 0;
+#X connect 7 0 5 0;
+#X connect 7 1 8 0;
+#X connect 11 0 7 0;
+#X connect 12 0 11 0;
diff --git a/doc/mtx_inverse.pd b/doc/mtx_inverse-help.pd
index 4f0ea41..5edc4a0 100644
--- a/doc/mtx_inverse.pd
+++ b/doc/mtx_inverse-help.pd
@@ -1,4 +1,8 @@
#N canvas 366 49 604 572 10;
+#X text 347 392 updated for;
+#X obj 435 392 iemmatrix 0.2;
+#X obj 484 418 matrix;
+#X text 354 417 see also help for;
#X text 243 142 singular;
#X text 245 107 regular;
#X text 246 158 regular;
@@ -8,8 +12,6 @@
;
#X text 43 67 if the input is a non-square matrix (rows!=cols) \, the
pseudo-inverse will be calculated.;
-#X text 397 391 part of;
-#X obj 460 389 iemmatrix;
#X text 154 453 A*inv(A)=inv(A)*A=I;
#X text 248 221 pseudoinverse: P1=inv(A'*A)*A';
#X text 247 269 pseudoinverse: P2=A'*inv(A*A');
@@ -29,15 +31,15 @@ pseudo-inverse will be calculated.;
#X obj 153 269 mtx_rand 3 4;
#X obj 181 358 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
-#X connect 14 0 19 0;
-#X connect 14 1 26 0;
-#X connect 15 0 20 0;
-#X connect 16 0 15 0;
-#X connect 17 0 15 0;
-#X connect 18 0 15 0;
-#X connect 20 0 14 0;
-#X connect 20 1 21 0;
-#X connect 22 0 20 0;
-#X connect 23 0 22 0;
-#X connect 24 0 25 0;
-#X connect 25 0 20 0;
+#X connect 16 0 21 0;
+#X connect 16 1 28 0;
+#X connect 17 0 22 0;
+#X connect 18 0 17 0;
+#X connect 19 0 17 0;
+#X connect 20 0 17 0;
+#X connect 22 0 16 0;
+#X connect 22 1 23 0;
+#X connect 24 0 22 0;
+#X connect 25 0 24 0;
+#X connect 26 0 27 0;
+#X connect 27 0 22 0;
diff --git a/doc/mtx_log.pd b/doc/mtx_log-help.pd
index 96b2c0e..ae9ec3e 100644
--- a/doc/mtx_log.pd
+++ b/doc/mtx_log-help.pd
@@ -1,6 +1,9 @@
#N canvas 128 118 687 471 10;
-#X obj 485 95 matrix;
-#X text 435 77 see also help for;
+#X text 188 7 natural logarithm of matrix-elements;
+#X text 458 17 updated for;
+#X obj 546 17 iemmatrix 0.2;
+#X obj 595 43 matrix;
+#X text 465 42 see also help for;
#X obj 181 100 mtx_eye;
#X obj 48 100 mtx 3 3;
#X msg 48 80 0 1 2 3 4 5 6 7 8;
@@ -9,10 +12,8 @@
#X obj 64 307 t a a;
#X obj 105 307 mtx_print org;
#X obj 64 357 t a a;
-#X text 188 7 natural logarithm of matrix-elements;
#X text 45 42 compute the natural lograithm of each element of a matrix
;
-#X obj 483 165 mtx_exp;
#X obj 48 134 mtx_log;
#X obj 48 162 mtx_print logarithm;
#X obj 64 330 mtx_log;
@@ -20,17 +21,18 @@
#X obj 105 357 mtx_print log;
#X obj 64 407 mtx_print exp;
#X msg 181 79 3 3;
-#X obj 485 126 log;
-#X connect 2 0 13 0;
-#X connect 3 0 13 0;
-#X connect 4 0 3 0;
-#X connect 5 0 7 0;
-#X connect 6 0 5 0;
-#X connect 7 0 15 0;
-#X connect 7 1 8 0;
-#X connect 9 0 16 0;
-#X connect 9 1 17 0;
-#X connect 13 0 14 0;
-#X connect 15 0 9 0;
-#X connect 16 0 18 0;
-#X connect 19 0 2 0;
+#X obj 595 63 mtx_exp;
+#X obj 595 83 log;
+#X connect 5 0 14 0;
+#X connect 6 0 14 0;
+#X connect 7 0 6 0;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 10 0 16 0;
+#X connect 10 1 11 0;
+#X connect 12 0 17 0;
+#X connect 12 1 18 0;
+#X connect 14 0 15 0;
+#X connect 16 0 12 0;
+#X connect 17 0 19 0;
+#X connect 20 0 5 0;
diff --git a/doc/mtx_mean-help.pd b/doc/mtx_mean-help.pd
new file mode 100644
index 0000000..cb9706d
--- /dev/null
+++ b/doc/mtx_mean-help.pd
@@ -0,0 +1,18 @@
+#N canvas 128 104 450 300 10;
+#X text 228 47 updated for;
+#X obj 316 47 iemmatrix 0.2;
+#X obj 365 73 matrix;
+#X text 235 72 see also help for;
+#X obj 57 176 mtx_mean;
+#X obj 57 231 print mean_row;
+#X obj 57 106 mtx_rand;
+#X msg 57 82 4 5;
+#X text 55 259 get the mean value of each column;
+#X obj 57 127 t a a;
+#X obj 87 148 mtx_print org;
+#X text 56 11 mean values of a matrix;
+#X connect 4 0 5 0;
+#X connect 6 0 9 0;
+#X connect 7 0 6 0;
+#X connect 9 0 4 0;
+#X connect 9 1 10 0;
diff --git a/doc/mtx_mean.pd b/doc/mtx_mean.pd
deleted file mode 100644
index 02b02fb..0000000
--- a/doc/mtx_mean.pd
+++ /dev/null
@@ -1,13 +0,0 @@
-#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_minmax-help.pd b/doc/mtx_minmax-help.pd
new file mode 100644
index 0000000..692165d
--- /dev/null
+++ b/doc/mtx_minmax-help.pd
@@ -0,0 +1,21 @@
+#N canvas 161 60 480 312 10;
+#X text 89 244 updated for;
+#X obj 177 244 iemmatrix 0.2;
+#X obj 226 270 matrix;
+#X text 96 269 see also help for;
+#X msg 136 83 3 5;
+#X obj 121 23 mtx_minmax;
+#X text 223 24 get minimum/maximum of matrix;
+#X obj 136 186 print min;
+#X obj 201 186 print max;
+#X obj 136 106 mtx_rand;
+#X obj 136 130 t a a;
+#X obj 176 130 mtx_print;
+#X text 133 67 get min/max of a matrix;
+#X obj 136 152 mtx_minmax;
+#X connect 4 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 13 0;
+#X connect 10 1 11 0;
+#X connect 13 0 7 0;
+#X connect 13 1 8 0;
diff --git a/doc/mtx_mul-help.pd b/doc/mtx_mul-help.pd
new file mode 100644
index 0000000..6090f06
--- /dev/null
+++ b/doc/mtx_mul-help.pd
@@ -0,0 +1,98 @@
+#N canvas 65 0 766 595 10;
+#X text 525 20 updated for;
+#X obj 613 20 iemmatrix 0.2;
+#X obj 662 46 matrix;
+#X text 532 45 see also help for;
+#X obj 17 23 mtx_mul;
+#X obj 81 23 mtx_*;
+#X obj 662 67 *;
+#X text 8 42 matrix arithmetic: multiplication;
+#X obj 134 23 mtx_.*;
+#X obj 17 256 mtx_mul;
+#X obj 90 256 mtx_*;
+#X msg 17 104 bang;
+#X obj 73 172 mtx_diag 1 2;
+#X obj 17 128 t b b;
+#X obj 17 172 mtx_+ 3;
+#X text 70 257 ==;
+#X obj 17 148 mtx_eye 3 2;
+#X obj 219 259 mtx_print;
+#X obj 219 142 t b f;
+#X floatatom 219 124 4 0 0 0 - - -;
+#X msg 219 165 4 2 1 3;
+#X obj 219 185 mtx_diag;
+#X obj 219 223 mtx_mul 2;
+#X obj 304 223 mtx_* 2;
+#X obj 374 223 mtx_.* 2;
+#X text 285 223 ==;
+#X text 357 224 ==;
+#X obj 563 231 mtx_.*;
+#X obj 563 266 mtx_print;
+#X obj 563 146 mtx_diag 1 2 3;
+#X obj 600 172 mtx_ones 3;
+#X obj 563 125 t b b;
+#X msg 563 106 bang;
+#X obj 600 191 mtx_* 2;
+#X text 18 313 multiply 2 matrices;
+#X text 215 282 multiply a matrix with a scalar;
+#X text 476 290 multiply 2 matrices element by element;
+#X obj 17 294 mtx_print A*B;
+#X obj 73 195 t a a;
+#X obj 56 215 mtx_print A;
+#X obj 17 215 t a a;
+#X obj 112 195 mtx_print B;
+#X obj 158 539 mtx_print;
+#X obj 158 432 t b f;
+#X floatatom 158 414 4 0 0 0 - - -;
+#X msg 158 455 4 2 1 3;
+#X obj 158 475 mtx_diag;
+#X obj 403 540 mtx_print;
+#X obj 403 443 mtx_diag 1 2 3;
+#X obj 434 461 mtx_ones 3;
+#X obj 434 480 mtx_* 2;
+#X text 114 562 divide a matrix by a scalar;
+#X obj 158 503 mtx_./ 2;
+#X obj 403 505 mtx_./;
+#X text 347 564 divide 2 matrices element by element;
+#X obj 403 422 t b b f;
+#X floatatom 403 403 4 0 0 0 - - -;
+#X text 8 382 matrix arithmetic: division;
+#X obj 14 364 mtx_./;
+#X connect 9 0 37 0;
+#X connect 11 0 13 0;
+#X connect 12 0 38 0;
+#X connect 13 0 16 0;
+#X connect 13 1 12 0;
+#X connect 14 0 40 0;
+#X connect 16 0 14 0;
+#X connect 18 0 20 0;
+#X connect 18 1 22 1;
+#X connect 19 0 18 0;
+#X connect 20 0 21 0;
+#X connect 21 0 22 0;
+#X connect 22 0 17 0;
+#X connect 27 0 28 0;
+#X connect 29 0 27 0;
+#X connect 30 0 33 0;
+#X connect 31 0 29 0;
+#X connect 31 1 30 0;
+#X connect 32 0 31 0;
+#X connect 33 0 27 1;
+#X connect 38 0 9 1;
+#X connect 38 1 41 0;
+#X connect 40 0 9 0;
+#X connect 40 1 39 0;
+#X connect 43 0 45 0;
+#X connect 43 1 52 1;
+#X connect 44 0 43 0;
+#X connect 45 0 46 0;
+#X connect 46 0 52 0;
+#X connect 48 0 53 0;
+#X connect 49 0 50 0;
+#X connect 50 0 53 1;
+#X connect 52 0 42 0;
+#X connect 53 0 47 0;
+#X connect 55 0 48 0;
+#X connect 55 1 49 0;
+#X connect 55 2 50 1;
+#X connect 56 0 55 0;
diff --git a/doc/mtx_mul~-help.pd b/doc/mtx_mul~-help.pd
new file mode 100644
index 0000000..54c6efa
--- /dev/null
+++ b/doc/mtx_mul~-help.pd
@@ -0,0 +1,101 @@
+#N canvas 48 0 889 615 12;
+#X obj 116 339 osc~ 100;
+#X obj 116 360 *~ 0.2;
+#X obj 166 381 osc~ 1000;
+#X obj 166 403 *~ 1.5;
+#X obj 212 356 osc~ 432;
+#X obj 68 471 env~;
+#X floatatom 68 495 4 0 0 0 - - -;
+#X obj 127 470 env~;
+#X floatatom 127 494 4 0 0 0 - - -;
+#X obj 187 470 env~;
+#X floatatom 187 494 4 0 0 0 - - -;
+#X floatatom 286 402 4 0 0 0 - - -;
+#X text 332 413 fade time in [ms];
+#X msg 48 140 bang;
+#X msg 170 140 bang;
+#X msg 69 219 bang;
+#X msg 190 218 bang;
+#X text 174 24 matrix-multiply m IN~signals to n OUT~signals;
+#X text 173 41 matrices are interpolated a la line~;
+#X text 304 170 matrix-messages to control the gains;
+#X text 303 183 of the matrix~;
+#X text 334 380 the last inlet gets the fade-time between two matrix-messages.
+;
+#X obj 98 32 mtx_*~;
+#X obj 69 431 mtx_*~ 4 3 100 .......;
+#X obj 253 471 env~;
+#X floatatom 253 495 4 0 0 0 - - -;
+#X obj 69 301 t a;
+#X obj 70 539 mtx_*~;
+#X text 147 536 creation: "mtx_*~ [<#out> [<#in> [<fade_time>] [<...>]]
+;
+#X text 302 154 the first inlet eats;
+#X text 316 314 the 2nd...one-before-last inlets get the signals to
+be multiplied.;
+#X text 328 487 Output signals;
+#X text 207 68 OUT~^ = A * IN~^;
+#X obj 48 167 mtx_eye 4 3;
+#X obj 170 167 mtx_egg 4 3;
+#X obj 190 245 mtx_zeros 4 3;
+#X obj 69 246 mtx_ones 4 3;
+#X msg 699 33 \; pd dsp 1;
+#X text 127 96 or \, with dimensions: OUT~^[1*n] = A[n*m] * IN~^[m*1]
+;
+#N canvas 34 69 925 425 LEGACY 0;
+#X obj 51 160 sig~;
+#X floatatom 180 166 5 0 0 0 - - -;
+#X text 286 127 this object \, accepted the signals at the first inputs
+\, then the matrix (and finally the fade-time);
+#X text 295 163 OUT~^[n] = IN~^[m] * B[m*x];
+#X obj 192 307 sig~;
+#X msg 97 303 time 100;
+#X obj 93 160 sig~;
+#X obj 50 188 matrix~ 2 3 100;
+#X obj 136 138 mtx 2 3;
+#X obj 25 346 matrix_mul_line~ 2 3 100;
+#X obj 235 307 sig~;
+#X text 288 262 this object \, accepted the signals at the inlets \;
+all! messages went to the 1st inlet;
+#X obj 25 304 mtx 3 2;
+#X text 297 298 OUT~^[n] = B[n*m] * IN~^[m];
+#X text 288 183 this is a _very_ unusual way to notate signal matrix
+multiplications;
+#X text 290 318 this conforms to the way how signal matrix multiplications
+is usually notated \, however \, we didn't like that the incoming matrix
+had different dimensions than the object ([mtx N M] vs [matrix_mul_line~
+M N]) \; and the 1st inlet was a bit overloaded.;
+#X text 84 18 [mtx_*~] is the successor of 2 similar objects \, which
+we believe to have had some design flaws:;
+#X connect 0 0 7 0;
+#X connect 1 0 7 3;
+#X connect 4 0 9 0;
+#X connect 5 0 9 0;
+#X connect 6 0 7 1;
+#X connect 8 0 7 2;
+#X connect 10 0 9 1;
+#X connect 12 0 9 0;
+#X restore 231 585 pd LEGACY;
+#X connect 0 0 1 0;
+#X connect 1 0 23 1;
+#X connect 2 0 3 0;
+#X connect 3 0 23 2;
+#X connect 4 0 23 3;
+#X connect 5 0 6 0;
+#X connect 7 0 8 0;
+#X connect 9 0 10 0;
+#X connect 11 0 23 4;
+#X connect 13 0 33 0;
+#X connect 14 0 34 0;
+#X connect 15 0 36 0;
+#X connect 16 0 35 0;
+#X connect 23 0 5 0;
+#X connect 23 1 7 0;
+#X connect 23 2 9 0;
+#X connect 23 3 24 0;
+#X connect 24 0 25 0;
+#X connect 26 0 23 0;
+#X connect 33 0 26 0;
+#X connect 34 0 26 0;
+#X connect 35 0 26 0;
+#X connect 36 0 26 0;
diff --git a/doc/mtx_ones-help.pd b/doc/mtx_ones-help.pd
new file mode 100644
index 0000000..e23ed58
--- /dev/null
+++ b/doc/mtx_ones-help.pd
@@ -0,0 +1,17 @@
+#N canvas 61 0 491 290 10;
+#X text 295 230 updated for;
+#X obj 383 230 iemmatrix 0.2;
+#X obj 432 256 matrix;
+#X text 302 255 see also help for;
+#X obj 103 201 mtx_ones 5;
+#X obj 103 227 mtx_print;
+#X msg 103 130 bang;
+#X msg 133 174 3 5;
+#X msg 119 150 10;
+#X text 129 20 [mtx_ones];
+#X text 30 89 create a matrix with all elements := 1;
+#X text 74 248 all matrix elements=1;
+#X connect 4 0 5 0;
+#X connect 6 0 4 0;
+#X connect 7 0 4 0;
+#X connect 8 0 4 0;
diff --git a/doc/mtx_pivot-help.pd b/doc/mtx_pivot-help.pd
new file mode 100644
index 0000000..10259d5
--- /dev/null
+++ b/doc/mtx_pivot-help.pd
@@ -0,0 +1,43 @@
+#N canvas -35 125 814 290 10;
+#X text 458 17 updated for;
+#X obj 546 17 iemmatrix 0.2;
+#X obj 595 43 matrix;
+#X text 465 42 see also help for;
+#X text 198 15 [mtx_pivot];
+#X text 59 79 pivot-transform a matrix;
+#X obj 63 164 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 mtx_int;
+#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 63 118 pd rand-matrix;
+#X msg 63 96 4 3;
+#X obj 112 185 mtx_print post;
+#X obj 87 205 mtx_print pre;
+#X obj 63 245 mtx_print pivot;
+#X text 290 184 the first outlet is the pivot-transformed matrix.;
+#X text 289 210 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 obj 63 141 t a a;
+#X obj 103 141 mtx_print original;
+#X msg 175 99 matrix 4 3 1 2 3 4 5 6 7 8 9 10 11 12;
+#X text 194 36 pivot-transform matrices;
+#X text 290 131 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 6 0 11 0;
+#X connect 6 1 10 0;
+#X connect 6 2 9 0;
+#X connect 7 0 14 0;
+#X connect 8 0 7 0;
+#X connect 14 0 6 0;
+#X connect 14 1 15 0;
+#X connect 16 0 14 0;
diff --git a/doc/mtx_pivot.pd b/doc/mtx_pivot.pd
deleted file mode 100644
index 26da757..0000000
--- a/doc/mtx_pivot.pd
+++ /dev/null
@@ -1,93 +0,0 @@
-#N canvas 199 0 759 714 10;
-#X text 69 19 pivot-transform a matrix;
-#X obj 73 154 mtx_pivot;
-#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 53 376 pd rand-matrix;
-#X msg 53 354 4 3;
-#X obj 131 175 mtx_print post;
-#X obj 102 195 mtx_print pre;
-#X obj 73 215 mtx_print pivot;
-#X text 269 171 the first outlet is the pivot-transformed matrix.;
-#X text 270 122 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 obj 73 81 t a a;
-#X obj 103 100 mtx_print original;
-#X text 268 197 the other outlets are the permutation-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 obj 73 58 mtx 3 3;
-#X msg 73 38 1 2 3 6 5 4 8 7 9;
-#X obj 53 451 mtx_pivot;
-#X obj 53 532 mtx_print pivot;
-#X obj 82 501 mtx_*;
-#X obj 97 421 mtx_print original;
-#X obj 53 398 t a a a;
-#X obj 82 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 msg 381 316 4 3;
-#X obj 381 413 mtx_pivot;
-#X obj 381 464 mtx_print pivot;
-#X obj 535 550 mtx_*;
-#X obj 535 484 mtx_*;
-#X obj 535 604 mtx_print depivot;
-#X obj 381 437 t a a;
-#X obj 535 460 mtx_transpose;
-#X obj 381 362 t a a;
-#X obj 535 506 t b a;
-#X obj 535 528 mtx;
-#X obj 535 580 mtx_transpose;
-#X text 39 326 B=pivot(A)=pre*A*post;
-#X text 377 288 A=depivot(B)=(post*B'*pre)';
-#X text 456 22 part of [iemmatrix];
-#X obj 411 382 mtx_print original;
-#X connect 1 0 6 0;
-#X connect 1 1 5 0;
-#X connect 1 2 4 0;
-#X connect 2 0 18 0;
-#X connect 3 0 2 0;
-#X connect 9 0 1 0;
-#X connect 9 1 10 0;
-#X connect 12 0 9 0;
-#X connect 13 0 12 0;
-#X connect 14 0 15 0;
-#X connect 14 1 19 0;
-#X connect 14 2 16 1;
-#X connect 16 0 20 0;
-#X connect 18 0 14 0;
-#X connect 18 1 19 1;
-#X connect 18 2 17 0;
-#X connect 19 0 16 0;
-#X connect 21 0 30 0;
-#X connect 22 0 21 0;
-#X connect 23 0 28 0;
-#X connect 23 1 26 1;
-#X connect 23 2 32 1;
-#X connect 25 0 33 0;
-#X connect 26 0 31 0;
-#X connect 28 0 24 0;
-#X connect 28 1 29 0;
-#X connect 29 0 26 0;
-#X connect 30 0 23 0;
-#X connect 30 1 37 0;
-#X connect 31 0 32 0;
-#X connect 31 1 25 1;
-#X connect 32 0 25 0;
-#X connect 33 0 27 0;
diff --git a/doc/mtx_pow-help.pd b/doc/mtx_pow-help.pd
new file mode 100644
index 0000000..cbdb48b
--- /dev/null
+++ b/doc/mtx_pow-help.pd
@@ -0,0 +1,37 @@
+#N canvas 17 -32 450 300 10;
+#X text 255 30 updated for;
+#X obj 343 30 iemmatrix 0.2;
+#X obj 392 56 matrix;
+#X text 262 55 see also help for;
+#X obj 56 251 mtx_print;
+#X obj 56 144 t b f;
+#X floatatom 56 126 4 0 0 0 - - -;
+#X msg 56 167 4 2 1 3;
+#X obj 56 187 mtx_diag;
+#X obj 251 252 mtx_print;
+#X obj 251 155 mtx_diag 1 2 3;
+#X obj 282 173 mtx_ones 3;
+#X obj 282 192 mtx_* 2;
+#X obj 251 134 t b b f;
+#X floatatom 251 115 4 0 0 0 - - -;
+#X obj 56 215 mtx_.^ 2;
+#X obj 251 217 mtx_.^;
+#X text 34 280 matrix-elements^f;
+#X text 208 278 elementA(i \, j)^elementB(i \, j);
+#X text 8 42 matrix arithmetic: power;
+#X obj 392 77 pow;
+#X obj 17 23 mtx_.^;
+#X connect 5 0 7 0;
+#X connect 5 1 15 1;
+#X connect 6 0 5 0;
+#X connect 7 0 8 0;
+#X connect 8 0 15 0;
+#X connect 10 0 16 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 1;
+#X connect 13 0 10 0;
+#X connect 13 1 11 0;
+#X connect 13 2 12 1;
+#X connect 14 0 13 0;
+#X connect 15 0 4 0;
+#X connect 16 0 9 0;
diff --git a/doc/mtx_print-help.pd b/doc/mtx_print-help.pd
new file mode 100644
index 0000000..3bed744
--- /dev/null
+++ b/doc/mtx_print-help.pd
@@ -0,0 +1,21 @@
+#N canvas 128 118 680 254 10;
+#X text 458 17 updated for;
+#X obj 546 17 iemmatrix 0.2;
+#X obj 595 43 matrix;
+#X text 465 42 see also help for;
+#X text 136 10 print a matrix to the console;
+#X obj 595 63 print;
+#X msg 48 80 bang;
+#X obj 48 100 mtx_ones 5;
+#X obj 48 141 t a a a;
+#X obj 92 164 mtx_print;
+#X obj 48 228 print oops;
+#X obj 70 194 mtx_print label;
+#X text 211 116 [mtx_print] will print the matrix in a formatted way
+;
+#X text 216 143 you can give labels \, just like with [print];
+#X connect 6 0 7 0;
+#X connect 7 0 8 0;
+#X connect 8 0 10 0;
+#X connect 8 1 11 0;
+#X connect 8 2 9 0;
diff --git a/doc/mtx_rand-help.pd b/doc/mtx_rand-help.pd
new file mode 100644
index 0000000..5ccbcae
--- /dev/null
+++ b/doc/mtx_rand-help.pd
@@ -0,0 +1,23 @@
+#N canvas 25 323 504 298 10;
+#X text 51 7 fill a matrix with random values;
+#X text 295 20 updated for;
+#X obj 383 20 iemmatrix 0.2;
+#X obj 432 46 matrix;
+#X text 302 45 see also help for;
+#X obj 434 72 random;
+#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 120 127 seed 12;
+#X text 51 219 get a matrix containing;
+#X text 51 232 random elements (0..1];
+#X text 177 130 set seed;
+#X connect 6 0 7 0;
+#X connect 8 0 6 0;
+#X connect 9 0 8 0;
+#X connect 10 0 6 0;
+#X connect 11 0 6 0;
+#X connect 12 0 6 0;
diff --git a/doc/mtx_rand.pd b/doc/mtx_rand.pd
deleted file mode 100644
index 491d6de..0000000
--- a/doc/mtx_rand.pd
+++ /dev/null
@@ -1,20 +0,0 @@
-#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_resize-help.pd b/doc/mtx_resize-help.pd
new file mode 100644
index 0000000..685a671
--- /dev/null
+++ b/doc/mtx_resize-help.pd
@@ -0,0 +1,32 @@
+#N canvas 161 60 833 285 10;
+#X obj 121 23 mtx_resize;
+#X text 578 18 updated for;
+#X obj 666 18 iemmatrix 0.2;
+#X obj 715 44 matrix;
+#X text 585 43 see also help for;
+#X text 223 24 resize a matrix;
+#X obj 136 244 mtx_print;
+#X obj 136 106 mtx_ones;
+#X msg 136 83 3 5;
+#X obj 136 222 mtx_resize;
+#X text 133 67 resize a matrix;
+#X msg 245 91 3 2;
+#X msg 244 119 2 0;
+#X msg 241 174 0 0;
+#X text 285 92 resize to [3 \, 2];
+#X text 285 120 resize to 2 rows \, leave row-length unchanged;
+#X text 284 174 don't resize;
+#X text 209 222 creation: mtx_resize [<rows> [<cols>]];
+#X msg 243 146 0 4;
+#X text 285 145 resize to 4 columns \, leave column-length unchanged
+;
+#X msg 242 199 8;
+#X text 274 199 resize to [8 \, 8];
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 9 0 6 0;
+#X connect 11 0 9 1;
+#X connect 12 0 9 1;
+#X connect 13 0 9 1;
+#X connect 18 0 9 1;
+#X connect 20 0 9 1;
diff --git a/doc/mtx_rmstodb.pd b/doc/mtx_rmstodb-help.pd
index f12a974..de0b2a8 100644
--- a/doc/mtx_rmstodb.pd
+++ b/doc/mtx_rmstodb-help.pd
@@ -1,6 +1,7 @@
-#N canvas 382 124 687 471 10;
-#X obj 485 95 matrix;
-#X text 435 77 see also help for;
+#N canvas 337 124 687 471 10;
+#X text 188 7 convert rms to dB(pd);
+#X text 458 17 updated for;
+#X obj 546 17 iemmatrix 0.2;
#X obj 181 90 mtx_eye;
#X obj 64 258 mtx_rand 4 2;
#X msg 64 233 bang;
@@ -15,7 +16,6 @@
#X text 307 337 this means: 100dB(pd)==unity gain (==1);
#X text 404 375 0dB(pd)==zero gain (==0);
#X text 391 354 106dB(pd)~=double gain (==2);
-#X text 188 7 convert rms to dB(pd);
#X text 44 34 convert a linear value to dB(pd) to for each element
of a matrix;
#X obj 48 134 mtx_rmstodb;
@@ -23,22 +23,24 @@ of a matrix;
#X obj 64 380 mtx_rmstodb;
#X obj 105 357 mtx_print rms;
#X obj 64 407 mtx_print db;
-#X obj 483 124 mtx_dbtorms;
-#X obj 483 145 rmstodb;
#X msg 48 80 0 1 0.1 2;
#X obj 64 277 mtx_* 100;
-#X connect 2 0 9 0;
-#X connect 3 0 26 0;
-#X connect 4 0 3 0;
-#X connect 5 0 19 0;
-#X connect 5 1 6 0;
-#X connect 7 0 20 0;
-#X connect 7 1 21 0;
-#X connect 8 0 2 0;
-#X connect 9 0 18 0;
-#X connect 11 0 18 0;
-#X connect 18 0 10 0;
-#X connect 19 0 7 0;
+#X obj 595 43 matrix;
+#X text 465 42 see also help for;
+#X obj 599 71 mtx_dbtorms;
+#X obj 599 91 rmstodb;
+#X connect 3 0 10 0;
+#X connect 4 0 24 0;
+#X connect 5 0 4 0;
+#X connect 6 0 19 0;
+#X connect 6 1 7 0;
+#X connect 8 0 20 0;
+#X connect 8 1 21 0;
+#X connect 9 0 3 0;
+#X connect 10 0 18 0;
+#X connect 12 0 18 0;
+#X connect 18 0 11 0;
+#X connect 19 0 8 0;
#X connect 20 0 22 0;
-#X connect 25 0 11 0;
-#X connect 26 0 5 0;
+#X connect 23 0 12 0;
+#X connect 24 0 6 0;
diff --git a/doc/mtx_roll-help.pd b/doc/mtx_roll-help.pd
new file mode 100644
index 0000000..6a69ada
--- /dev/null
+++ b/doc/mtx_roll-help.pd
@@ -0,0 +1,23 @@
+#N canvas 79 113 670 283 10;
+#X text 458 17 updated for;
+#X obj 546 17 iemmatrix 0.2;
+#X obj 595 43 matrix;
+#X text 465 42 see also help for;
+#X text 194 36 tranpose matrices;
+#X text 198 15 [mtx_roll];
+#X obj 194 162 t a a;
+#X obj 236 163 mtx_print org;
+#X obj 194 220 mtx_print rolled;
+#X msg 194 120 1 2 3 4 5;
+#X obj 194 142 mtx_diag;
+#X text 190 103 shift columns of a matrix;
+#X floatatom 289 196 4 0 5 1 shift - -;
+#X text 374 182 (0=no-shift \; 1=1-column-right \; -2=2-columns-left
+\; ...);
+#X obj 194 192 mtx_roll 1;
+#X connect 6 0 14 0;
+#X connect 6 1 7 0;
+#X connect 9 0 10 0;
+#X connect 10 0 6 0;
+#X connect 12 0 14 1;
+#X connect 14 0 8 0;
diff --git a/doc/mtx_row-help.pd b/doc/mtx_row-help.pd
new file mode 100644
index 0000000..abcdfe9
--- /dev/null
+++ b/doc/mtx_row-help.pd
@@ -0,0 +1,26 @@
+#N canvas 136 41 544 373 10;
+#X text 276 28 updated for;
+#X obj 364 28 iemmatrix 0.2;
+#X obj 413 54 matrix;
+#X text 283 53 see also help for;
+#X obj 413 96 mtx_col;
+#X obj 89 32 mtx_row;
+#X text 19 9 set rows of a matrix;
+#X obj 53 259 mtx_print;
+#X obj 64 217 mtx_ones 5 3;
+#X msg 64 198 bang;
+#X obj 53 240 mtx_row 4 3;
+#X msg 182 195 0;
+#X text 213 195 set all rows;
+#X msg 174 173 2;
+#X text 214 170 set row [2];
+#X msg 53 146 -1 2 3 4 5;
+#X text 133 242 creation: mtx_row [<row> <col> [<posR>]];
+#X text 55 129 set matrix rows;
+#X obj 413 76 mtx_element;
+#X connect 8 0 10 0;
+#X connect 9 0 8 0;
+#X connect 10 0 7 0;
+#X connect 11 0 10 1;
+#X connect 13 0 10 1;
+#X connect 15 0 10 0;
diff --git a/doc/mtx_scroll-help.pd b/doc/mtx_scroll-help.pd
new file mode 100644
index 0000000..77489fa
--- /dev/null
+++ b/doc/mtx_scroll-help.pd
@@ -0,0 +1,23 @@
+#N canvas 83 78 670 283 10;
+#X text 458 17 updated for;
+#X obj 546 17 iemmatrix 0.2;
+#X obj 595 43 matrix;
+#X text 465 42 see also help for;
+#X text 194 36 tranpose matrices;
+#X text 198 15 [mtx_scroll];
+#X obj 194 162 t a a;
+#X obj 236 163 mtx_print org;
+#X obj 194 220 mtx_print scrolled;
+#X obj 194 192 mtx_scroll 1;
+#X msg 194 116 1 2 3 4 5;
+#X text 190 99 shift rows of a matrix;
+#X floatatom 301 191 4 0 6 1 shift - -;
+#X obj 194 138 mtx_diag;
+#X text 380 179 (0=no-shift \; 1=1-row-down \; -2=2-rows-up \; ...)
+;
+#X connect 6 0 9 0;
+#X connect 6 1 7 0;
+#X connect 9 0 8 0;
+#X connect 10 0 13 0;
+#X connect 12 0 9 1;
+#X connect 13 0 6 0;
diff --git a/doc/mtx_sin-help.pd b/doc/mtx_sin-help.pd
new file mode 100644
index 0000000..b926b3e
--- /dev/null
+++ b/doc/mtx_sin-help.pd
@@ -0,0 +1,19 @@
+#N canvas 128 118 680 254 10;
+#X text 458 17 updated for;
+#X obj 546 17 iemmatrix 0.2;
+#X obj 595 43 matrix;
+#X text 465 42 see also help for;
+#X obj 48 131 t a a;
+#X obj 91 132 mtx_print org;
+#X obj 48 100 mtx 2 2;
+#X msg 48 80 0 3.14159 1 90;
+#X text 136 11 sine of matrix elements;
+#X text 45 42 compute the sine of each element of a matrix;
+#X obj 48 192 mtx_print sin;
+#X obj 48 164 mtx_sin;
+#X obj 595 63 sin;
+#X connect 4 0 11 0;
+#X connect 4 1 5 0;
+#X connect 6 0 4 0;
+#X connect 7 0 6 0;
+#X connect 11 0 10 0;
diff --git a/doc/mtx_size-help.pd b/doc/mtx_size-help.pd
new file mode 100644
index 0000000..8e3220f
--- /dev/null
+++ b/doc/mtx_size-help.pd
@@ -0,0 +1,21 @@
+#N canvas 161 60 453 283 10;
+#X text 108 233 updated for;
+#X obj 196 233 iemmatrix 0.2;
+#X obj 245 259 matrix;
+#X text 115 258 see also help for;
+#X floatatom 151 178 4 0 0 0 - - -;
+#X text 148 68 get the size of a matrix;
+#X obj 151 140 mtx_size;
+#X msg 185 91 3 2;
+#X msg 151 91 7;
+#X obj 151 115 mtx_ones;
+#X floatatom 194 178 4 0 0 0 - - -;
+#X text 192 194 columns;
+#X text 152 195 rows;
+#X obj 150 22 mtx_size;
+#X text 223 24 get the size of a matrix;
+#X connect 6 0 4 0;
+#X connect 6 1 10 0;
+#X connect 7 0 9 0;
+#X connect 8 0 9 0;
+#X connect 9 0 6 0;
diff --git a/doc/mtx_size.pd b/doc/mtx_size.pd
deleted file mode 100644
index 85d7747..0000000
--- a/doc/mtx_size.pd
+++ /dev/null
@@ -1,44 +0,0 @@
-#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 [<rows> [<cols>]];
-#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
deleted file mode 100644
index b230a0f..0000000
--- a/doc/mtx_special.pd
+++ /dev/null
@@ -1,60 +0,0 @@
-#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_sub-help.pd b/doc/mtx_sub-help.pd
new file mode 100644
index 0000000..c4bd6ba
--- /dev/null
+++ b/doc/mtx_sub-help.pd
@@ -0,0 +1,39 @@
+#N canvas 363 101 481 299 10;
+#X text 255 30 updated for;
+#X obj 343 30 iemmatrix 0.2;
+#X obj 392 56 matrix;
+#X text 262 55 see also help for;
+#X obj 46 176 mtx_sub;
+#X obj 125 177 mtx_-;
+#X obj 123 147 mtx_diag 1 2 3 4 5;
+#X obj 46 147 mtx_ones 5;
+#X obj 46 124 t b b;
+#X obj 46 198 mtx_print;
+#X msg 46 105 bang;
+#X text 100 178 ==;
+#X obj 263 147 mtx_eye 4;
+#X obj 263 172 mtx_sub 10;
+#X msg 263 120 bang;
+#X obj 263 199 mtx_print;
+#X floatatom 332 104 4 0 0 0 - - -;
+#X obj 332 122 t b f;
+#X obj 360 172 mtx_- 10;
+#X text 339 173 ==;
+#X text 38 227 sub 2 matrices;
+#X obj 17 23 mtx_sub;
+#X obj 81 23 mtx_-;
+#X text 8 42 matrix arithmetic: subtraction;
+#X obj 393 77 -;
+#X text 232 231 subtract an offset from a matrix;
+#X connect 4 0 9 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 0;
+#X connect 8 0 7 0;
+#X connect 8 1 6 0;
+#X connect 10 0 8 0;
+#X connect 12 0 13 0;
+#X connect 13 0 15 0;
+#X connect 14 0 12 0;
+#X connect 16 0 17 0;
+#X connect 17 0 12 0;
+#X connect 17 1 13 1;
diff --git a/doc/mtx_sum-help.pd b/doc/mtx_sum-help.pd
new file mode 100644
index 0000000..daea2d9
--- /dev/null
+++ b/doc/mtx_sum-help.pd
@@ -0,0 +1,19 @@
+#N canvas 128 118 680 254 10;
+#X text 263 126 updated for;
+#X obj 351 126 iemmatrix 0.2;
+#X obj 400 152 matrix;
+#X text 270 151 see also help for;
+#X obj 48 100 mtx 3 3;
+#X obj 48 131 t a a;
+#X msg 48 80 0 1 -2 -3 -4 5 -6 7 8;
+#X obj 48 164 mtx_sum;
+#X obj 48 192 print sum;
+#X obj 91 132 mtx_print;
+#X text 136 10 sum columns of matrix;
+#X text 45 42 compute the column-wise sum of a matrix (result is a
+list of sums);
+#X connect 4 0 5 0;
+#X connect 5 0 7 0;
+#X connect 5 1 9 0;
+#X connect 6 0 4 0;
+#X connect 7 0 8 0;
diff --git a/doc/mtx_trace-help.pd b/doc/mtx_trace-help.pd
new file mode 100644
index 0000000..6c0bafd
--- /dev/null
+++ b/doc/mtx_trace-help.pd
@@ -0,0 +1,16 @@
+#N canvas 108 140 615 247 10;
+#X text 360 64 updated for;
+#X obj 448 64 iemmatrix 0.2;
+#X text 83 25 get the trace of a matrix;
+#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 81 204 trace = sum(diagonal elements);
+#X obj 497 90 matrix;
+#X text 367 89 see also help for;
+#X obj 498 114 mtx_diag;
+#X connect 3 0 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 6 0;
diff --git a/doc/mtx_trace.pd b/doc/mtx_trace.pd
deleted file mode 100644
index ad48fd8..0000000
--- a/doc/mtx_trace.pd
+++ /dev/null
@@ -1,24 +0,0 @@
-#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-help.pd b/doc/mtx_transpose-help.pd
new file mode 100644
index 0000000..c0d3f53
--- /dev/null
+++ b/doc/mtx_transpose-help.pd
@@ -0,0 +1,19 @@
+#N canvas 168 0 670 283 10;
+#X obj 194 192 mtx_transpose;
+#X msg 194 117 3 5;
+#X text 191 100 transpose a matrix;
+#X text 458 17 updated for;
+#X obj 546 17 iemmatrix 0.2;
+#X obj 595 43 matrix;
+#X text 465 42 see also help for;
+#X text 194 36 tranpose matrices;
+#X text 198 15 [mtx_transpose];
+#X obj 194 139 mtx_eye;
+#X obj 194 162 t a a;
+#X obj 236 163 mtx_print org;
+#X obj 194 220 mtx_print transposed;
+#X connect 0 0 12 0;
+#X connect 1 0 9 0;
+#X connect 9 0 10 0;
+#X connect 10 0 0 0;
+#X connect 10 1 11 0;
diff --git a/doc/mtx_transpose.pd b/doc/mtx_transpose.pd
deleted file mode 100644
index 4f30f96..0000000
--- a/doc/mtx_transpose.pd
+++ /dev/null
@@ -1,72 +0,0 @@
-#N canvas 199 0 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 409 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 448 pd rand-matrix;
-#X msg 33 426 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 obj 33 471 t a a;
-#X obj 73 471 mtx_print original;
-#X msg 145 429 matrix 4 3 1 2 3 4 5 6 7 8 9 10 11 12;
-#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 32 0;
-#X connect 23 0 22 0;
-#X connect 32 0 21 0;
-#X connect 32 1 33 0;
-#X connect 34 0 32 0;
diff --git a/doc/mtx_zeros-help.pd b/doc/mtx_zeros-help.pd
new file mode 100644
index 0000000..841e36c
--- /dev/null
+++ b/doc/mtx_zeros-help.pd
@@ -0,0 +1,17 @@
+#N canvas 61 0 491 290 10;
+#X text 295 230 updated for;
+#X obj 383 230 iemmatrix 0.2;
+#X obj 432 256 matrix;
+#X text 302 255 see also help for;
+#X obj 103 201 mtx_zeros 5;
+#X obj 103 227 mtx_print;
+#X msg 103 130 bang;
+#X msg 133 174 3 5;
+#X msg 119 150 10;
+#X text 129 20 [mtx_zeros];
+#X text 30 89 create a matrix with all elements := 0;
+#X text 74 248 all matrix elements=0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 0;
+#X connect 7 0 4 0;
+#X connect 8 0 4 0;