2005-04-30 02:01:04 -04:00
|
|
|
IN: temporary
|
2005-05-28 20:52:23 -04:00
|
|
|
USING: kernel lists math matrices namespaces sequences test ;
|
2005-04-30 02:01:04 -04:00
|
|
|
|
2005-05-23 00:25:52 -04:00
|
|
|
[ [ [ 1 4 ] [ 2 5 ] [ 3 6 ] ] ]
|
|
|
|
[ M[ [ 1 4 ] [ 2 5 ] [ 3 6 ] ]M row-list ] unit-test
|
|
|
|
|
2005-04-30 02:01:04 -04:00
|
|
|
[
|
|
|
|
M[ [ 0 ] [ 0 ] [ 0 ] ]M
|
|
|
|
] [
|
|
|
|
3 1 <zero-matrix>
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
[
|
|
|
|
M[ [ 1 ] [ 2 ] [ 3 ] ]M
|
|
|
|
] [
|
|
|
|
{ 1 2 3 } <col-vector>
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
[
|
|
|
|
M[ [ 1 0 0 ]
|
|
|
|
[ 0 1 0 ]
|
|
|
|
[ 0 0 1 ] ]M
|
|
|
|
] [
|
|
|
|
3 <identity-matrix>
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
[
|
|
|
|
M[ [ 1 0 4 ]
|
|
|
|
[ 0 7 0 ]
|
|
|
|
[ 6 0 3 ] ]M
|
|
|
|
] [
|
|
|
|
M[ [ 1 0 0 ]
|
|
|
|
[ 0 2 0 ]
|
|
|
|
[ 0 0 3 ] ]M
|
|
|
|
|
|
|
|
M[ [ 0 0 4 ]
|
|
|
|
[ 0 5 0 ]
|
|
|
|
[ 6 0 0 ] ]M
|
|
|
|
|
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
|
|
|
|
] [
|
|
|
|
M[ [ 1 0 0 ]
|
|
|
|
[ 0 2 0 ]
|
|
|
|
[ 0 0 3 ] ]M
|
|
|
|
|
|
|
|
M[ [ 0 0 -4 ]
|
|
|
|
[ 0 -5 0 ]
|
|
|
|
[ -6 0 0 ] ]M
|
|
|
|
|
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
|
|
|
|
|
|
|
|
[
|
2005-05-03 04:40:13 -04:00
|
|
|
M[ [ 6 ] ]M
|
|
|
|
] [
|
|
|
|
M[ [ 3 ] ]M M[ [ 2 ] ]M m.
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
[
|
|
|
|
M[ [ 11 ] ]M
|
|
|
|
] [
|
|
|
|
M[ [ 1 3 ] ]M M[ [ 5 ] [ 2 ] ]M m.
|
|
|
|
] 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
|
|
|
|
|
|
|
|
{ 3 4 }
|
|
|
|
|
2005-05-03 04:40:13 -04:00
|
|
|
m.v
|
|
|
|
] unit-test
|
|
|
|
|
|
|
|
[
|
|
|
|
{ 4 3 }
|
|
|
|
] [
|
|
|
|
M[ [ 0 1 ]
|
|
|
|
[ 1 0 ] ]M
|
|
|
|
|
|
|
|
{ 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
|
|
|
|
|
2005-05-23 00:25:52 -04:00
|
|
|
[ M[ [ 1 2 ] [ 3 4 ] [ 5 6 ] ]M ]
|
|
|
|
[ M[ [ 1 2 ] [ 3 4 ] [ 5 6 ] ]M transpose transpose ]
|
|
|
|
unit-test
|
|
|
|
|
|
|
|
[ M[ [ 1 3 5 ] [ 2 4 6 ] ]M ]
|
|
|
|
[ M[ [ 1 3 5 ] [ 2 4 6 ] ]M transpose transpose ]
|
|
|
|
unit-test
|
|
|
|
|
2005-05-22 22:08:46 -04:00
|
|
|
[ M[ [ 1 3 5 ] [ 2 4 6 ] ]M ]
|
|
|
|
[ M[ [ 1 2 ] [ 3 4 ] [ 5 6 ] ]M transpose ]
|
|
|
|
unit-test
|
2005-05-23 00:25:52 -04:00
|
|
|
|
|
|
|
[
|
|
|
|
M[ [ 28 ] ]M
|
|
|
|
] [
|
|
|
|
M[ [ 2 4 6 ] ]M
|
|
|
|
|
|
|
|
M[ [ 1 ]
|
|
|
|
[ 2 ]
|
|
|
|
[ 3 ] ]M
|
|
|
|
|
|
|
|
m.
|
|
|
|
] unit-test
|
2005-05-28 20:52:23 -04:00
|
|
|
|
|
|
|
[
|
|
|
|
[ [ 7 ] [ 4 8 ] [ 1 5 9 ] [ 2 6 ] [ 3 ] ]
|
|
|
|
] [
|
|
|
|
M[ [ 1 2 3 ] [ 4 5 6 ] [ 7 8 9 ] ]M
|
|
|
|
5 [ 2 - swap <diagonal> ] project-with [ >list ] map
|
|
|
|
] unit-test
|