factor/extra/math/blas/matrices/matrices-tests.factor

710 lines
17 KiB
Factor
Raw Normal View History

USING: kernel math.blas.matrices math.blas.vectors
2008-07-04 23:57:22 -04:00
sequences tools.test ;
IN: math.blas.matrices.tests
! clone
{ Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 }
{ 4.0 5.0 6.0 }
{ 7.0 8.0 9.0 }
} } [
Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 }
{ 4.0 5.0 6.0 }
{ 7.0 8.0 9.0 }
} clone
] unit-test
{ f } [
Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 }
{ 4.0 5.0 6.0 }
{ 7.0 8.0 9.0 }
} dup clone eq?
] unit-test
{ Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 }
{ 4.0 5.0 6.0 }
{ 7.0 8.0 9.0 }
} } [
Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 }
{ 4.0 5.0 6.0 }
{ 7.0 8.0 9.0 }
} clone
] unit-test
{ f } [
Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 }
{ 4.0 5.0 6.0 }
{ 7.0 8.0 9.0 }
} dup clone eq?
] unit-test
{ Cmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } 2.0 3.0 }
{ 4.0 C{ 5.0 2.0 } 6.0 }
{ 7.0 8.0 C{ 9.0 3.0 } }
} } [
Cmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } 2.0 3.0 }
{ 4.0 C{ 5.0 2.0 } 6.0 }
{ 7.0 8.0 C{ 9.0 3.0 } }
} clone
] unit-test
{ f } [
Cmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } 2.0 3.0 }
{ 4.0 C{ 5.0 2.0 } 6.0 }
{ 7.0 8.0 C{ 9.0 3.0 } }
} dup clone eq?
] unit-test
{ Zmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } 2.0 3.0 }
{ 4.0 C{ 5.0 2.0 } 6.0 }
{ 7.0 8.0 C{ 9.0 3.0 } }
} } [
Zmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } 2.0 3.0 }
{ 4.0 C{ 5.0 2.0 } 6.0 }
{ 7.0 8.0 C{ 9.0 3.0 } }
} clone
] unit-test
{ f } [
Zmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } 2.0 3.0 }
{ 4.0 C{ 5.0 2.0 } 6.0 }
{ 7.0 8.0 C{ 9.0 3.0 } }
} dup clone eq?
] unit-test
! M.V
{ Svector{ 3.0 1.0 6.0 } } [
Smatrix{
2008-07-04 23:57:22 -04:00
{ 0.0 1.0 0.0 1.0 }
{ -1.0 0.0 0.0 2.0 }
{ 0.0 0.0 1.0 3.0 }
}
Svector{ 1.0 2.0 3.0 1.0 }
2008-07-04 23:57:22 -04:00
M.V
] unit-test
{ Svector{ -2.0 1.0 3.0 14.0 } } [
Smatrix{
2008-07-04 23:57:22 -04:00
{ 0.0 1.0 0.0 1.0 }
{ -1.0 0.0 0.0 2.0 }
{ 0.0 0.0 1.0 3.0 }
} Mtranspose
Svector{ 1.0 2.0 3.0 }
2008-07-04 23:57:22 -04:00
M.V
] unit-test
2008-07-04 23:57:22 -04:00
{ Dvector{ 3.0 1.0 6.0 } } [
Dmatrix{
2008-07-04 23:57:22 -04:00
{ 0.0 1.0 0.0 1.0 }
{ -1.0 0.0 0.0 2.0 }
{ 0.0 0.0 1.0 3.0 }
}
Dvector{ 1.0 2.0 3.0 1.0 }
2008-07-04 23:57:22 -04:00
M.V
] unit-test
{ Dvector{ -2.0 1.0 3.0 14.0 } } [
Dmatrix{
2008-07-04 23:57:22 -04:00
{ 0.0 1.0 0.0 1.0 }
{ -1.0 0.0 0.0 2.0 }
{ 0.0 0.0 1.0 3.0 }
} Mtranspose
Dvector{ 1.0 2.0 3.0 }
2008-07-04 23:57:22 -04:00
M.V
] unit-test
2008-07-04 23:57:22 -04:00
{ Cvector{ 3.0 C{ 1.0 2.0 } 6.0 } } [
Cmatrix{
2008-07-04 23:57:22 -04:00
{ 0.0 1.0 0.0 1.0 }
{ -1.0 C{ 0.0 1.0 } 0.0 2.0 }
{ 0.0 0.0 1.0 3.0 }
}
Cvector{ 1.0 2.0 3.0 1.0 }
2008-07-04 23:57:22 -04:00
M.V
] unit-test
{ Cvector{ -2.0 C{ 1.0 2.0 } 3.0 14.0 } } [
Cmatrix{
2008-07-04 23:57:22 -04:00
{ 0.0 1.0 0.0 1.0 }
{ -1.0 C{ 0.0 1.0 } 0.0 2.0 }
{ 0.0 0.0 1.0 3.0 }
} Mtranspose
Cvector{ 1.0 2.0 3.0 }
2008-07-04 23:57:22 -04:00
M.V
] unit-test
2008-07-04 23:57:22 -04:00
{ Zvector{ 3.0 C{ 1.0 2.0 } 6.0 } } [
Zmatrix{
2008-07-04 23:57:22 -04:00
{ 0.0 1.0 0.0 1.0 }
{ -1.0 C{ 0.0 1.0 } 0.0 2.0 }
{ 0.0 0.0 1.0 3.0 }
}
Zvector{ 1.0 2.0 3.0 1.0 }
2008-07-04 23:57:22 -04:00
M.V
] unit-test
{ Zvector{ -2.0 C{ 1.0 2.0 } 3.0 14.0 } } [
Zmatrix{
2008-07-04 23:57:22 -04:00
{ 0.0 1.0 0.0 1.0 }
{ -1.0 C{ 0.0 1.0 } 0.0 2.0 }
{ 0.0 0.0 1.0 3.0 }
} Mtranspose
Zvector{ 1.0 2.0 3.0 }
2008-07-04 23:57:22 -04:00
M.V
] unit-test
2008-07-04 23:57:22 -04:00
! V(*)
{ Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 4.0 6.0 8.0 }
{ 3.0 6.0 9.0 12.0 }
} } [
Svector{ 1.0 2.0 3.0 } Svector{ 1.0 2.0 3.0 4.0 } V(*)
2008-07-04 23:57:22 -04:00
] unit-test
{ Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 4.0 6.0 8.0 }
{ 3.0 6.0 9.0 12.0 }
} } [
Dvector{ 1.0 2.0 3.0 } Dvector{ 1.0 2.0 3.0 4.0 } V(*)
2008-07-04 23:57:22 -04:00
] unit-test
{ Cmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 C{ 3.0 -3.0 } 4.0 }
{ 2.0 4.0 C{ 6.0 -6.0 } 8.0 }
{ C{ 3.0 3.0 } C{ 6.0 6.0 } 18.0 C{ 12.0 12.0 } }
} } [
Cvector{ 1.0 2.0 C{ 3.0 3.0 } } Cvector{ 1.0 2.0 C{ 3.0 -3.0 } 4.0 } V(*)
2008-07-04 23:57:22 -04:00
] unit-test
{ Zmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 C{ 3.0 -3.0 } 4.0 }
{ 2.0 4.0 C{ 6.0 -6.0 } 8.0 }
{ C{ 3.0 3.0 } C{ 6.0 6.0 } 18.0 C{ 12.0 12.0 } }
} } [
Zvector{ 1.0 2.0 C{ 3.0 3.0 } } Zvector{ 1.0 2.0 C{ 3.0 -3.0 } 4.0 } V(*)
2008-07-04 23:57:22 -04:00
] unit-test
! M.
{ Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 4.0 0.0 }
{ 0.0 0.0 -3.0 0.0 0.0 }
{ 0.0 4.0 0.0 0.0 10.0 }
{ 0.0 0.0 0.0 0.0 0.0 }
} } [
Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 }
{ 0.0 0.0 -1.0 }
{ 0.0 2.0 0.0 }
{ 0.0 0.0 0.0 }
} Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 4.0 0.0 }
{ 0.0 2.0 0.0 0.0 5.0 }
{ 0.0 0.0 3.0 0.0 0.0 }
} M.
] unit-test
{ Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 0.0 }
{ 0.0 0.0 4.0 0.0 }
{ 0.0 -3.0 0.0 0.0 }
{ 4.0 0.0 0.0 0.0 }
{ 0.0 0.0 10.0 0.0 }
} } [
Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 4.0 0.0 }
{ 0.0 2.0 0.0 0.0 5.0 }
{ 0.0 0.0 3.0 0.0 0.0 }
} Mtranspose Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 }
{ 0.0 0.0 -1.0 }
{ 0.0 2.0 0.0 }
{ 0.0 0.0 0.0 }
} Mtranspose M.
] unit-test
{ Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 4.0 0.0 }
{ 0.0 0.0 -3.0 0.0 0.0 }
{ 0.0 4.0 0.0 0.0 10.0 }
{ 0.0 0.0 0.0 0.0 0.0 }
} } [
Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 }
{ 0.0 0.0 -1.0 }
{ 0.0 2.0 0.0 }
{ 0.0 0.0 0.0 }
} Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 4.0 0.0 }
{ 0.0 2.0 0.0 0.0 5.0 }
{ 0.0 0.0 3.0 0.0 0.0 }
} M.
] unit-test
{ Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 0.0 }
{ 0.0 0.0 4.0 0.0 }
{ 0.0 -3.0 0.0 0.0 }
{ 4.0 0.0 0.0 0.0 }
{ 0.0 0.0 10.0 0.0 }
} } [
Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 4.0 0.0 }
{ 0.0 2.0 0.0 0.0 5.0 }
{ 0.0 0.0 3.0 0.0 0.0 }
} Mtranspose Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 }
{ 0.0 0.0 -1.0 }
{ 0.0 2.0 0.0 }
{ 0.0 0.0 0.0 }
} Mtranspose M.
] unit-test
{ Cmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 4.0 0.0 }
{ 0.0 0.0 -3.0 0.0 0.0 }
{ 0.0 C{ 4.0 -4.0 } 0.0 0.0 10.0 }
{ 0.0 0.0 0.0 0.0 0.0 }
} } [
Cmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 }
{ 0.0 0.0 -1.0 }
{ 0.0 2.0 0.0 }
{ 0.0 0.0 0.0 }
} Cmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 4.0 0.0 }
{ 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
{ 0.0 0.0 3.0 0.0 0.0 }
} M.
] unit-test
{ Cmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 0.0 }
{ 0.0 0.0 C{ 4.0 -4.0 } 0.0 }
{ 0.0 -3.0 0.0 0.0 }
{ 4.0 0.0 0.0 0.0 }
{ 0.0 0.0 10.0 0.0 }
} } [
Cmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 4.0 0.0 }
{ 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
{ 0.0 0.0 3.0 0.0 0.0 }
} Mtranspose Cmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 }
{ 0.0 0.0 -1.0 }
{ 0.0 2.0 0.0 }
{ 0.0 0.0 0.0 }
} Mtranspose M.
] unit-test
{ Zmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 4.0 0.0 }
{ 0.0 0.0 -3.0 0.0 0.0 }
{ 0.0 C{ 4.0 -4.0 } 0.0 0.0 10.0 }
{ 0.0 0.0 0.0 0.0 0.0 }
} } [
Zmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 }
{ 0.0 0.0 -1.0 }
{ 0.0 2.0 0.0 }
{ 0.0 0.0 0.0 }
} Zmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 4.0 0.0 }
{ 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
{ 0.0 0.0 3.0 0.0 0.0 }
} M.
] unit-test
{ Zmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 0.0 }
{ 0.0 0.0 C{ 4.0 -4.0 } 0.0 }
{ 0.0 -3.0 0.0 0.0 }
{ 4.0 0.0 0.0 0.0 }
{ 0.0 0.0 10.0 0.0 }
} } [
Zmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 4.0 0.0 }
{ 0.0 C{ 2.0 -2.0 } 0.0 0.0 5.0 }
{ 0.0 0.0 3.0 0.0 0.0 }
} Mtranspose Zmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 0.0 }
{ 0.0 0.0 -1.0 }
{ 0.0 2.0 0.0 }
{ 0.0 0.0 0.0 }
} Mtranspose M.
] unit-test
! n*M
{ Smatrix{
2008-07-04 23:57:22 -04:00
{ 2.0 0.0 }
{ 0.0 2.0 }
} } [
2.0 Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 }
{ 0.0 1.0 }
} n*M
] unit-test
{ Dmatrix{
2008-07-04 23:57:22 -04:00
{ 2.0 0.0 }
{ 0.0 2.0 }
} } [
2.0 Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 }
{ 0.0 1.0 }
} n*M
] unit-test
{ Cmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 2.0 1.0 } 0.0 }
{ 0.0 C{ -1.0 2.0 } }
} } [
C{ 2.0 1.0 } Cmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 }
{ 0.0 C{ 0.0 1.0 } }
} n*M
] unit-test
{ Zmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 2.0 1.0 } 0.0 }
{ 0.0 C{ -1.0 2.0 } }
} } [
C{ 2.0 1.0 } Zmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 0.0 }
{ 0.0 C{ 0.0 1.0 } }
} n*M
] unit-test
! Mrows, Mcols
{ Svector{ 3.0 3.0 3.0 } } [
2 Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 2.0 3.0 4.0 }
{ 3.0 2.0 3.0 4.0 }
} Mcols nth
] unit-test
{ Svector{ 3.0 2.0 3.0 4.0 } } [
2 Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 2.0 3.0 4.0 }
{ 3.0 2.0 3.0 4.0 }
} Mrows nth
] unit-test
{ 3 } [
Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 2.0 3.0 4.0 }
{ 3.0 2.0 3.0 4.0 }
} Mrows length
] unit-test
{ 4 } [
Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 2.0 3.0 4.0 }
{ 3.0 2.0 3.0 4.0 }
} Mcols length
] unit-test
{ Svector{ 3.0 3.0 3.0 } } [
2 Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 2.0 3.0 4.0 }
{ 3.0 2.0 3.0 4.0 }
} Mtranspose Mrows nth
] unit-test
{ Svector{ 3.0 2.0 3.0 4.0 } } [
2 Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 2.0 3.0 4.0 }
{ 3.0 2.0 3.0 4.0 }
} Mtranspose Mcols nth
] unit-test
{ 3 } [
Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 2.0 3.0 4.0 }
{ 3.0 2.0 3.0 4.0 }
} Mtranspose Mcols length
] unit-test
{ 4 } [
Smatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 2.0 3.0 4.0 }
{ 3.0 2.0 3.0 4.0 }
} Mtranspose Mrows length
] unit-test
{ Dvector{ 3.0 3.0 3.0 } } [
2 Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 2.0 3.0 4.0 }
{ 3.0 2.0 3.0 4.0 }
} Mcols nth
] unit-test
{ Dvector{ 3.0 2.0 3.0 4.0 } } [
2 Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 2.0 3.0 4.0 }
{ 3.0 2.0 3.0 4.0 }
} Mrows nth
] unit-test
{ 3 } [
Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 2.0 3.0 4.0 }
{ 3.0 2.0 3.0 4.0 }
} Mrows length
] unit-test
{ 4 } [
Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 2.0 3.0 4.0 }
{ 3.0 2.0 3.0 4.0 }
} Mcols length
] unit-test
{ Dvector{ 3.0 3.0 3.0 } } [
2 Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 2.0 3.0 4.0 }
{ 3.0 2.0 3.0 4.0 }
} Mtranspose Mrows nth
] unit-test
{ Dvector{ 3.0 2.0 3.0 4.0 } } [
2 Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 2.0 3.0 4.0 }
{ 3.0 2.0 3.0 4.0 }
} Mtranspose Mcols nth
] unit-test
{ 3 } [
Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 2.0 3.0 4.0 }
{ 3.0 2.0 3.0 4.0 }
} Mtranspose Mcols length
] unit-test
{ 4 } [
Dmatrix{
2008-07-04 23:57:22 -04:00
{ 1.0 2.0 3.0 4.0 }
{ 2.0 2.0 3.0 4.0 }
{ 3.0 2.0 3.0 4.0 }
} Mtranspose Mrows length
] unit-test
{ Cvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } } [
2 Cmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
} Mcols nth
] unit-test
{ Cvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } } [
2 Cmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
} Mrows nth
] unit-test
{ 3 } [
Cmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
} Mrows length
] unit-test
{ 4 } [
Cmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
} Mcols length
] unit-test
{ Cvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } } [
2 Cmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
} Mtranspose Mrows nth
] unit-test
{ Cvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } } [
2 Cmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
} Mtranspose Mcols nth
] unit-test
{ 3 } [
Cmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
} Mtranspose Mcols length
] unit-test
{ 4 } [
Cmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
} Mtranspose Mrows length
] unit-test
{ Zvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } } [
2 Zmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
} Mcols nth
] unit-test
{ Zvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } } [
2 Zmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
} Mrows nth
] unit-test
{ 3 } [
Zmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
} Mrows length
] unit-test
{ 4 } [
Zmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
} Mcols length
] unit-test
{ Zvector{ C{ 3.0 1.0 } C{ 3.0 2.0 } C{ 3.0 3.0 } } } [
2 Zmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
} Mtranspose Mrows nth
] unit-test
{ Zvector{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } } } [
2 Zmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
} Mtranspose Mcols nth
] unit-test
{ 3 } [
Zmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
} Mtranspose Mcols length
] unit-test
{ 4 } [
Zmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 1.0 1.0 } C{ 2.0 1.0 } C{ 3.0 1.0 } C{ 4.0 1.0 } }
{ C{ 1.0 2.0 } C{ 2.0 2.0 } C{ 3.0 2.0 } C{ 4.0 2.0 } }
{ C{ 1.0 3.0 } C{ 2.0 3.0 } C{ 3.0 3.0 } C{ 4.0 3.0 } }
} Mtranspose Mrows length
] unit-test
! Msub
{ Smatrix{
2008-07-04 23:57:22 -04:00
{ 3.0 2.0 1.0 }
{ 0.0 1.0 0.0 }
} } [
Smatrix{
2008-07-04 23:57:22 -04:00
{ 0.0 1.0 2.0 3.0 2.0 }
{ 1.0 0.0 3.0 2.0 1.0 }
{ 2.0 3.0 0.0 1.0 0.0 }
} 1 2 2 3 Msub
] unit-test
{ Smatrix{
2008-07-04 23:57:22 -04:00
{ 3.0 0.0 }
{ 2.0 1.0 }
{ 1.0 0.0 }
} } [
Smatrix{
2008-07-04 23:57:22 -04:00
{ 0.0 1.0 2.0 3.0 2.0 }
{ 1.0 0.0 3.0 2.0 1.0 }
{ 2.0 3.0 0.0 1.0 0.0 }
} Mtranspose 2 1 3 2 Msub
] unit-test
{ Dmatrix{
2008-07-04 23:57:22 -04:00
{ 3.0 2.0 1.0 }
{ 0.0 1.0 0.0 }
} } [
Dmatrix{
2008-07-04 23:57:22 -04:00
{ 0.0 1.0 2.0 3.0 2.0 }
{ 1.0 0.0 3.0 2.0 1.0 }
{ 2.0 3.0 0.0 1.0 0.0 }
} 1 2 2 3 Msub
] unit-test
{ Dmatrix{
2008-07-04 23:57:22 -04:00
{ 3.0 0.0 }
{ 2.0 1.0 }
{ 1.0 0.0 }
} } [
Dmatrix{
2008-07-04 23:57:22 -04:00
{ 0.0 1.0 2.0 3.0 2.0 }
{ 1.0 0.0 3.0 2.0 1.0 }
{ 2.0 3.0 0.0 1.0 0.0 }
} Mtranspose 2 1 3 2 Msub
] unit-test
{ Cmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 3.0 3.0 } 2.0 1.0 }
{ 0.0 1.0 0.0 }
} } [
Cmatrix{
2008-07-04 23:57:22 -04:00
{ 0.0 1.0 2.0 3.0 2.0 }
{ 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
{ 2.0 3.0 0.0 1.0 0.0 }
} 1 2 2 3 Msub
] unit-test
{ Cmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 3.0 3.0 } 0.0 }
{ 2.0 1.0 }
{ 1.0 0.0 }
} } [
Cmatrix{
2008-07-04 23:57:22 -04:00
{ 0.0 1.0 2.0 3.0 2.0 }
{ 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
{ 2.0 3.0 0.0 1.0 0.0 }
} Mtranspose 2 1 3 2 Msub
] unit-test
{ Zmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 3.0 3.0 } 2.0 1.0 }
{ 0.0 1.0 0.0 }
} } [
Zmatrix{
2008-07-04 23:57:22 -04:00
{ 0.0 1.0 2.0 3.0 2.0 }
{ 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
{ 2.0 3.0 0.0 1.0 0.0 }
} 1 2 2 3 Msub
] unit-test
{ Zmatrix{
2008-07-04 23:57:22 -04:00
{ C{ 3.0 3.0 } 0.0 }
{ 2.0 1.0 }
{ 1.0 0.0 }
} } [
Zmatrix{
2008-07-04 23:57:22 -04:00
{ 0.0 1.0 2.0 3.0 2.0 }
{ 1.0 0.0 C{ 3.0 3.0 } 2.0 1.0 }
{ 2.0 3.0 0.0 1.0 0.0 }
} Mtranspose 2 1 3 2 Msub
] unit-test