1 USING: kernel math.blas.matrices math.blas.vectors math.blas.syntax
3 IN: math.blas.matrices.tests
46 { C{ 1.0 1.0 } 2.0 3.0 }
47 { 4.0 C{ 5.0 2.0 } 6.0 }
48 { 7.0 8.0 C{ 9.0 3.0 } }
51 { C{ 1.0 1.0 } 2.0 3.0 }
52 { 4.0 C{ 5.0 2.0 } 6.0 }
53 { 7.0 8.0 C{ 9.0 3.0 } }
58 { C{ 1.0 1.0 } 2.0 3.0 }
59 { 4.0 C{ 5.0 2.0 } 6.0 }
60 { 7.0 8.0 C{ 9.0 3.0 } }
65 { C{ 1.0 1.0 } 2.0 3.0 }
66 { 4.0 C{ 5.0 2.0 } 6.0 }
67 { 7.0 8.0 C{ 9.0 3.0 } }
70 { C{ 1.0 1.0 } 2.0 3.0 }
71 { 4.0 C{ 5.0 2.0 } 6.0 }
72 { 7.0 8.0 C{ 9.0 3.0 } }
77 { C{ 1.0 1.0 } 2.0 3.0 }
78 { 4.0 C{ 5.0 2.0 } 6.0 }
79 { 7.0 8.0 C{ 9.0 3.0 } }
85 [ svector{ 3.0 1.0 6.0 } ] [
91 svector{ 1.0 2.0 3.0 1.0 }
94 [ svector{ -2.0 1.0 3.0 14.0 } ] [
100 svector{ 1.0 2.0 3.0 }
104 [ dvector{ 3.0 1.0 6.0 } ] [
110 dvector{ 1.0 2.0 3.0 1.0 }
113 [ dvector{ -2.0 1.0 3.0 14.0 } ] [
119 dvector{ 1.0 2.0 3.0 }
123 [ cvector{ 3.0 C{ 1.0 2.0 } 6.0 } ] [
126 { -1.0 C{ 0.0 1.0 } 0.0 2.0 }
129 cvector{ 1.0 2.0 3.0 1.0 }
132 [ cvector{ -2.0 C{ 1.0 2.0 } 3.0 14.0 } ] [
135 { -1.0 C{ 0.0 1.0 } 0.0 2.0 }
138 cvector{ 1.0 2.0 3.0 }
142 [ zvector{ 3.0 C{ 1.0 2.0 } 6.0 } ] [
145 { -1.0 C{ 0.0 1.0 } 0.0 2.0 }
148 zvector{ 1.0 2.0 3.0 1.0 }
151 [ zvector{ -2.0 C{ 1.0 2.0 } 3.0 14.0 } ] [
154 { -1.0 C{ 0.0 1.0 } 0.0 2.0 }
157 zvector{ 1.0 2.0 3.0 }
168 svector{ 1.0 2.0 3.0 } svector{ 1.0 2.0 3.0 4.0 } V(*)
176 dvector{ 1.0 2.0 3.0 } dvector{ 1.0 2.0 3.0 4.0 } V(*)
180 { 1.0 2.0 C{ 3.0 -3.0 } 4.0 }
181 { 2.0 4.0 C{ 6.0 -6.0 } 8.0 }
182 { C{ 3.0 3.0 } C{ 6.0 6.0 } 18.0 C{ 12.0 12.0 } }
184 cvector{ 1.0 2.0 C{ 3.0 3.0 } } cvector{ 1.0 2.0 C{ 3.0 -3.0 } 4.0 } V(*)
188 { 1.0 2.0 C{ 3.0 -3.0 } 4.0 }
189 { 2.0 4.0 C{ 6.0 -6.0 } 8.0 }
190 { C{ 3.0 3.0 } C{ 6.0 6.0 } 18.0 C{ 12.0 12.0 } }
192 zvector{ 1.0 2.0 C{ 3.0 3.0 } } zvector{ 1.0 2.0 C{ 3.0 -3.0 } 4.0 } V(*)
198 { 1.0 0.0 0.0 4.0 0.0 }
199 { 0.0 0.0 -3.0 0.0 0.0 }
200 { 0.0 4.0 0.0 0.0 10.0 }
201 { 0.0 0.0 0.0 0.0 0.0 }
209 { 1.0 0.0 0.0 4.0 0.0 }
210 { 0.0 2.0 0.0 0.0 5.0 }
211 { 0.0 0.0 3.0 0.0 0.0 }
223 { 1.0 0.0 0.0 4.0 0.0 }
224 { 0.0 2.0 0.0 0.0 5.0 }
225 { 0.0 0.0 3.0 0.0 0.0 }
226 } Mtranspose smatrix{
235 { 1.0 0.0 0.0 4.0 0.0 }
236 { 0.0 0.0 -3.0 0.0 0.0 }
237 { 0.0 4.0 0.0 0.0 10.0 }
238 { 0.0 0.0 0.0 0.0 0.0 }
246 { 1.0 0.0 0.0 4.0 0.0 }
247 { 0.0 2.0 0.0 0.0 5.0 }
248 { 0.0 0.0 3.0 0.0 0.0 }
260 { 1.0 0.0 0.0 4.0 0.0 }
261 { 0.0 2.0 0.0 0.0 5.0 }
262 { 0.0 0.0 3.0 0.0 0.0 }
263 } Mtranspose dmatrix{
272 { 1.0 0.0 0.0 4.0 0.0 }
273 { 0.0 0.0 -3.0 0.0 0.0 }
274 { 0.0 C{ 4.0 -4.0 } 0.0 0.0 10.0 }
275 { 0.0 0.0 0.0 0.0 0.0 }
283 { 1.0 0.0 0.0 4.0 0.0 }
284 { 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
285 { 0.0 0.0 3.0 0.0 0.0 }
291 { 0.0 0.0 C{ 4.0 -4.0 } 0.0 }
297 { 1.0 0.0 0.0 4.0 0.0 }
298 { 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
299 { 0.0 0.0 3.0 0.0 0.0 }
300 } Mtranspose cmatrix{
309 { 1.0 0.0 0.0 4.0 0.0 }
310 { 0.0 0.0 -3.0 0.0 0.0 }
311 { 0.0 C{ 4.0 -4.0 } 0.0 0.0 10.0 }
312 { 0.0 0.0 0.0 0.0 0.0 }
320 { 1.0 0.0 0.0 4.0 0.0 }
321 { 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
322 { 0.0 0.0 3.0 0.0 0.0 }
328 { 0.0 0.0 C{ 4.0 -4.0 } 0.0 }
334 { 1.0 0.0 0.0 4.0 0.0 }
335 { 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
336 { 0.0 0.0 3.0 0.0 0.0 }
337 } Mtranspose zmatrix{
369 { 0.0 C{ -1.0 2.0 } }
371 C{ 2.0 1.0 } cmatrix{
379 { 0.0 C{ -1.0 2.0 } }
381 C{ 2.0 1.0 } zmatrix{
389 [ svector{ 3.0 3.0 3.0 } ] [
396 [ svector{ 3.0 2.0 3.0 4.0 } ] [
417 [ svector{ 3.0 3.0 3.0 } ] [
422 } Mtranspose Mrows nth
424 [ svector{ 3.0 2.0 3.0 4.0 } ] [
429 } Mtranspose Mcols nth
436 } Mtranspose Mcols length
443 } Mtranspose Mrows length
446 [ dvector{ 3.0 3.0 3.0 } ] [
453 [ dvector{ 3.0 2.0 3.0 4.0 } ] [
474 [ dvector{ 3.0 3.0 3.0 } ] [
479 } Mtranspose Mrows nth
481 [ dvector{ 3.0 2.0 3.0 4.0 } ] [
486 } Mtranspose Mcols nth
493 } Mtranspose Mcols length
500 } Mtranspose Mrows length
503 [ cvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } ] [
505 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
506 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
507 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
510 [ cvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } ] [
512 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
513 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
514 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
519 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
520 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
521 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
526 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
527 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
528 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
531 [ cvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } ] [
533 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
534 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
535 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
536 } Mtranspose Mrows nth
538 [ cvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } ] [
540 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
541 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
542 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
543 } Mtranspose Mcols nth
547 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
548 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
549 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
550 } Mtranspose Mcols length
554 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
555 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
556 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
557 } Mtranspose Mrows length
560 [ zvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } ] [
562 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
563 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
564 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
567 [ zvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } ] [
569 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
570 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
571 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
576 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
577 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
578 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
583 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
584 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
585 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
588 [ zvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } ] [
590 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
591 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
592 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
593 } Mtranspose Mrows nth
595 [ zvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } ] [
597 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
598 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
599 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
600 } Mtranspose Mcols nth
604 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
605 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
606 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
607 } Mtranspose Mcols length
611 { C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
612 { C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
613 { C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
614 } Mtranspose Mrows length
624 { 0.0 1.0 2.0 3.0 2.0 }
625 { 1.0 0.0 3.0 2.0 1.0 }
626 { 2.0 3.0 0.0 1.0 0.0 }
636 { 0.0 1.0 2.0 3.0 2.0 }
637 { 1.0 0.0 3.0 2.0 1.0 }
638 { 2.0 3.0 0.0 1.0 0.0 }
639 } Mtranspose 2 1 3 2 Msub
647 { 0.0 1.0 2.0 3.0 2.0 }
648 { 1.0 0.0 3.0 2.0 1.0 }
649 { 2.0 3.0 0.0 1.0 0.0 }
659 { 0.0 1.0 2.0 3.0 2.0 }
660 { 1.0 0.0 3.0 2.0 1.0 }
661 { 2.0 3.0 0.0 1.0 0.0 }
662 } Mtranspose 2 1 3 2 Msub
666 { C{ 3.0 3.0 } 2.0 1.0 }
670 { 0.0 1.0 2.0 3.0 2.0 }
671 { 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
672 { 2.0 3.0 0.0 1.0 0.0 }
682 { 0.0 1.0 2.0 3.0 2.0 }
683 { 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
684 { 2.0 3.0 0.0 1.0 0.0 }
685 } Mtranspose 2 1 3 2 Msub
689 { C{ 3.0 3.0 } 2.0 1.0 }
693 { 0.0 1.0 2.0 3.0 2.0 }
694 { 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
695 { 2.0 3.0 0.0 1.0 0.0 }
705 { 0.0 1.0 2.0 3.0 2.0 }
706 { 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
707 { 2.0 3.0 0.0 1.0 0.0 }
708 } Mtranspose 2 1 3 2 Msub