aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--abs/mtx_pseudoinverse.pd137
1 files changed, 137 insertions, 0 deletions
diff --git a/abs/mtx_pseudoinverse.pd b/abs/mtx_pseudoinverse.pd
new file mode 100644
index 0000000..9583a26
--- /dev/null
+++ b/abs/mtx_pseudoinverse.pd
@@ -0,0 +1,137 @@
+#N canvas 727 0 495 641 10;
+#X obj 66 34 inlet;
+#X obj 66 73 mtx_svd;
+#X obj 342 47 inlet;
+#X obj 255 339 mtx_slice;
+#X obj 66 337 mtx_slice;
+#X obj 66 317 mtx;
+#X obj 255 361 mtx_transpose;
+#X obj 155 337 mtx_slice;
+#X obj 155 358 mtx_.^ -1;
+#X obj 172 427 mtx_diag;
+#X obj 155 380 list split 3;
+#X obj 172 455 mtx_*;
+#X obj 128 495 mtx_*;
+#X obj 171 403 list;
+#X obj 66 240 t b b a;
+#X obj 128 555 outlet;
+#X text 386 48 regularization;
+#N canvas 0 0 595 552 regularize 0;
+#X obj 159 56 inlet;
+#X obj 202 173 mtx_minmax;
+#X obj 266 196 * \$1;
+#X obj 159 244 mtx_> 0;
+#X obj 159 265 mtx_transpose;
+#X obj 160 286 mtx_sum;
+#X msg 160 307 1 1 end \$1;
+#X obj 289 56 inlet;
+#X obj 160 357 outlet;
+#X obj 159 152 t a a;
+#X obj 337 238 pack;
+#X msg 336 260 \$2 \$1;
+#X obj 336 360 outlet;
+#X obj 336 327 /;
+#X connect 0 0 9 0;
+#X connect 1 0 10 0;
+#X connect 1 1 2 0;
+#X connect 1 1 10 1;
+#X connect 2 0 3 1;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 6 0;
+#X connect 6 0 8 0;
+#X connect 7 0 2 1;
+#X connect 9 0 3 0;
+#X connect 9 1 1 0;
+#X connect 10 0 11 0;
+#X connect 11 0 13 0;
+#X connect 13 0 12 0;
+#X restore 256 266 pd regularize;
+#X obj 226 219 t a a;
+#N canvas 0 0 450 300 list2mtx 0;
+#X obj 140 28 inlet;
+#X obj 140 229 outlet;
+#X obj 140 128 mtx;
+#X obj 140 106 t l l;
+#X obj 182 106 length;
+#X msg 233 105 size 1 \$1;
+#X connect 0 0 3 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 3 1 4 0;
+#X connect 4 0 5 0;
+#X connect 5 0 2 0;
+#X restore 226 196 pd list2mtx;
+#N canvas 0 0 450 300 autotranspose 0;
+#X obj 31 16 inlet;
+#X obj 31 274 outlet;
+#X obj 317 269 outlet;
+#X obj 31 39 t a a;
+#X obj 186 82 mtx_size;
+#X obj 148 216 mtx_transpose;
+#X obj 31 191 spigot;
+#X obj 72 172 == 0;
+#X obj 149 196 spigot;
+#X obj 186 110 <;
+#X connect 0 0 3 0;
+#X connect 3 0 6 0;
+#X connect 3 0 8 0;
+#X connect 3 1 4 0;
+#X connect 4 0 9 0;
+#X connect 4 1 9 1;
+#X connect 5 0 1 0;
+#X connect 6 0 1 0;
+#X connect 7 0 6 1;
+#X connect 8 0 5 0;
+#X connect 9 0 2 0;
+#X connect 9 0 7 0;
+#X connect 9 0 8 1;
+#X restore 66 54 pd autotranspose;
+#N canvas 0 0 450 300 autotranspose 0;
+#X obj 31 274 outlet;
+#X obj 148 216 mtx_transpose;
+#X obj 31 191 spigot;
+#X obj 72 172 == 0;
+#X obj 149 196 spigot;
+#X obj 186 39 inlet;
+#X obj 31 39 inlet;
+#X connect 1 0 0 0;
+#X connect 2 0 0 0;
+#X connect 3 0 2 1;
+#X connect 4 0 1 0;
+#X connect 5 0 3 0;
+#X connect 5 0 4 1;
+#X connect 6 0 2 0;
+#X connect 6 0 4 0;
+#X restore 128 530 pd autotranspose;
+#X obj 342 562 outlet;
+#X text 355 519 condition number;
+#X connect 0 0 20 0;
+#X connect 1 0 14 0;
+#X connect 1 1 19 0;
+#X connect 1 2 5 1;
+#X connect 2 0 17 1;
+#X connect 3 0 6 0;
+#X connect 4 0 12 0;
+#X connect 5 0 4 0;
+#X connect 6 0 11 1;
+#X connect 7 0 8 0;
+#X connect 8 0 10 0;
+#X connect 9 0 11 0;
+#X connect 10 1 13 1;
+#X connect 11 0 12 1;
+#X connect 12 0 21 0;
+#X connect 13 0 9 0;
+#X connect 14 0 5 0;
+#X connect 14 1 13 0;
+#X connect 14 2 3 0;
+#X connect 17 0 3 1;
+#X connect 17 0 7 1;
+#X connect 17 0 4 1;
+#X connect 17 1 22 0;
+#X connect 18 0 7 0;
+#X connect 18 1 17 0;
+#X connect 19 0 18 0;
+#X connect 20 0 1 0;
+#X connect 20 1 21 1;
+#X connect 21 0 15 0;