summaryrefslogtreecommitdiff
path: root/lizfcm.a
blob: cb3411787bc26666d48c980786295cea622231f0 (plain)
ofshex dumpascii
0000 21 3c 61 72 63 68 3e 0a 23 31 2f 32 30 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 37 30 36 !<arch>.#1/20...........16969706
0020 39 33 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 32 38 20 20 20 20 20 20 93..501...20....100644..28......
0040 20 20 60 0a 5f 5f 2e 53 59 4d 44 45 46 20 53 4f 52 54 45 44 00 00 00 00 00 00 00 00 00 00 00 00 ..`.__.SYMDEF.SORTED............
0060 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 30 38 39 39 31 20 20 35 30 31 20 #1/28...........1696908991..501.
0080 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 36 39 32 20 20 20 20 20 20 20 60 0a 61 70 70 72 ..20....100644..692.......`.appr
00a0 6f 78 2c 64 65 72 69 76 61 74 69 76 65 2e 6c 69 73 70 00 00 00 00 00 00 28 69 6e 2d 70 61 63 6b ox,derivative.lisp......(in-pack
00c0 61 67 65 20 3a 6c 69 7a 66 63 6d 2e 61 70 70 72 6f 78 29 0a 0a 28 64 65 66 75 6e 20 63 65 6e 74 age.:lizfcm.approx)..(defun.cent
00e0 72 61 6c 2d 64 65 72 69 76 61 74 69 76 65 2d 61 74 20 28 66 20 78 20 26 6f 70 74 69 6f 6e 61 6c ral-derivative-at.(f.x.&optional
0100 20 28 64 65 6c 74 61 20 30 2e 30 31 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 78 32 20 28 2b 20 78 .(delta.0.01))...(let*.((x2.(+.x
0120 20 64 65 6c 74 61 29 29 0a 20 20 20 20 20 20 20 20 20 28 78 31 20 28 2d 20 78 20 64 65 6c 74 61 .delta))..........(x1.(-.x.delta
0140 29 29 0a 20 20 20 20 20 20 20 20 20 28 79 32 20 28 61 70 70 6c 79 20 66 20 28 6c 69 73 74 20 78 ))..........(y2.(apply.f.(list.x
0160 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 79 31 20 28 61 70 70 6c 79 20 66 20 28 6c 69 73 74 2)))..........(y1.(apply.f.(list
0180 20 78 31 29 29 29 29 0a 20 20 20 20 28 2f 20 28 2d 20 79 32 20 79 31 29 0a 20 20 20 20 20 20 20 .x1)))).....(/.(-.y2.y1)........
01a0 28 2d 20 78 32 20 78 31 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 6f 72 77 61 72 64 2d 64 65 72 (-.x2.x1))))..(defun.forward-der
01c0 69 76 61 74 69 76 65 2d 61 74 20 28 66 20 78 20 26 6f 70 74 69 6f 6e 61 6c 20 28 64 65 6c 74 61 ivative-at.(f.x.&optional.(delta
01e0 20 30 2e 30 31 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 78 32 20 28 2b 20 78 20 64 65 6c 74 61 29 .0.01))...(let*.((x2.(+.x.delta)
0200 29 0a 20 20 20 20 20 20 20 20 20 28 78 31 20 78 29 0a 20 20 20 20 20 20 20 20 20 28 79 32 20 28 )..........(x1.x)..........(y2.(
0220 61 70 70 6c 79 20 66 20 28 6c 69 73 74 20 78 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 79 31 apply.f.(list.x2)))..........(y1
0240 20 28 61 70 70 6c 79 20 66 20 28 6c 69 73 74 20 78 31 29 29 29 29 0a 20 20 20 20 28 2f 20 28 2d .(apply.f.(list.x1)))).....(/.(-
0260 20 79 32 20 79 31 29 0a 20 20 20 20 20 20 20 28 2d 20 78 32 20 78 31 29 29 29 29 0a 0a 28 64 65 .y2.y1)........(-.x2.x1))))..(de
0280 66 75 6e 20 62 61 63 6b 77 61 72 64 2d 64 65 72 69 76 61 74 69 76 65 2d 61 74 20 28 66 20 78 20 fun.backward-derivative-at.(f.x.
02a0 26 6f 70 74 69 6f 6e 61 6c 20 28 64 65 6c 74 61 20 30 2e 30 31 29 29 0a 20 20 28 6c 65 74 2a 20 &optional.(delta.0.01))...(let*.
02c0 28 28 78 32 20 78 29 0a 20 20 20 20 20 20 20 20 20 28 78 31 20 28 2d 20 78 20 64 65 6c 74 61 29 ((x2.x)..........(x1.(-.x.delta)
02e0 29 0a 20 20 20 20 20 20 20 20 20 28 79 32 20 28 61 70 70 6c 79 20 66 20 28 6c 69 73 74 20 78 32 )..........(y2.(apply.f.(list.x2
0300 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 79 31 20 28 61 70 70 6c 79 20 66 20 28 6c 69 73 74 20 )))..........(y1.(apply.f.(list.
0320 78 31 29 29 29 29 0a 20 20 20 20 28 2f 20 28 2d 20 79 32 20 79 31 29 0a 20 20 20 20 20 20 20 28 x1)))).....(/.(-.y2.y1)........(
0340 2d 20 78 32 20 78 31 29 29 29 29 0a 0a 0a 0a 0a 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 -.x2.x1)))).....#1/28...........
0360 31 36 39 36 39 30 38 31 32 33 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 1696908123..501...20....100644..
0380 33 32 34 20 20 20 20 20 20 20 60 0a 61 70 70 72 6f 78 2c 6d 61 63 65 70 73 2e 6c 69 73 70 00 00 324.......`.approx,maceps.lisp..
03a0 00 00 00 00 00 00 00 00 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 6c 69 7a 66 63 6d 2e 61 70 70 72 ........(in-package.:lizfcm.appr
03c0 6f 78 29 0a 0a 28 64 65 66 75 6e 20 63 6f 6d 70 75 74 65 2d 6d 61 63 65 70 73 20 28 66 20 61 20 ox)..(defun.compute-maceps.(f.a.
03e0 69 6e 69 74 29 0a 20 20 28 6c 65 74 20 28 28 68 20 69 6e 69 74 29 0a 20 20 20 20 20 20 20 20 28 init)...(let.((h.init).........(
0400 65 72 72 20 69 6e 69 74 29 29 0a 20 20 20 20 28 6c 6f 6f 70 20 63 6f 6c 6c 65 63 74 20 28 6c 69 err.init)).....(loop.collect.(li
0420 73 74 20 61 20 68 20 65 72 72 29 0a 20 20 20 20 20 20 20 20 20 20 64 6f 0a 20 20 20 20 20 20 20 st.a.h.err)...........do........
0440 20 20 20 28 73 65 74 66 20 68 20 28 2f 20 68 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(setf.h.(/.h.2)..............
0460 20 20 20 65 72 72 20 28 61 62 73 20 28 2d 20 28 66 75 6e 63 61 6c 6c 20 66 20 28 2b 20 61 20 68 ...err.(abs.(-.(funcall.f.(+.a.h
0480 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 )).............................(
04a0 66 75 6e 63 61 6c 6c 20 66 20 61 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 funcall.f.a))))...........while.
04c0 28 3e 20 65 72 72 20 30 29 29 29 29 0a 0a 0a 0a 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 (>.err.0))))....#1/28...........
04e0 31 36 39 36 39 30 38 39 39 39 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 1696908999..501...20....100644..
0500 32 32 38 20 20 20 20 20 20 20 60 0a 61 70 70 72 6f 78 2c 70 61 63 6b 61 67 65 2e 6c 69 73 70 00 228.......`.approx,package.lisp.
0520 00 00 00 00 00 00 00 00 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 63 6c 2d 75 73 65 72 29 0a 28 64 ........(in-package.:cl-user).(d
0540 65 66 70 61 63 6b 61 67 65 20 6c 69 7a 66 63 6d 2e 61 70 70 72 6f 78 0a 20 20 28 3a 75 73 65 20 efpackage.lizfcm.approx...(:use.
0560 3a 63 6c 29 0a 20 20 28 3a 65 78 70 6f 72 74 20 3a 63 65 6e 74 72 61 6c 2d 64 65 72 69 76 61 74 :cl)...(:export.:central-derivat
0580 69 76 65 2d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 3a 66 6f 72 77 61 72 64 2d 64 65 72 69 76 ive-at............:forward-deriv
05a0 61 74 69 76 65 2d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 3a 62 61 63 6b 77 61 72 64 2d 64 65 ative-at............:backward-de
05c0 72 69 76 61 74 69 76 65 2d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 75 74 65 2d rivative-at............:compute-
05e0 6d 61 63 65 70 73 29 29 0a 0a 0a 0a 0a 0a 0a 0a 23 31 2f 32 30 20 20 20 20 20 20 20 20 20 20 20 maceps))........#1/20...........
0600 31 36 39 36 39 36 39 32 37 32 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 1696969272..501...20....100644..
0620 31 35 35 36 20 20 20 20 20 20 60 0a 6c 69 7a 66 63 6d 2e 61 73 64 00 00 00 00 00 00 00 00 00 00 1556......`.lizfcm.asd..........
0640 28 61 73 64 66 3a 64 65 66 73 79 73 74 65 6d 20 22 6c 69 7a 66 63 6d 22 0a 20 20 20 20 20 20 20 (asdf:defsystem."lizfcm"........
0660 20 20 20 20 20 20 20 20 20 3a 76 65 72 73 69 6f 6e 20 22 30 2e 31 2e 30 22 0a 20 20 20 20 20 20 .........:version."0.1.0".......
0680 20 20 20 20 20 20 20 20 20 20 3a 61 75 74 68 6f 72 20 22 45 6c 69 7a 61 62 65 74 68 20 48 75 6e ..........:author."Elizabeth.Hun
06a0 74 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 63 65 6e 73 65 20 22 4d 49 54 t".................:license."MIT
06c0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 6f 6e 65 6e 74 73 0a 20 20 ".................:components...
06e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3a 66 69 6c 65 20 22 75 74 69 6c 73 2c 77 69 74 ..............((:file."utils,wit
0700 68 69 6e 2d 72 61 6e 67 65 22 20 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 28 22 75 74 69 6c 73 2c 70 hin-range".:depends-on.("utils,p
0720 61 63 6b 61 67 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 66 69 6c ackage"))..................(:fil
0740 65 20 22 75 74 69 6c 73 2c 74 61 62 6c 65 22 20 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 28 22 75 74 e."utils,table".:depends-on.("ut
0760 69 6c 73 2c 70 61 63 6b 61 67 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ils,package"))..................
0780 28 3a 66 69 6c 65 20 22 75 74 69 6c 73 2c 70 61 63 6b 61 67 65 22 29 0a 20 20 20 20 20 20 20 20 (:file."utils,package").........
07a0 20 20 20 20 20 20 20 20 20 28 3a 66 69 6c 65 20 22 61 70 70 72 6f 78 2c 6d 61 63 65 70 73 22 20 .........(:file."approx,maceps".
07c0 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 28 22 61 70 70 72 6f 78 2c 70 61 63 6b 61 67 65 22 29 29 0a :depends-on.("approx,package")).
07e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 66 69 6c 65 20 22 61 70 70 72 6f 78 2c .................(:file."approx,
0800 64 65 72 69 76 61 74 69 76 65 22 20 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 28 22 61 70 70 72 6f 78 derivative".:depends-on.("approx
0820 2c 70 61 63 6b 61 67 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 66 ,package"))..................(:f
0840 69 6c 65 20 22 61 70 70 72 6f 78 2c 70 61 63 6b 61 67 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 ile."approx,package")...........
0860 20 20 20 20 20 20 20 28 3a 66 69 6c 65 20 22 76 65 63 74 6f 72 2c 6c 65 61 73 74 2d 73 71 75 61 .......(:file."vector,least-squa
0880 72 65 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 66 69 6c 65 20 22 76 res")..................(:file."v
08a0 65 63 74 6f 72 2c 64 69 73 74 61 6e 63 65 22 20 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 28 22 76 65 ector,distance".:depends-on.("ve
08c0 63 74 6f 72 2c 6e 6f 72 6d 22 20 22 76 65 63 74 6f 72 2c 70 61 63 6b 61 67 65 22 29 29 0a 20 20 ctor,norm"."vector,package"))...
08e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 66 69 6c 65 20 22 76 65 63 74 6f 72 2c 6e 6f ...............(:file."vector,no
0900 72 6d 22 20 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 28 22 76 65 63 74 6f 72 2c 70 61 63 6b 61 67 65 rm".:depends-on.("vector,package
0920 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 66 69 6c 65 20 22 76 65 63 "))..................(:file."vec
0940 74 6f 72 2c 70 61 63 6b 61 67 65 22 29 29 29 0a 0a 0a 28 61 73 64 66 3a 64 65 66 73 79 73 74 65 tor,package")))...(asdf:defsyste
0960 6d 20 22 6c 69 7a 66 63 6d 2f 74 65 73 74 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 m."lizfcm/tests"................
0980 20 3a 61 75 74 68 6f 72 20 22 45 6c 69 7a 61 62 65 74 68 20 48 75 6e 74 22 0a 20 20 20 20 20 20 .:author."Elizabeth.Hunt".......
09a0 20 20 20 20 20 20 20 20 20 20 3a 6c 69 63 65 6e 73 65 20 22 4d 49 54 22 0a 20 20 20 20 20 20 20 ..........:license."MIT"........
09c0 20 20 20 20 20 20 20 20 20 3a 64 65 70 65 6e 64 73 2d 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 .........:depends-on............
09e0 20 20 20 20 20 28 3a 66 69 76 65 61 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....(:fiveam...................
0a00 3a 6c 69 7a 66 63 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 70 6f 6e :lizfcm).................:compon
0a20 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 3a 66 69 6c 65 20 22 74 65 ents.................((:file."te
0a40 73 74 73 2c 74 61 62 6c 65 22 20 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 28 22 74 65 73 74 73 2c 73 sts,table".:depends-on.("tests,s
0a60 75 69 74 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 66 69 6c 65 20 uite"))..................(:file.
0a80 22 74 65 73 74 73 2c 6d 61 63 65 70 73 22 20 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 28 22 74 65 73 "tests,maceps".:depends-on.("tes
0aa0 74 73 2c 73 75 69 74 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 66 ts,suite"))..................(:f
0ac0 69 6c 65 20 22 74 65 73 74 73 2c 61 70 70 72 6f 78 22 20 3a 64 65 70 65 6e 64 73 2d 6f 6e 20 28 ile."tests,approx".:depends-on.(
0ae0 22 74 65 73 74 73 2c 73 75 69 74 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 "tests,suite")).................
0b00 20 28 3a 66 69 6c 65 20 22 74 65 73 74 73 2c 76 65 63 74 6f 72 22 20 3a 64 65 70 65 6e 64 73 2d .(:file."tests,vector".:depends-
0b20 6f 6e 20 28 22 74 65 73 74 73 2c 73 75 69 74 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 on.("tests,suite")).............
0b40 20 20 20 20 20 28 3a 66 69 6c 65 20 22 74 65 73 74 73 2c 73 75 69 74 65 22 29 29 0a 20 20 20 20 .....(:file."tests,suite")).....
0b60 20 20 20 20 20 20 20 20 20 20 20 20 3a 70 65 72 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 ............:perform............
0b80 20 20 20 20 20 28 61 73 64 66 3a 74 65 73 74 2d 6f 70 20 28 6f 20 63 29 20 28 75 69 6f 70 3a 73 .....(asdf:test-op.(o.c).(uiop:s
0ba0 79 6d 62 6f 6c 2d 63 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ymbol-call......................
0bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 69 76 65 61 6d 20 3a 72 75 6e 21 0a 20 .................:fiveam.:run!..
0be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
0c00 20 20 20 20 20 28 75 69 6f 70 3a 66 69 6e 64 2d 73 79 6d 62 6f 6c 2a 20 3a 6c 69 7a 66 63 6d 2d .....(uiop:find-symbol*.:lizfcm-
0c20 74 65 73 74 2d 73 75 69 74 65 20 3a 6c 69 7a 66 63 6d 2f 74 65 73 74 73 29 29 29 29 0a 0a 0a 0a test-suite.:lizfcm/tests))))....
0c40 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 30 38 39 38 36 20 20 35 30 31 20 #1/28...........1696908986..501.
0c60 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 31 33 39 36 20 20 20 20 20 20 60 0a 74 65 73 74 ..20....100644..1396......`.test
0c80 73 2c 61 70 70 72 6f 78 2e 6c 69 73 70 00 00 00 00 00 00 00 00 00 00 00 28 64 65 66 70 61 63 6b s,approx.lisp...........(defpack
0ca0 61 67 65 20 6c 69 7a 66 63 6d 2f 74 65 73 74 73 2e 61 70 70 72 6f 78 0a 20 20 28 3a 75 73 65 20 age.lizfcm/tests.approx...(:use.
0cc0 3a 63 6c 0a 20 20 20 20 20 20 20 20 3a 66 69 76 65 61 6d 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a :cl.........:fiveam.........:liz
0ce0 66 63 6d 2e 61 70 70 72 6f 78 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d 2e 75 74 69 6c 73 fcm.approx.........:lizfcm.utils
0d00 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d 2f 74 65 73 74 73 29 0a 20 20 28 3a 65 78 70 6f .........:lizfcm/tests)...(:expo
0d20 72 74 20 3a 61 70 70 72 6f 78 2d 73 75 69 74 65 29 29 0a 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a rt.:approx-suite)).(in-package.:
0d40 6c 69 7a 66 63 6d 2f 74 65 73 74 73 2e 61 70 70 72 6f 78 29 0a 0a 28 64 65 66 2d 73 75 69 74 65 lizfcm/tests.approx)..(def-suite
0d60 20 61 70 70 72 6f 78 2d 73 75 69 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 20 6c 69 7a .approx-suite............:in.liz
0d80 66 63 6d 2d 74 65 73 74 2d 73 75 69 74 65 29 0a 28 69 6e 2d 73 75 69 74 65 20 61 70 70 72 6f 78 fcm-test-suite).(in-suite.approx
0da0 2d 73 75 69 74 65 29 0a 0a 28 74 65 73 74 20 63 65 6e 74 72 61 6c 2d 64 65 72 69 76 61 74 69 76 -suite)..(test.central-derivativ
0dc0 65 2d 61 74 0a 20 20 20 20 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 22 64 65 72 69 76 61 74 e-at.......:description."derivat
0de0 69 76 65 20 61 74 20 69 73 20 77 69 74 68 69 6e 20 62 6f 75 6e 64 73 22 0a 20 20 20 20 20 20 28 ive.at.is.within.bounds".......(
0e00 6c 65 74 20 28 28 66 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2a 20 78 20 78 29 29 29 0a 20 20 let.((f.(lambda.(x).(*.x.x)))...
0e20 20 20 20 20 20 20 20 20 20 20 28 78 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 63 63 ..........(x.2).............(acc
0e40 65 70 74 65 64 2d 64 65 6c 74 61 20 30 2e 30 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 epted-delta.0.02).............(f
0e60 2d 70 72 69 6d 65 2d 61 74 2d 78 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 74 -prime-at-x.4).............(delt
0e80 61 20 30 2e 30 31 29 29 0a 20 20 20 20 20 20 20 20 28 69 73 20 28 77 69 74 68 69 6e 2d 72 61 6e a.0.01)).........(is.(within-ran
0ea0 67 65 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 65 6e 74 72 61 6c 2d 64 65 72 69 ge-p...............(central-deri
0ec0 76 61 74 69 76 65 2d 61 74 20 66 20 78 20 64 65 6c 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 vative-at.f.x.delta)............
0ee0 20 20 20 66 2d 70 72 69 6d 65 2d 61 74 2d 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 ...f-prime-at-x...............ac
0f00 63 65 70 74 65 64 2d 64 65 6c 74 61 29 29 29 29 0a 0a 28 74 65 73 74 20 66 77 64 2d 64 65 72 69 cepted-delta))))..(test.fwd-deri
0f20 76 61 74 69 76 65 2d 61 74 0a 20 20 20 20 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 22 66 6f vative-at.......:description."fo
0f40 72 77 61 72 64 20 64 65 72 69 76 61 74 69 76 65 20 61 74 20 69 73 20 77 69 74 68 69 6e 20 62 6f rward.derivative.at.is.within.bo
0f60 75 6e 64 73 22 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 20 28 6c 61 6d 62 64 61 20 28 78 29 unds".......(let.((f.(lambda.(x)
0f80 20 28 2a 20 78 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 78 20 32 29 0a 20 20 20 .(*.x.x))).............(x.2)....
0fa0 20 20 20 20 20 20 20 20 20 28 61 63 63 65 70 74 65 64 2d 64 65 6c 74 61 20 30 2e 30 32 29 0a 20 .........(accepted-delta.0.02)..
0fc0 20 20 20 20 20 20 20 20 20 20 20 28 66 2d 70 72 69 6d 65 2d 61 74 2d 78 20 34 29 0a 20 20 20 20 ...........(f-prime-at-x.4).....
0fe0 20 20 20 20 20 20 20 20 28 64 65 6c 74 61 20 30 2e 30 31 29 29 0a 20 20 20 20 20 20 20 20 28 69 ........(delta.0.01)).........(i
1000 73 20 28 77 69 74 68 69 6e 2d 72 61 6e 67 65 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.(within-range-p...............
1020 28 66 6f 72 77 61 72 64 2d 64 65 72 69 76 61 74 69 76 65 2d 61 74 20 66 20 78 20 64 65 6c 74 61 (forward-derivative-at.f.x.delta
1040 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 2d 70 72 69 6d 65 2d 61 74 2d 78 0a 20 20 20 )...............f-prime-at-x....
1060 20 20 20 20 20 20 20 20 20 20 20 61 63 63 65 70 74 65 64 2d 64 65 6c 74 61 29 29 29 29 0a 0a 28 ...........accepted-delta))))..(
1080 74 65 73 74 20 62 77 64 2d 64 65 72 69 76 61 74 69 76 65 2d 61 74 0a 20 20 20 20 20 20 3a 64 65 test.bwd-derivative-at.......:de
10a0 73 63 72 69 70 74 69 6f 6e 20 22 62 61 63 6b 77 61 72 64 20 64 65 72 69 76 61 74 69 76 65 20 61 scription."backward.derivative.a
10c0 74 20 69 73 20 77 69 74 68 69 6e 20 62 6f 75 6e 64 73 22 0a 20 20 20 20 20 20 28 6c 65 74 20 28 t.is.within.bounds".......(let.(
10e0 28 66 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2a 20 78 20 78 29 29 29 0a 20 20 20 20 20 20 20 (f.(lambda.(x).(*.x.x)))........
1100 20 20 20 20 20 28 78 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 63 63 65 70 74 65 64 .....(x.2).............(accepted
1120 2d 64 65 6c 74 61 20 30 2e 30 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 2d 70 72 69 6d -delta.0.02).............(f-prim
1140 65 2d 61 74 2d 78 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 74 61 20 30 2e 30 e-at-x.4).............(delta.0.0
1160 31 29 29 0a 20 20 20 20 20 20 20 20 28 69 73 20 28 77 69 74 68 69 6e 2d 72 61 6e 67 65 2d 70 0a 1)).........(is.(within-range-p.
1180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 64 65 72 69 76 61 74 69 ..............(backward-derivati
11a0 76 65 2d 61 74 20 66 20 78 20 64 65 6c 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 ve-at.f.x.delta)...............f
11c0 2d 70 72 69 6d 65 2d 61 74 2d 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 63 65 70 74 -prime-at-x...............accept
11e0 65 64 2d 64 65 6c 74 61 29 29 29 29 0a 0a 0a 0a 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 ed-delta))))....#1/28...........
1200 31 36 39 36 39 30 38 31 32 34 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 1696908124..501...20....100644..
1220 31 30 39 32 20 20 20 20 20 20 60 0a 74 65 73 74 73 2c 6d 61 63 65 70 73 2e 6c 69 73 70 00 00 00 1092......`.tests,maceps.lisp...
1240 00 00 00 00 00 00 00 00 28 64 65 66 70 61 63 6b 61 67 65 20 6c 69 7a 66 63 6d 2f 74 65 73 74 73 ........(defpackage.lizfcm/tests
1260 2e 6d 61 63 65 70 73 0a 20 20 28 3a 75 73 65 20 3a 63 6c 0a 20 20 20 20 20 20 20 20 3a 66 69 76 .maceps...(:use.:cl.........:fiv
1280 65 61 6d 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d 2e 61 70 70 72 6f 78 0a 20 20 20 20 20 eam.........:lizfcm.approx......
12a0 20 20 20 3a 6c 69 7a 66 63 6d 2e 75 74 69 6c 73 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d ...:lizfcm.utils.........:lizfcm
12c0 2f 74 65 73 74 73 29 0a 20 20 28 3a 65 78 70 6f 72 74 20 3a 61 70 70 72 6f 78 2d 73 75 69 74 65 /tests)...(:export.:approx-suite
12e0 29 29 0a 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 6c 69 7a 66 63 6d 2f 74 65 73 74 73 2e 6d 61 63 )).(in-package.:lizfcm/tests.mac
1300 65 70 73 29 0a 0a 28 64 65 66 2d 73 75 69 74 65 20 6d 61 63 65 70 73 2d 73 75 69 74 65 0a 20 20 eps)..(def-suite.maceps-suite...
1320 20 20 20 20 20 20 20 20 20 3a 69 6e 20 6c 69 7a 66 63 6d 2d 74 65 73 74 2d 73 75 69 74 65 29 0a .........:in.lizfcm-test-suite).
1340 28 69 6e 2d 73 75 69 74 65 20 6d 61 63 65 70 73 2d 73 75 69 74 65 29 0a 0a 28 74 65 73 74 20 6d (in-suite.maceps-suite)..(test.m
1360 61 63 65 70 73 0a 20 20 20 20 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 22 64 6f 75 62 6c 65 aceps.......:description."double
1380 20 70 72 65 63 69 73 69 6f 6e 20 70 72 6f 76 69 64 65 73 20 70 72 65 63 69 73 69 6f 6e 20 61 62 .precision.provides.precision.ab
13a0 6f 75 74 20 28 6d 61 63 20 65 70 73 20 6f 66 20 73 69 6e 67 6c 65 20 70 72 65 63 69 73 69 6f 6e out.(mac.eps.of.single.precision
13c0 29 20 73 71 75 61 72 65 64 22 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6d 61 63 65 70 73 2d ).squared".......(let*.((maceps-
13e0 63 6f 6d 70 75 74 61 74 69 6f 6e 2d 64 6f 75 62 6c 65 20 28 63 6f 6d 70 75 74 65 2d 6d 61 63 65 computation-double.(compute-mace
1400 70 73 20 28 6c 61 6d 62 64 61 20 28 78 29 20 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ps.(lambda.(x).x)...............
1420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1440 20 20 20 20 20 20 20 20 20 20 31 2e 30 64 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........1.0d0.................
1460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1480 20 20 20 20 20 20 20 20 31 2e 30 64 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 ........1.0d0))..............(ma
14a0 63 65 70 73 2d 63 6f 6d 70 75 74 61 74 69 6f 6e 2d 73 69 6e 67 6c 65 20 28 63 6f 6d 70 75 74 65 ceps-computation-single.(compute
14c0 2d 6d 61 63 65 70 73 20 28 6c 61 6d 62 64 61 20 28 78 29 20 78 29 0a 20 20 20 20 20 20 20 20 20 -maceps.(lambda.(x).x)..........
14e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 2e 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............1.0..............
1520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1540 20 20 20 20 20 20 20 20 20 20 20 31 2e 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c ...........1.0))..............(l
1560 61 73 74 2d 64 6f 75 62 6c 65 2d 68 20 28 63 61 64 61 72 20 28 6c 61 73 74 20 6d 61 63 65 70 73 ast-double-h.(cadar.(last.maceps
1580 2d 63 6f 6d 70 75 74 61 74 69 6f 6e 2d 64 6f 75 62 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 -computation-double)))..........
15a0 20 20 20 20 28 6c 61 73 74 2d 73 69 6e 67 6c 65 2d 68 20 28 63 61 64 61 72 20 28 6c 61 73 74 20 ....(last-single-h.(cadar.(last.
15c0 6d 61 63 65 70 73 2d 63 6f 6d 70 75 74 61 74 69 6f 6e 2d 73 69 6e 67 6c 65 29 29 29 29 0a 20 20 maceps-computation-single))))...
15e0 20 20 20 20 20 20 28 69 73 20 28 77 69 74 68 69 6e 2d 72 61 6e 67 65 2d 70 0a 20 20 20 20 20 20 ......(is.(within-range-p.......
1600 20 20 20 20 20 20 20 20 28 2d 20 6c 61 73 74 2d 64 6f 75 62 6c 65 2d 68 20 28 2a 20 6c 61 73 74 ........(-.last-double-h.(*.last
1620 2d 73 69 6e 67 6c 65 2d 68 20 6c 61 73 74 2d 73 69 6e 67 6c 65 2d 68 29 29 0a 20 20 20 20 20 20 -single-h.last-single-h)).......
1640 20 20 20 20 20 20 20 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 73 74 2d 73 69 6e ........0...............last-sin
1660 67 6c 65 2d 68 29 29 29 29 0a 0a 0a 0a 0a 0a 0a 23 31 2f 32 30 20 20 20 20 20 20 20 20 20 20 20 gle-h)))).......#1/20...........
1680 31 36 39 36 39 30 38 31 32 34 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 1696908124..501...20....100644..
16a0 32 36 30 20 20 20 20 20 20 20 60 0a 74 65 73 74 73 2c 73 75 69 74 65 2e 6c 69 73 70 00 00 00 00 260.......`.tests,suite.lisp....
16c0 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 63 6c 2d 75 73 65 72 29 0a 28 64 65 66 70 61 63 6b 61 67 (in-package.:cl-user).(defpackag
16e0 65 20 6c 69 7a 66 63 6d 2f 74 65 73 74 73 0a 20 20 28 3a 75 73 65 20 3a 63 6c 0a 20 20 20 20 20 e.lizfcm/tests...(:use.:cl......
1700 20 20 20 3a 66 69 76 65 61 6d 29 0a 20 20 28 3a 65 78 70 6f 72 74 20 3a 72 75 6e 21 0a 20 20 20 ...:fiveam)...(:export.:run!....
1720 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d 2d 74 65 73 74 2d 73 75 69 74 65 29 29 0a 28 69 6e ........:lizfcm-test-suite)).(in
1740 2d 70 61 63 6b 61 67 65 20 3a 6c 69 7a 66 63 6d 2f 74 65 73 74 73 29 0a 0a 28 64 65 66 2d 73 75 -package.:lizfcm/tests)..(def-su
1760 69 74 65 20 6c 69 7a 66 63 6d 2d 74 65 73 74 2d 73 75 69 74 65 0a 20 20 20 20 3a 64 65 73 63 72 ite.lizfcm-test-suite.....:descr
1780 69 70 74 69 6f 6e 20 22 54 68 65 20 75 6c 74 69 6d 61 74 65 20 70 61 72 65 6e 74 20 74 65 73 74 iption."The.ultimate.parent.test
17a0 20 73 75 69 74 65 22 29 0a 0a 0a 0a 0a 0a 0a 0a 23 31 2f 32 30 20 20 20 20 20 20 20 20 20 20 20 .suite")........#1/20...........
17c0 31 36 39 36 39 30 38 31 32 34 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 1696908124..501...20....100644..
17e0 39 39 36 20 20 20 20 20 20 20 60 0a 74 65 73 74 73 2c 74 61 62 6c 65 2e 6c 69 73 70 00 00 00 00 996.......`.tests,table.lisp....
1800 28 64 65 66 70 61 63 6b 61 67 65 20 6c 69 7a 66 63 6d 2f 74 65 73 74 73 2e 74 61 62 6c 65 0a 20 (defpackage.lizfcm/tests.table..
1820 20 28 3a 75 73 65 20 3a 63 6c 0a 20 20 20 20 20 20 20 20 3a 66 69 76 65 61 6d 0a 20 20 20 20 20 .(:use.:cl.........:fiveam......
1840 20 20 20 3a 6c 69 7a 66 63 6d 2e 75 74 69 6c 73 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d ...:lizfcm.utils.........:lizfcm
1860 2f 74 65 73 74 73 29 0a 20 20 28 3a 65 78 70 6f 72 74 20 3a 61 70 70 72 6f 78 2d 73 75 69 74 65 /tests)...(:export.:approx-suite
1880 29 29 0a 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 6c 69 7a 66 63 6d 2f 74 65 73 74 73 2e 74 61 62 )).(in-package.:lizfcm/tests.tab
18a0 6c 65 29 0a 0a 28 64 65 66 2d 73 75 69 74 65 20 74 61 62 6c 65 2d 73 75 69 74 65 0a 20 20 20 20 le)..(def-suite.table-suite.....
18c0 20 20 20 20 20 20 20 3a 69 6e 20 6c 69 7a 66 63 6d 2d 74 65 73 74 2d 73 75 69 74 65 29 0a 28 69 .......:in.lizfcm-test-suite).(i
18e0 6e 2d 73 75 69 74 65 20 74 61 62 6c 65 2d 73 75 69 74 65 29 0a 0a 28 64 65 66 75 6e 20 66 69 62 n-suite.table-suite)..(defun.fib
1900 20 28 6e 29 0a 20 20 28 63 6f 6e 64 20 28 28 3c 20 6e 20 32 29 20 6e 29 0a 20 20 20 20 20 20 20 .(n)...(cond.((<.n.2).n)........
1920 20 28 74 20 28 2b 20 28 66 69 62 20 28 2d 20 6e 20 31 29 29 20 28 66 69 62 20 28 2d 20 6e 20 32 .(t.(+.(fib.(-.n.1)).(fib.(-.n.2
1940 29 29 29 29 29 29 0a 0a 28 74 65 73 74 20 74 61 62 6c 65 2d 6f 66 2d 66 69 62 2d 76 61 6c 73 0a ))))))..(test.table-of-fib-vals.
1960 20 20 20 20 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 22 74 61 62 6c 65 20 67 65 6e 65 72 61 ......:description."table.genera
1980 74 65 73 20 63 6f 72 72 65 63 74 6c 79 22 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 68 65 61 tes.correctly".......(let*.((hea
19a0 64 65 72 73 20 27 28 22 6e 22 20 22 66 69 62 28 6e 29 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 ders.'("n"."fib(n)"))...........
19c0 20 20 20 28 6e 2d 76 61 6c 75 65 73 20 27 28 28 31 29 20 28 32 29 20 28 33 29 20 28 34 29 29 29 ...(n-values.'((1).(2).(3).(4)))
19e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 65 63 74 65 64 20 60 28 28 22 6e 22 20 22 ..............(expected.`(("n"."
1a00 66 69 62 28 6e 29 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 fib(n)")........................
1a20 20 20 28 31 20 2c 28 66 69 62 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(1.,(fib.1))..................
1a40 20 20 20 20 20 20 20 20 28 32 20 2c 28 66 69 62 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ........(2.,(fib.2))............
1a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 33 20 2c 28 66 69 62 20 33 29 29 0a 20 20 20 20 20 ..............(3.,(fib.3))......
1a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 34 20 2c 28 66 69 62 20 34 29 29 ....................(4.,(fib.4))
1aa0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 61 62 6c 65 64 20 28 6c 69 7a 66 63 6d 2e ))..............(tabled.(lizfcm.
1ac0 75 74 69 6c 73 3a 74 61 62 6c 65 20 28 3a 68 65 61 64 65 72 73 20 68 65 61 64 65 72 73 0a 20 20 utils:table.(:headers.headers...
1ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 6f 6d 61 69 6e 2d 6f 72 64 65 72 20 28 .................:domain-order.(
1b20 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n)..............................
1b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 6f 6d 61 69 6e 2d 76 61 ......................:domain-va
1b60 6c 75 65 73 20 6e 2d 76 61 6c 75 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lues.n-values)..................
1b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 62 20 6e 29 29 ........................(fib.n))
1ba0 29 29 0a 20 20 20 20 20 20 20 20 28 69 73 20 28 65 71 75 61 6c 20 65 78 70 65 63 74 65 64 20 74 )).........(is.(equal.expected.t
1bc0 61 62 6c 65 64 29 29 29 29 0a 0a 0a 0a 0a 0a 0a 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 abled)))).......#1/28...........
1be0 31 36 39 36 39 37 30 35 32 31 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 1696970521..501...20....100644..
1c00 31 33 35 36 20 20 20 20 20 20 60 0a 74 65 73 74 73 2c 76 65 63 74 6f 72 2e 6c 69 73 70 00 00 00 1356......`.tests,vector.lisp...
1c20 00 00 00 00 00 00 00 00 28 64 65 66 70 61 63 6b 61 67 65 20 6c 69 7a 66 63 6d 2f 74 65 73 74 73 ........(defpackage.lizfcm/tests
1c40 2e 76 65 63 74 6f 72 0a 20 20 28 3a 75 73 65 20 3a 63 6c 0a 20 20 20 20 20 20 20 20 3a 66 69 76 .vector...(:use.:cl.........:fiv
1c60 65 61 6d 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d 2e 76 65 63 74 6f 72 0a 20 20 20 20 20 eam.........:lizfcm.vector......
1c80 20 20 20 3a 6c 69 7a 66 63 6d 2e 75 74 69 6c 73 0a 20 20 20 20 20 20 20 20 3a 6c 69 7a 66 63 6d ...:lizfcm.utils.........:lizfcm
1ca0 2f 74 65 73 74 73 29 0a 20 20 28 3a 65 78 70 6f 72 74 20 3a 76 65 63 74 6f 72 2d 73 75 69 74 65 /tests)...(:export.:vector-suite
1cc0 29 29 0a 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 6c 69 7a 66 63 6d 2f 74 65 73 74 73 2e 76 65 63 )).(in-package.:lizfcm/tests.vec
1ce0 74 6f 72 29 0a 0a 28 64 65 66 2d 73 75 69 74 65 20 76 65 63 74 6f 72 2d 73 75 69 74 65 0a 20 20 tor)..(def-suite.vector-suite...
1d00 20 20 20 20 20 20 20 20 20 3a 69 6e 20 6c 69 7a 66 63 6d 2d 74 65 73 74 2d 73 75 69 74 65 29 0a .........:in.lizfcm-test-suite).
1d20 28 69 6e 2d 73 75 69 74 65 20 76 65 63 74 6f 72 2d 73 75 69 74 65 29 0a 0a 28 74 65 73 74 20 70 (in-suite.vector-suite)..(test.p
1d40 2d 6e 6f 72 6d 0a 20 20 20 20 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 22 63 6f 6d 70 75 74 -norm.......:description."comput
1d60 65 73 20 70 2d 6e 6f 72 6d 22 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 20 27 28 31 20 31 29 es.p-norm".......(let.((v.'(1.1)
1d80 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 28 73 71 72 74 20 32 29 29 0a ).............(length.(sqrt.2)).
1da0 20 20 20 20 20 20 20 20 20 20 20 20 28 32 2d 6e 6f 72 6d 20 28 70 2d 6e 6f 72 6d 20 32 29 29 29 ............(2-norm.(p-norm.2)))
1dc0 0a 20 20 20 20 20 20 20 20 28 69 73 20 28 77 69 74 68 69 6e 2d 72 61 6e 67 65 2d 70 20 28 66 75 .........(is.(within-range-p.(fu
1de0 6e 63 61 6c 6c 20 32 2d 6e 6f 72 6d 20 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ncall.2-norm.v).................
1e00 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ............length..............
1e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 2e 30 30 30 30 31 29 29 29 29 0a 0a 28 74 65 73 ...............0.00001))))..(tes
1e40 74 20 76 65 63 74 6f 72 2d 64 69 73 74 61 6e 63 65 0a 20 20 20 20 20 20 3a 64 65 73 63 72 69 70 t.vector-distance.......:descrip
1e60 74 69 6f 6e 20 22 63 6f 6d 70 75 74 65 73 20 64 69 73 74 61 6e 63 65 20 76 69 61 20 6e 6f 72 6d tion."computes.distance.via.norm
1e80 22 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 31 20 27 28 30 20 30 29 29 0a 20 20 20 20 20 20 ".......(let.((v1.'(0.0)).......
1ea0 20 20 20 20 20 20 28 76 32 20 27 28 31 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 ......(v2.'(1.1)).............(d
1ec0 69 73 74 20 28 73 71 72 74 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 73 20 28 77 69 74 68 ist.(sqrt.2))).........(is.(with
1ee0 69 6e 2d 72 61 6e 67 65 2d 70 20 28 64 69 73 74 61 6e 63 65 20 76 31 20 76 32 20 28 70 2d 6e 6f in-range-p.(distance.v1.v2.(p-no
1f00 72 6d 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rm.2))..........................
1f20 20 20 20 64 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...dist.........................
1f40 20 20 20 20 30 2e 30 30 30 30 31 29 29 29 29 0a 0a 28 74 65 73 74 20 6c 65 61 73 74 2d 73 71 75 ....0.00001))))..(test.least-squ
1f60 61 72 65 73 0a 20 20 20 20 20 20 3a 64 65 73 63 72 69 70 74 69 6f 6e 20 22 6c 65 61 73 74 20 73 ares.......:description."least.s
1f80 71 75 61 72 65 73 20 69 73 20 63 6f 72 72 65 63 74 20 65 6e 6f 75 67 68 22 0a 20 20 20 20 20 20 quares.is.correct.enough".......
1fa0 28 6c 65 74 20 28 28 78 20 27 28 30 20 31 20 32 20 33 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 (let.((x.'(0.1.2.3.4))..........
1fc0 20 20 20 28 79 20 27 28 31 20 32 20 33 20 34 20 35 29 29 29 0a 20 20 20 20 20 20 20 20 28 64 65 ...(y.'(1.2.3.4.5))).........(de
1fe0 73 74 72 75 63 74 75 72 69 6e 67 2d 62 69 6e 64 20 28 6d 20 62 29 20 28 6c 69 7a 66 63 6d 2e 76 structuring-bind.(m.b).(lizfcm.v
2000 65 63 74 6f 72 3a 6c 65 61 73 74 2d 73 71 75 61 72 65 73 2d 72 65 67 20 78 20 79 29 0a 20 20 20 ector:least-squares-reg.x.y)....
2020 20 20 20 20 20 20 20 28 69 73 20 28 77 69 74 68 69 6e 2d 72 61 6e 67 65 2d 70 20 6d 20 31 20 30 .......(is.(within-range-p.m.1.0
2040 2e 30 30 30 30 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 73 20 28 77 69 74 68 69 6e 2d 72 .00001))...........(is.(within-r
2060 61 6e 67 65 2d 70 20 62 20 31 20 30 2e 30 30 30 30 31 29 29 29 29 0a 20 20 20 20 20 20 28 6c 65 ange-p.b.1.0.00001)))).......(le
2080 74 20 28 28 78 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 29 0a 20 20 20 20 20 20 20 20 t.((x.'(1.2.3.4.5.6.7)).........
20a0 20 20 20 20 28 79 20 27 28 30 2e 35 20 33 20 32 20 33 2e 35 20 35 20 36 20 37 2e 35 29 29 29 0a ....(y.'(0.5.3.2.3.5.5.6.7.5))).
20c0 20 20 20 20 20 20 20 20 28 64 65 73 74 72 75 63 74 75 72 69 6e 67 2d 62 69 6e 64 20 28 6d 20 62 ........(destructuring-bind.(m.b
20e0 29 20 28 6c 69 7a 66 63 6d 2e 76 65 63 74 6f 72 3a 6c 65 61 73 74 2d 73 71 75 61 72 65 73 2d 72 ).(lizfcm.vector:least-squares-r
2100 65 67 20 78 20 79 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 73 20 28 77 69 74 68 69 6e 2d 72 61 eg.x.y)...........(is.(within-ra
2120 6e 67 65 2d 70 20 6d 20 31 20 30 2e 33 29 29 29 29 29 20 3b 3b 20 6a 75 73 74 20 61 20 67 75 65 nge-p.m.1.0.3))))).;;.just.a.gue
2140 73 74 69 6d 61 74 65 20 66 6f 72 20 62 65 73 74 20 66 69 74 0a 0a 0a 0a 23 31 2f 32 38 20 20 20 stimate.for.best.fit....#1/28...
2160 20 20 20 20 20 20 20 20 31 36 39 36 39 30 38 31 32 33 20 20 35 30 31 20 20 20 32 30 20 20 20 20 ........1696908123..501...20....
2180 31 30 30 36 34 34 20 20 31 34 30 20 20 20 20 20 20 20 60 0a 75 74 69 6c 73 2c 70 61 63 6b 61 67 100644..140.......`.utils,packag
21a0 65 2e 6c 69 73 70 00 00 00 00 00 00 00 00 00 00 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 63 6c 2d e.lisp..........(in-package.:cl-
21c0 75 73 65 72 29 0a 28 64 65 66 70 61 63 6b 61 67 65 20 6c 69 7a 66 63 6d 2e 75 74 69 6c 73 0a 20 user).(defpackage.lizfcm.utils..
21e0 20 28 3a 75 73 65 20 3a 63 6c 29 0a 20 20 28 3a 65 78 70 6f 72 74 20 3a 77 69 74 68 69 6e 2d 72 .(:use.:cl)...(:export.:within-r
2200 61 6e 67 65 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 3a 74 61 62 6c 65 29 29 0a 0a 0a 0a 0a 0a ange-p............:table))......
2220 23 31 2f 32 30 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 30 38 31 32 33 20 20 35 30 31 20 #1/20...........1696908123..501.
2240 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 33 36 34 20 20 20 20 20 20 20 60 0a 75 74 69 6c ..20....100644..364.......`.util
2260 73 2c 74 61 62 6c 65 2e 6c 69 73 70 00 00 00 00 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 6c 69 7a s,table.lisp....(in-package.:liz
2280 66 63 6d 2e 75 74 69 6c 73 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 74 61 62 6c 65 20 28 28 26 6b fcm.utils)..(defmacro.table.((&k
22a0 65 79 20 68 65 61 64 65 72 73 20 64 6f 6d 61 69 6e 2d 6f 72 64 65 72 20 64 6f 6d 61 69 6e 2d 76 ey.headers.domain-order.domain-v
22c0 61 6c 75 65 73 29 20 26 62 6f 64 79 20 62 6f 64 79 29 0a 20 20 60 28 63 6f 6e 73 0a 20 20 20 20 alues).&body.body)...`(cons.....
22e0 20 2c 68 65 61 64 65 72 73 0a 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 .,headers......(mapcar.(lambda.(
2300 74 75 70 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 73 74 72 75 63 74 75 tuple)................(destructu
2320 72 69 6e 67 2d 62 69 6e 64 20 2c 64 6f 6d 61 69 6e 2d 6f 72 64 65 72 20 74 75 70 6c 65 0a 20 20 ring-bind.,domain-order.tuple...
2340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 74 75 70 6c 65 0a 20 20 20 ...............(append.tuple....
2360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20 ......................(list.....
2380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 .......................,@body)))
23a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 64 6f 6d 61 69 6e 2d 76 61 6c 75 65 73 29 29 29 )..............,domain-values)))
23c0 0a 0a 0a 0a 0a 0a 0a 0a 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 30 38 31 ........#1/28...........16969081
23e0 32 34 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 31 37 32 20 20 20 20 20 24..501...20....100644..172.....
2400 20 20 60 0a 75 74 69 6c 73 2c 77 69 74 68 69 6e 2d 72 61 6e 67 65 2e 6c 69 73 70 00 00 00 00 00 ..`.utils,within-range.lisp.....
2420 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 6c 69 7a 66 63 6d 2e 75 74 69 6c 73 29 0a 0a 28 64 65 66 (in-package.:lizfcm.utils)..(def
2440 75 6e 20 77 69 74 68 69 6e 2d 72 61 6e 67 65 2d 70 20 28 78 20 74 72 75 65 2d 76 61 6c 75 65 20 un.within-range-p.(x.true-value.
2460 64 65 6c 74 61 29 0a 20 20 28 61 6e 64 20 28 3c 20 78 20 28 2b 20 74 72 75 65 2d 76 61 6c 75 65 delta)...(and.(<.x.(+.true-value
2480 20 64 65 6c 74 61 29 29 0a 20 20 20 20 20 20 20 28 3e 20 78 20 28 2d 20 74 72 75 65 2d 76 61 6c .delta))........(>.x.(-.true-val
24a0 75 65 20 64 65 6c 74 61 29 29 29 29 0a 0a 0a 0a 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 ue.delta))))....#1/28...........
24c0 31 36 39 36 39 30 38 31 32 34 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 1696908124..501...20....100644..
24e0 31 37 32 20 20 20 20 20 20 20 60 0a 76 65 63 74 6f 72 2c 64 69 73 74 61 6e 63 65 2e 6c 69 73 70 172.......`.vector,distance.lisp
2500 00 00 00 00 00 00 00 00 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 6c 69 7a 66 63 6d 2e 76 65 63 74 ........(in-package.:lizfcm.vect
2520 6f 72 29 0a 0a 28 64 65 66 75 6e 20 64 69 73 74 61 6e 63 65 20 28 76 31 20 76 32 20 6e 6f 72 6d or)..(defun.distance.(v1.v2.norm
2540 29 0a 20 20 28 6c 65 74 2a 20 28 28 64 20 28 6d 61 70 63 61 72 20 23 27 2d 20 76 31 20 76 32 29 )...(let*.((d.(mapcar.#'-.v1.v2)
2560 29 0a 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 28 66 75 6e 63 61 6c 6c 20 6e 6f 72 6d )..........(length.(funcall.norm
2580 20 64 29 29 29 0a 20 20 20 20 6c 65 6e 67 74 68 29 29 0a 0a 0a 0a 0a 0a 23 31 2f 32 30 20 20 20 .d))).....length))......#1/20...
25a0 20 20 20 20 20 20 20 20 31 36 39 36 39 30 38 31 32 34 20 20 35 30 31 20 20 20 32 30 20 20 20 20 ........1696908124..501...20....
25c0 31 30 30 36 34 34 20 20 33 30 30 20 20 20 20 20 20 20 60 0a 76 65 63 74 6f 72 2c 6e 6f 72 6d 2e 100644..300.......`.vector,norm.
25e0 6c 69 73 70 00 00 00 00 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 6c 69 7a 66 63 6d 2e 76 65 63 74 lisp....(in-package.:lizfcm.vect
2600 6f 72 29 0a 0a 28 64 65 66 75 6e 20 70 2d 6e 6f 72 6d 20 28 70 29 0a 20 20 28 6c 61 6d 62 64 61 or)..(defun.p-norm.(p)...(lambda
2620 20 28 76 29 0a 20 20 20 20 28 65 78 70 74 0a 20 20 20 20 20 20 28 72 65 64 75 63 65 20 23 27 2b .(v).....(expt.......(reduce.#'+
2640 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 ...............(mapcar.(lambda.(
2660 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 62 73 0a x).........................(abs.
2680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 74 20 ..........................(expt.
26a0 78 20 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 29 29 x.p))).......................v))
26c0 0a 20 20 20 20 20 20 28 2f 20 31 20 70 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 78 2d 6e 6f .......(/.1.p))))..(defun.max-no
26e0 72 6d 20 28 76 29 0a 20 20 28 72 65 64 75 63 65 20 23 27 6d 61 78 20 76 29 29 0a 0a 0a 0a 0a 0a rm.(v)...(reduce.#'max.v))......
2700 23 31 2f 32 38 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 36 32 32 36 38 20 20 35 30 31 20 #1/28...........1696962268..501.
2720 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 31 37 32 20 20 20 20 20 20 20 60 0a 76 65 63 74 ..20....100644..172.......`.vect
2740 6f 72 2c 70 61 63 6b 61 67 65 2e 6c 69 73 70 00 00 00 00 00 00 00 00 00 28 69 6e 2d 70 61 63 6b or,package.lisp.........(in-pack
2760 61 67 65 20 3a 63 6c 2d 75 73 65 72 29 0a 28 64 65 66 70 61 63 6b 61 67 65 20 6c 69 7a 66 63 6d age.:cl-user).(defpackage.lizfcm
2780 2e 76 65 63 74 6f 72 0a 20 20 28 3a 75 73 65 20 3a 63 6c 29 0a 20 20 28 3a 65 78 70 6f 72 74 0a .vector...(:use.:cl)...(:export.
27a0 20 20 20 20 3a 70 2d 6e 6f 72 6d 0a 20 20 20 20 3a 6d 61 78 2d 6e 6f 72 6d 0a 20 20 20 20 3a 64 ....:p-norm.....:max-norm.....:d
27c0 69 73 74 61 6e 63 65 0a 20 20 20 20 3a 6c 65 61 73 74 2d 73 71 75 61 72 65 73 2d 72 65 67 29 29 istance.....:least-squares-reg))
27e0 0a 0a 0a 0a 0a 0a 0a 0a 23 31 2f 32 30 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 37 30 36 ........#1/20...........16969706
2800 33 39 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 31 37 33 32 20 20 20 20 39..501...20....100644..1732....
2820 20 20 60 0a 6d 61 69 6e 2e 6c 69 73 70 00 00 00 00 00 00 00 00 00 00 00 28 6c 6f 61 64 20 22 6c ..`.main.lisp...........(load."l
2840 69 7a 66 63 6d 2e 61 73 64 22 29 0a 28 71 6c 3a 71 75 69 63 6b 6c 6f 61 64 20 3a 6c 69 7a 66 63 izfcm.asd").(ql:quickload.:lizfc
2860 6d 29 0a 0a 3b 3b 20 74 68 69 73 20 69 73 20 61 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 73 68 6f 77 m)..;;.this.is.a.collection.show
2880 63 61 73 69 6e 67 20 74 68 65 20 6c 69 62 72 61 72 79 20 64 65 76 65 6c 6f 70 65 64 20 66 6f 72 casing.the.library.developed.for
28a0 20 6d 61 74 68 34 36 31 30 2c 20 72 65 71 75 69 72 65 64 0a 3b 3b 20 66 72 6f 6d 20 74 68 65 20 .math4610,.required.;;.from.the.
28c0 53 68 61 72 65 64 20 4c 69 62 72 61 72 79 20 64 65 66 69 6e 69 74 69 6f 6e 0a 0a 28 64 65 66 75 Shared.Library.definition..(defu
28e0 6e 20 73 6d 61 63 65 70 73 20 28 29 0a 20 20 28 63 61 64 61 72 20 28 6c 61 73 74 20 28 6c 69 7a n.smaceps.()...(cadar.(last.(liz
2900 66 63 6d 2e 61 70 70 72 6f 78 3a 63 6f 6d 70 75 74 65 2d 6d 61 63 65 70 73 0a 20 20 20 20 20 20 fcm.approx:compute-maceps.......
2920 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 78 29 20 78 29 20 31 2e 30 20 31 2e ...........(lambda.(x).x).1.0.1.
2940 30 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6d 61 63 65 70 73 20 28 29 0a 20 20 28 63 61 64 61 0))))..(defun.dmaceps.()...(cada
2960 72 20 28 6c 61 73 74 20 28 6c 69 7a 66 63 6d 2e 61 70 70 72 6f 78 3a 63 6f 6d 70 75 74 65 2d 6d r.(last.(lizfcm.approx:compute-m
2980 61 63 65 70 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 aceps..................(lambda.(
29a0 78 29 20 78 29 20 31 2e 30 64 30 20 31 2e 30 64 30 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 6c 32 x).x).1.0d0.1.0d0))))..(defun.l2
29c0 2d 6e 6f 72 6d 20 28 76 29 0a 20 20 28 6c 65 74 20 28 28 32 2d 6e 6f 72 6d 20 28 6c 69 7a 66 63 -norm.(v)...(let.((2-norm.(lizfc
29e0 6d 2e 76 65 63 74 6f 72 3a 70 2d 6e 6f 72 6d 20 32 29 29 29 0a 20 20 20 20 28 66 75 6e 63 61 6c m.vector:p-norm.2))).....(funcal
2a00 6c 20 32 2d 6e 6f 72 6d 20 76 29 29 29 0a 0a 28 64 65 66 75 6e 20 6c 31 2d 6e 6f 72 6d 20 28 76 l.2-norm.v)))..(defun.l1-norm.(v
2a20 29 0a 20 20 28 6c 65 74 20 28 28 31 2d 6e 6f 72 6d 20 28 6c 69 7a 66 63 6d 2e 76 65 63 74 6f 72 )...(let.((1-norm.(lizfcm.vector
2a40 3a 70 2d 6e 6f 72 6d 20 31 29 29 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 31 2d 6e 6f 72 6d :p-norm.1))).....(funcall.1-norm
2a60 20 76 29 29 29 0a 0a 28 64 65 66 75 6e 20 6c 69 6e 66 2d 6e 6f 72 6d 20 28 76 29 0a 20 20 28 6c .v)))..(defun.linf-norm.(v)...(l
2a80 69 7a 66 63 6d 2e 76 65 63 74 6f 72 3a 6d 61 78 2d 6e 6f 72 6d 20 76 29 29 0a 0a 28 64 65 66 75 izfcm.vector:max-norm.v))..(defu
2aa0 6e 20 6c 32 2d 64 69 73 74 61 6e 63 65 20 28 76 31 20 76 32 29 0a 20 20 28 6c 65 74 20 28 28 32 n.l2-distance.(v1.v2)...(let.((2
2ac0 2d 6e 6f 72 6d 20 28 6c 69 7a 66 63 6d 2e 76 65 63 74 6f 72 3a 70 2d 6e 6f 72 6d 20 32 29 29 29 -norm.(lizfcm.vector:p-norm.2)))
2ae0 0a 20 20 20 20 28 6c 69 7a 66 63 6d 2e 76 65 63 74 6f 72 3a 64 69 73 74 61 6e 63 65 20 76 31 20 .....(lizfcm.vector:distance.v1.
2b00 76 32 20 32 2d 6e 6f 72 6d 29 29 29 0a 0a 28 64 65 66 75 6e 20 6c 31 2d 64 69 73 74 61 6e 63 65 v2.2-norm)))..(defun.l1-distance
2b20 20 28 76 31 20 76 32 29 0a 20 20 28 6c 65 74 20 28 28 31 2d 6e 6f 72 6d 20 28 6c 69 7a 66 63 6d .(v1.v2)...(let.((1-norm.(lizfcm
2b40 2e 76 65 63 74 6f 72 3a 70 2d 6e 6f 72 6d 20 31 29 29 29 0a 20 20 20 20 28 6c 69 7a 66 63 6d 2e .vector:p-norm.1))).....(lizfcm.
2b60 76 65 63 74 6f 72 3a 64 69 73 74 61 6e 63 65 20 76 31 20 76 32 20 31 2d 6e 6f 72 6d 29 29 29 0a vector:distance.v1.v2.1-norm))).
2b80 0a 28 64 65 66 75 6e 20 6c 69 6e 66 2d 64 69 73 74 61 6e 63 65 20 28 76 31 20 76 32 29 0a 20 20 .(defun.linf-distance.(v1.v2)...
2ba0 28 6c 69 7a 66 63 6d 2e 76 65 63 74 6f 72 3a 64 69 73 74 61 6e 63 65 20 76 31 20 76 32 20 27 6c (lizfcm.vector:distance.v1.v2.'l
2bc0 69 7a 66 63 6d 2e 76 65 63 74 6f 72 3a 6d 61 78 2d 6e 6f 72 6d 29 29 0a 0a 28 64 65 66 75 6e 20 izfcm.vector:max-norm))..(defun.
2be0 66 20 28 78 29 0a 20 20 28 2f 20 28 2d 20 78 20 31 29 20 28 2b 20 78 20 31 29 29 29 0a 0a 28 64 f.(x)...(/.(-.x.1).(+.x.1)))..(d
2c00 65 66 75 6e 20 66 70 72 69 6d 65 20 28 78 29 0a 20 20 28 2f 20 32 20 28 65 78 70 74 20 28 2b 20 efun.fprime.(x)...(/.2.(expt.(+.
2c20 78 20 31 29 20 32 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 73 68 6f 77 63 61 73 65 20 28 73 x.1).2)))..(defmacro.showcase.(s
2c40 2d 65 78 70 72 29 0a 20 20 60 28 66 6f 72 6d 61 74 20 74 20 22 7e 61 20 3d 20 7e 61 7e 25 22 20 -expr)...`(format.t."~a.=.~a~%".
2c60 2c 28 66 6f 72 6d 61 74 20 6e 69 6c 20 22 7e 61 22 20 73 2d 65 78 70 72 29 20 2c 73 2d 65 78 70 ,(format.nil."~a".s-expr).,s-exp
2c80 72 29 29 0a 0a 28 64 65 66 75 6e 20 6d 61 69 6e 20 28 29 0a 20 20 28 73 68 6f 77 63 61 73 65 20 r))..(defun.main.()...(showcase.
2ca0 28 73 6d 61 63 65 70 73 29 29 0a 20 20 28 73 68 6f 77 63 61 73 65 20 28 64 6d 61 63 65 70 73 29 (smaceps))...(showcase.(dmaceps)
2cc0 29 0a 20 20 28 73 68 6f 77 63 61 73 65 20 28 6c 32 2d 6e 6f 72 6d 20 27 28 31 20 32 29 29 29 0a )...(showcase.(l2-norm.'(1.2))).
2ce0 20 20 28 73 68 6f 77 63 61 73 65 20 28 6c 31 2d 6e 6f 72 6d 20 27 28 31 20 32 29 29 29 0a 20 20 ..(showcase.(l1-norm.'(1.2)))...
2d00 28 73 68 6f 77 63 61 73 65 20 28 6c 69 6e 66 2d 6e 6f 72 6d 20 27 28 31 20 32 29 29 29 0a 20 20 (showcase.(linf-norm.'(1.2)))...
2d20 28 73 68 6f 77 63 61 73 65 20 28 6c 31 2d 64 69 73 74 61 6e 63 65 20 27 28 31 20 32 29 20 27 28 (showcase.(l1-distance.'(1.2).'(
2d40 2d 33 20 34 29 29 29 0a 20 20 28 73 68 6f 77 63 61 73 65 20 28 6c 32 2d 64 69 73 74 61 6e 63 65 -3.4)))...(showcase.(l2-distance
2d60 20 27 28 31 20 32 29 20 27 28 2d 33 20 34 29 29 29 0a 20 20 28 73 68 6f 77 63 61 73 65 20 28 6c .'(1.2).'(-3.4)))...(showcase.(l
2d80 69 6e 66 2d 64 69 73 74 61 6e 63 65 20 27 28 31 20 32 29 20 27 28 2d 33 20 34 29 29 29 0a 20 20 inf-distance.'(1.2).'(-3.4)))...
2da0 28 73 68 6f 77 63 61 73 65 20 28 6c 69 7a 66 63 6d 2e 76 65 63 74 6f 72 3a 6c 65 61 73 74 2d 73 (showcase.(lizfcm.vector:least-s
2dc0 71 75 61 72 65 73 2d 72 65 67 20 27 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 0a 20 20 20 20 quares-reg.'(1.2.3.4.5.6.7).....
2de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2e00 20 20 20 20 20 20 20 20 20 27 28 30 2e 35 20 33 20 32 20 33 2e 35 20 35 20 36 20 37 2e 35 29 29 .........'(0.5.3.2.3.5.5.6.7.5))
2e20 29 0a 20 20 28 73 68 6f 77 63 61 73 65 20 28 6c 69 7a 66 63 6d 2e 61 70 70 72 6f 78 3a 66 6f 72 )...(showcase.(lizfcm.approx:for
2e40 77 61 72 64 2d 64 65 72 69 76 61 74 69 76 65 2d 61 74 20 27 66 20 31 20 30 2e 30 30 30 30 31 29 ward-derivative-at.'f.1.0.00001)
2e60 29 0a 20 20 28 73 68 6f 77 63 61 73 65 20 28 6c 69 7a 66 63 6d 2e 61 70 70 72 6f 78 3a 63 65 6e )...(showcase.(lizfcm.approx:cen
2e80 74 72 61 6c 2d 64 65 72 69 76 61 74 69 76 65 2d 61 74 20 27 66 20 31 20 30 2e 30 30 30 30 31 29 tral-derivative-at.'f.1.0.00001)
2ea0 29 0a 20 20 28 73 68 6f 77 63 61 73 65 20 28 6c 69 7a 66 63 6d 2e 61 70 70 72 6f 78 3a 62 61 63 )...(showcase.(lizfcm.approx:bac
2ec0 6b 77 61 72 64 2d 64 65 72 69 76 61 74 69 76 65 2d 61 74 20 27 66 20 31 20 30 2e 30 30 30 30 31 kward-derivative-at.'f.1.0.00001
2ee0 29 29 29 0a 0a 0a 0a 0a 23 31 2f 33 36 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 36 32 32 ))).....#1/36...........16969622
2f00 37 37 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 36 38 20 20 20 20 20 20 77..501...20....100644..68......
2f20 20 20 60 0a 76 65 63 74 6f 72 2c 6c 65 61 73 74 2d 73 71 75 61 72 65 73 2d 72 65 67 2e 6c 69 73 ..`.vector,least-squares-reg.lis
2f40 70 00 00 00 00 00 00 00 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 6c 69 7a 66 63 6d 2e 76 65 63 74 p.......(in-package.:lizfcm.vect
2f60 6f 72 29 0a 0a 0a 0a 0a 23 31 2f 33 36 20 20 20 20 20 20 20 20 20 20 20 31 36 39 36 39 36 39 33 or).....#1/36...........16969693
2f80 38 38 20 20 35 30 31 20 20 20 32 30 20 20 20 20 31 30 30 36 34 34 20 20 35 32 34 20 20 20 20 20 88..501...20....100644..524.....
2fa0 20 20 60 0a 76 65 63 74 6f 72 2c 6c 65 61 73 74 2d 73 71 75 61 72 65 73 2e 6c 69 73 70 00 00 00 ..`.vector,least-squares.lisp...
2fc0 00 00 00 00 00 00 00 00 28 69 6e 2d 70 61 63 6b 61 67 65 20 3a 6c 69 7a 66 63 6d 2e 76 65 63 74 ........(in-package.:lizfcm.vect
2fe0 6f 72 29 0a 0a 28 64 65 66 75 6e 20 6c 65 61 73 74 2d 73 71 75 61 72 65 73 2d 72 65 67 20 28 78 or)..(defun.least-squares-reg.(x
3000 20 79 29 0a 20 20 28 6c 65 74 2a 20 28 28 6e 20 28 6c 65 6e 67 74 68 20 78 29 29 0a 20 20 20 20 .y)...(let*.((n.(length.x)).....
3020 20 20 20 20 20 28 73 75 6d 2d 79 20 28 72 65 64 75 63 65 20 23 27 2b 20 79 29 29 0a 20 20 20 20 .....(sum-y.(reduce.#'+.y)).....
3040 20 20 20 20 20 28 73 75 6d 2d 78 20 28 72 65 64 75 63 65 20 23 27 2b 20 78 29 29 0a 20 20 20 20 .....(sum-x.(reduce.#'+.x)).....
3060 20 20 20 20 20 28 73 75 6d 2d 78 79 20 28 72 65 64 75 63 65 20 23 27 2b 20 28 6d 61 70 63 61 72 .....(sum-xy.(reduce.#'+.(mapcar
3080 20 23 27 2a 20 78 20 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 75 6d 2d 78 73 71 75 61 72 .#'*.x.y)))..........(sum-xsquar
30a0 65 64 20 28 72 65 64 75 63 65 20 23 27 2b 20 28 6d 61 70 63 61 72 20 23 27 2a 20 78 20 78 29 29 ed.(reduce.#'+.(mapcar.#'*.x.x))
30c0 29 0a 20 20 20 20 20 20 20 20 20 28 62 20 28 2f 20 28 2d 20 28 2a 20 73 75 6d 2d 79 20 73 75 6d )..........(b.(/.(-.(*.sum-y.sum
30e0 2d 78 73 71 75 61 72 65 64 29 20 28 2a 20 73 75 6d 2d 78 20 73 75 6d 2d 78 79 29 29 0a 20 20 20 -xsquared).(*.sum-x.sum-xy))....
3100 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 28 2a 20 6e 20 73 75 6d 2d 78 73 71 75 61 72 65 64 ............(-.(*.n.sum-xsquared
3120 29 20 28 2a 20 73 75 6d 2d 78 20 73 75 6d 2d 78 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 ).(*.sum-x.sum-x))))..........(a
3140 20 28 2f 20 28 2d 20 28 2a 20 6e 20 73 75 6d 2d 78 79 29 20 28 2a 20 73 75 6d 2d 78 20 73 75 6d .(/.(-.(*.n.sum-xy).(*.sum-x.sum
3160 2d 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 28 2a 20 6e 20 73 75 6d 2d -y))................(-.(*.n.sum-
3180 78 73 71 75 61 72 65 64 29 20 28 2a 20 73 75 6d 2d 78 20 73 75 6d 2d 78 29 29 29 29 29 0a 20 20 xsquared).(*.sum-x.sum-x)))))...
31a0 20 20 28 6c 69 73 74 20 61 20 62 29 29 29 0a 0a ..(list.a.b)))..