#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;
