1 USING: kernel math.blas.matrices math.blas.vectors
45 { C{ 1.0 1.0 } 2.0 3.0 }
46 { 4.0 C{ 5.0 2.0 } 6.0 }
47 { 7.0 8.0 C{ 9.0 3.0 } }
50 { C{ 1.0 1.0 } 2.0 3.0 }
51 { 4.0 C{ 5.0 2.0 } 6.0 }
52 { 7.0 8.0 C{ 9.0 3.0 } }
57 { C{ 1.0 1.0 } 2.0 3.0 }
58 { 4.0 C{ 5.0 2.0 } 6.0 }
59 { 7.0 8.0 C{ 9.0 3.0 } }
64 { C{ 1.0 1.0 } 2.0 3.0 }
65 { 4.0 C{ 5.0 2.0 } 6.0 }
66 { 7.0 8.0 C{ 9.0 3.0 } }
69 { C{ 1.0 1.0 } 2.0 3.0 }
70 { 4.0 C{ 5.0 2.0 } 6.0 }
71 { 7.0 8.0 C{ 9.0 3.0 } }
76 { C{ 1.0 1.0 } 2.0 3.0 }
77 { 4.0 C{ 5.0 2.0 } 6.0 }
78 { 7.0 8.0 C{ 9.0 3.0 } }
84 { svector{ 3.0 1.0 6.0 } } [
90 svector{ 1.0 2.0 3.0 1.0 }
93 { svector{ -2.0 1.0 3.0 14.0 } } [
99 svector{ 1.0 2.0 3.0 }
103 { dvector{ 3.0 1.0 6.0 } } [
109 dvector{ 1.0 2.0 3.0 1.0 }
112 { dvector{ -2.0 1.0 3.0 14.0 } } [
118 dvector{ 1.0 2.0 3.0 }
122 { cvector{ 3.0 C{ 1.0 2.0 } 6.0 } } [
125 { -1.0 C{ 0.0 1.0 } 0.0 2.0 }
128 cvector{ 1.0 2.0 3.0 1.0 }
131 { cvector{ -2.0 C{ 1.0 2.0 } 3.0 14.0 } } [
134 { -1.0 C{ 0.0 1.0 } 0.0 2.0 }
137 cvector{ 1.0 2.0 3.0 }
141 { zvector{ 3.0 C{ 1.0 2.0 } 6.0 } } [
144 { -1.0 C{ 0.0 1.0 } 0.0 2.0 }
147 zvector{ 1.0 2.0 3.0 1.0 }
150 { zvector{ -2.0 C{ 1.0 2.0 } 3.0 14.0 } } [
153 { -1.0 C{ 0.0 1.0 } 0.0 2.0 }
156 zvector{ 1.0 2.0 3.0 }
167 svector{ 1.0 2.0 3.0 } svector{ 1.0 2.0 3.0 4.0 } V(*)
175 dvector{ 1.0 2.0 3.0 } dvector{ 1.0 2.0 3.0 4.0 } V(*)
179 { 1.0 2.0 C{ 3.0 -3.0 } 4.0 }
180 { 2.0 4.0 C{ 6.0 -6.0 } 8.0 }
181 { C{ 3.0 3.0 } C{ 6.0 6.0 } 18.0 C{ 12.0 12.0 } }
183 cvector{ 1.0 2.0 C{ 3.0 3.0 } } cvector{ 1.0 2.0 C{ 3.0 -3.0 } 4.0 } V(*)
187 { 1.0 2.0 C{ 3.0 -3.0 } 4.0 }
188 { 2.0 4.0 C{ 6.0 -6.0 } 8.0 }
189 { C{ 3.0 3.0 } C{ 6.0 6.0 } 18.0 C{ 12.0 12.0 } }
191 zvector{ 1.0 2.0 C{ 3.0 3.0 } } zvector{ 1.0 2.0 C{ 3.0 -3.0 } 4.0 } V(*)
197 { 1.0 0.0 0.0 4.0 0.0 }
198 { 0.0 0.0 -3.0 0.0 0.0 }
199 { 0.0 4.0 0.0 0.0 10.0 }
200 { 0.0 0.0 0.0 0.0 0.0 }
208 { 1.0 0.0 0.0 4.0 0.0 }
209 { 0.0 2.0 0.0 0.0 5.0 }
210 { 0.0 0.0 3.0 0.0 0.0 }
222 { 1.0 0.0 0.0 4.0 0.0 }
223 { 0.0 2.0 0.0 0.0 5.0 }
224 { 0.0 0.0 3.0 0.0 0.0 }
225 } Mtranspose smatrix{
234 { 1.0 0.0 0.0 4.0 0.0 }
235 { 0.0 0.0 -3.0 0.0 0.0 }
236 { 0.0 4.0 0.0 0.0 10.0 }
237 { 0.0 0.0 0.0 0.0 0.0 }
245 { 1.0 0.0 0.0 4.0 0.0 }
246 { 0.0 2.0 0.0 0.0 5.0 }
247 { 0.0 0.0 3.0 0.0 0.0 }
259 { 1.0 0.0 0.0 4.0 0.0 }
260 { 0.0 2.0 0.0 0.0 5.0 }
261 { 0.0 0.0 3.0 0.0 0.0 }
262 } Mtranspose dmatrix{
271 { 1.0 0.0 0.0 4.0 0.0 }
272 { 0.0 0.0 -3.0 0.0 0.0 }
273 { 0.0 C{ 4.0 -4.0 } 0.0 0.0 10.0 }
274 { 0.0 0.0 0.0 0.0 0.0 }
282 { 1.0 0.0 0.0 4.0 0.0 }
283 { 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
284 { 0.0 0.0 3.0 0.0 0.0 }
290 { 0.0 0.0 C{ 4.0 -4.0 } 0.0 }
296 { 1.0 0.0 0.0 4.0 0.0 }
297 { 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
298 { 0.0 0.0 3.0 0.0 0.0 }
299 } Mtranspose cmatrix{
308 { 1.0 0.0 0.0 4.0 0.0 }
309 { 0.0 0.0 -3.0 0.0 0.0 }
310 { 0.0 C{ 4.0 -4.0 } 0.0 0.0 10.0 }
311 { 0.0 0.0 0.0 0.0 0.0 }
319 { 1.0 0.0 0.0 4.0 0.0 }
320 { 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
321 { 0.0 0.0 3.0 0.0 0.0 }
327 { 0.0 0.0 C{ 4.0 -4.0 } 0.0 }
333 { 1.0 0.0 0.0 4.0 0.0 }
334 { 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
335 { 0.0 0.0 3.0 0.0 0.0 }
336 } Mtranspose zmatrix{
368 { 0.0 C{ -1.0 2.0 } }
370 C{ 2.0 1.0 } cmatrix{
378 { 0.0 C{ -1.0 2.0 } }
380 C{ 2.0 1.0 } zmatrix{
388 { svector{ 3.0 3.0 3.0 } } [
395 { svector{ 3.0 2.0 3.0 4.0 } } [
416 { svector{ 3.0 3.0 3.0 } } [
421 } Mtranspose Mrows nth
423 { svector{ 3.0 2.0 3.0 4.0 } } [
428 } Mtranspose Mcols nth
435 } Mtranspose Mcols length
442 } Mtranspose Mrows length
445 { dvector{ 3.0 3.0 3.0 } } [
452 { dvector{ 3.0 2.0 3.0 4.0 } } [
473 { dvector{ 3.0 3.0 3.0 } } [
478 } Mtranspose Mrows nth
480 { dvector{ 3.0 2.0 3.0 4.0 } } [
485 } Mtranspose Mcols nth
492 } Mtranspose Mcols length
499 } Mtranspose Mrows length
502 { cvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } } [
504 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
505 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
506 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
509 { cvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } } [
511 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
512 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
513 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
518 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
519 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
520 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
525 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
526 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
527 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
530 { cvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } } [
532 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
533 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
534 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
535 } Mtranspose Mrows nth
537 { cvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } } [
539 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
540 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
541 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
542 } Mtranspose Mcols nth
546 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
547 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
548 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
549 } Mtranspose Mcols length
553 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
554 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
555 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
556 } Mtranspose Mrows length
559 { zvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } } [
561 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
562 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
563 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
566 { zvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } } [
568 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
569 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
570 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
575 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
576 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
577 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
582 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
583 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
584 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
587 { zvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } } [
589 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
590 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
591 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
592 } Mtranspose Mrows nth
594 { zvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } } [
596 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
597 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
598 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
599 } Mtranspose Mcols nth
603 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
604 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
605 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
606 } Mtranspose Mcols length
610 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
611 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
612 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
613 } Mtranspose Mrows length
623 { 0.0 1.0 2.0 3.0 2.0 }
624 { 1.0 0.0 3.0 2.0 1.0 }
625 { 2.0 3.0 0.0 1.0 0.0 }
635 { 0.0 1.0 2.0 3.0 2.0 }
636 { 1.0 0.0 3.0 2.0 1.0 }
637 { 2.0 3.0 0.0 1.0 0.0 }
638 } Mtranspose 2 1 3 2 Msub
646 { 0.0 1.0 2.0 3.0 2.0 }
647 { 1.0 0.0 3.0 2.0 1.0 }
648 { 2.0 3.0 0.0 1.0 0.0 }
658 { 0.0 1.0 2.0 3.0 2.0 }
659 { 1.0 0.0 3.0 2.0 1.0 }
660 { 2.0 3.0 0.0 1.0 0.0 }
661 } Mtranspose 2 1 3 2 Msub
665 { C{ 3.0 3.0 } 2.0 1.0 }
669 { 0.0 1.0 2.0 3.0 2.0 }
670 { 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
671 { 2.0 3.0 0.0 1.0 0.0 }
681 { 0.0 1.0 2.0 3.0 2.0 }
682 { 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
683 { 2.0 3.0 0.0 1.0 0.0 }
684 } Mtranspose 2 1 3 2 Msub
688 { C{ 3.0 3.0 } 2.0 1.0 }
692 { 0.0 1.0 2.0 3.0 2.0 }
693 { 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
694 { 2.0 3.0 0.0 1.0 0.0 }
704 { 0.0 1.0 2.0 3.0 2.0 }
705 { 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
706 { 2.0 3.0 0.0 1.0 0.0 }
707 } Mtranspose 2 1 3 2 Msub
710 ! Bugfix: blas-matrix-base did not handle `f smatrix{ } equal?`
713 svector{ 1.0 2.0 3.0 4.0 }
714 svector{ 2.0 2.0 3.0 4.0 }
715 svector{ 3.0 2.0 3.0 4.0 }