samer@0: ; Test noisy linear mixtures samer@0: ; first version using NoisyLinearSource samer@0: samer@0: (put "mix.p" 0.08) samer@0: (put "mix.gauss.mean" 0) samer@0: (put "mix.gauss.variance" 0.1) samer@0: (put "noise.mean" 0) samer@0: (put "noise.variance" 0.05) samer@0: samer@0: (node "v1" samer@0: (addtask (NoisyLinearSource. 8 16)) samer@0: samer@0: (load-generator (viewable "noise")) samer@0: (load-generator (viewable "source")) samer@0: ) samer@0: samer@0: ; scheme version samer@0: samer@0: (node "v2" samer@0: (let* samer@0: ( (n 8) samer@0: (m 16) samer@0: (x (VVector. "x" n)) samer@0: (A (Matrix. "A" m n)) samer@0: (e (VVector. "e" m)) samer@0: (y (VVector. "y" m)) samer@0: (g1 (VGenerator. "source")) samer@0: (g2 (VGenerator. "noise")) samer@0: ) samer@0: (addtasks samer@0: (GenerateVector. x g1) samer@0: (GenerateVector. e g2) samer@0: (MatrixTimesVector. y A x) samer@0: (VectorPlusEqualsVector. y e) samer@0: (Ops.update x) samer@0: (Ops.update y) samer@0: (Ops.update e) samer@0: ) samer@0: ) samer@0: (load-generator (viewable "noise")) samer@0: (load-generator (viewable "source")) samer@0: ) samer@0: