factor/library/test/math/matrices.factor

148 lines
2.1 KiB
Factor
Raw Normal View History

2005-04-30 02:01:04 -04:00
IN: temporary
USING: kernel lists math matrices namespaces sequences test
vectors ;
2005-04-30 02:01:04 -04:00
[ [ { 1 4 } { 2 5 } { 3 6 } ] ]
[ M{ { 1 4 } { 2 5 } { 3 6 } }M row-list ] unit-test
2005-05-23 00:25:52 -04:00
2005-04-30 02:01:04 -04:00
[
M{ { 0 } { 0 } { 0 } }M
2005-04-30 02:01:04 -04:00
] [
3 1 <zero-matrix>
] unit-test
[
M{ { 1 } { 2 } { 3 } }M
2005-04-30 02:01:04 -04:00
] [
2005-06-09 19:49:31 -04:00
{ 1 2 3 } <col-matrix>
2005-04-30 02:01:04 -04:00
] unit-test
[
M{ { 1 0 0 }
{ 0 1 0 }
{ 0 0 1 } }M
2005-04-30 02:01:04 -04:00
] [
3 <identity-matrix>
] unit-test
[
M{ { 1 0 4 }
{ 0 7 0 }
{ 6 0 3 } }M
2005-04-30 02:01:04 -04:00
] [
M{ { 1 0 0 }
{ 0 2 0 }
{ 0 0 3 } }M
2005-04-30 02:01:04 -04:00
M{ { 0 0 4 }
{ 0 5 0 }
{ 6 0 0 } }M
2005-04-30 02:01:04 -04:00
2005-05-03 04:40:13 -04:00
m+
2005-04-30 02:01:04 -04:00
] unit-test
[
M{ { 1 0 4 }
{ 0 7 0 }
{ 6 0 3 } }M
2005-04-30 02:01:04 -04:00
] [
M{ { 1 0 0 }
{ 0 2 0 }
{ 0 0 3 } }M
2005-04-30 02:01:04 -04:00
M{ { 0 0 -4 }
{ 0 -5 0 }
{ -6 0 0 } }M
2005-04-30 02:01:04 -04:00
2005-05-03 04:40:13 -04:00
m-
2005-04-30 02:01:04 -04:00
] unit-test
[
{ 10 20 30 }
] [
2005-05-03 04:40:13 -04:00
10 { 1 2 3 } n*v
2005-04-30 02:01:04 -04:00
] unit-test
[
M{ { 6 } }M
2005-05-03 04:40:13 -04:00
] [
M{ { 3 } }M M{ { 2 } }M m.
2005-05-03 04:40:13 -04:00
] unit-test
[
M{ { 11 } }M
2005-05-03 04:40:13 -04:00
] [
M{ { 1 3 } }M M{ { 5 } { 2 } }M m.
2005-05-03 04:40:13 -04:00
] unit-test
[
[ [[ 0 0 ]] [[ 1 0 ]] ]
2005-04-30 02:01:04 -04:00
] [
2005-05-03 04:40:13 -04:00
[ 2 1 [ 2dup cons , ] 2repeat ] make-list
2005-04-30 02:01:04 -04:00
] unit-test
[
{ 3 4 }
] [
M{ { 1 0 }
{ 0 1 } }M
2005-04-30 02:01:04 -04:00
{ 3 4 }
2005-05-03 04:40:13 -04:00
m.v
] unit-test
[
{ 4 3 }
] [
M{ { 0 1 }
{ 1 0 } }M
2005-05-03 04:40:13 -04:00
{ 3 4 }
m.v
2005-04-30 02:01:04 -04:00
] unit-test
2005-05-22 22:08:46 -04:00
[ { 0 0 1 } ] [ { 1 0 0 } { 0 1 0 } cross ] unit-test
[ { 1 0 0 } ] [ { 0 1 0 } { 0 0 1 } cross ] unit-test
[ { 0 1 0 } ] [ { 0 0 1 } { 1 0 0 } cross ] unit-test
[ M{ { 1 2 } { 3 4 } { 5 6 } }M ]
[ M{ { 1 2 } { 3 4 } { 5 6 } }M transpose transpose ]
2005-05-23 00:25:52 -04:00
unit-test
[ M{ { 1 3 5 } { 2 4 6 } }M ]
[ M{ { 1 3 5 } { 2 4 6 } }M transpose transpose ]
2005-05-23 00:25:52 -04:00
unit-test
[ M{ { 1 3 5 } { 2 4 6 } }M ]
[ M{ { 1 2 } { 3 4 } { 5 6 } }M transpose ]
2005-05-22 22:08:46 -04:00
unit-test
2005-05-23 00:25:52 -04:00
[
M{ { 28 } }M
2005-05-23 00:25:52 -04:00
] [
M{ { 2 4 6 } }M
2005-05-23 00:25:52 -04:00
M{ { 1 }
{ 2 }
{ 3 } }M
2005-05-23 00:25:52 -04:00
m.
] unit-test
[
{ { 7 } { 4 8 } { 1 5 9 } { 2 6 } { 3 } }
] [
M{ { 1 2 3 } { 4 5 6 } { 7 8 9 } }M
5 [ 2 - swap <diagonal> >vector ] map-with
] unit-test
[ { t t t } ]
[ { 1 2 3 } { -1 -2 -3 } { 4 5 6 } vbetween? ]
unit-test
[ { t f t } ]
[ { 1 10 3 } { -1 -2 -3 } { 4 5 6 } vbetween? ]
unit-test