Common Lispç¨ã®ç·å½¢ä»£æ°è¨ç®ã©ã¤ãã©ãªã¨ãã¦LLA (Lisp Linear Algebra)ã¨ãããã®ãããã¾ãã
ããã¯BLASãLAPACKãCommon Lispããå©ç¨ã§ããããã«ããã©ããã¼ã§ããé«éãªè¡åè¨ç®ã¨ããæè»½ã«ã§ããããã«ãªãã¾ããMacãLinuxã§ã¯åé¡ãªãã£ãã®ã§ãããWindowsã«ã¤ã³ã¹ãã¼ã«ããã¨ãã«å°ãã ãã¤ã¾ã¥ããã®ã§ã以ä¸ã«ã¡ã¢ãã¦ããã¾ããã
BLASãLAPACKã®ãã¤ããªããã¦ã³ãã¼ããã¦ã¤ã³ã¹ãã¼ã«ããã°ãããã¨æãããã使ããããªWindowsãã¤ããªãè¦ã¤ããããã§ã¯ã½ã¼ã¹ããã¤ã³ã¹ãã¼ã«ãããã¨æã£ã¦ããã¾ããããªãã£ãããããããåé¡ãçºçãã¾ãããçµå±ãOpenBLASã®Windowsç¨ãã¤ããªããã£ãã®ã§ããããå©ç¨ããã¦ãããã¾ããã
ã¨ãããZIPã¢ã¼ã«ã¤ãã®ä¸ã®libãã£ã¬ã¯ããªãè¦ã¦ã.dllãã¡ã¤ã«ãè¦å½ããã¾ããã.dll.aã¨ããæ¡å¼µåã®ãã®ã¯ããã¾ããããWindowsç¨ãã¤ããªã§ã¯ãªãããã§ãã.dllãã¡ã¤ã«ã¯binãã£ã¬ã¯ããªã®ä¸ã«è¦ã¤ããã¾ããï¼ãªãã©ã¤ãã©ãªãã¡ã¤ã«ãbinã®ä¸ã«â¦â¦Windowsã ã¨ãããããã®ãªã®ããªï¼ï¼ãOpenBLAS-0.3.27-x64ã®libopenblas.dllãC:\Windows\System32
ã®ä¸ã«æ¾ãè¾¼ãã§ãã¤ã³ã¹ãã¼ã«å®äºã§ããï¼LispからPortAudioでデバイス情報を得る - 丸井綜研ã§ãæ¸ãã¾ããããã·ã¹ãã é åã«ãã¤ããªãã¤ã³ã¹ãã¼ã«ããã®ã¯èªå·±è²¬ä»»ã§ï¼ï¼ããã¼ã«ã«ãã£ã¬ã¯ããªï¼ql:quickload :lla
ãå®è¡ãããã£ã¬ã¯ããªï¼ã«ç½®ãã¦ãã£ã¦ãèªã¿è¾¼ã¿ããããã®ã§ããã¡ãã®ã»ããå®å
¨ãã¨æãã¾ãã
次ã«SBCLã¨Quicklispã§LLAãã¤ã³ã¹ãã¼ã«ããã°ããã®ã§ããã使¥ã¡ã¢ãªãè¶³ããªããªãã®ã§ãsbcl --dynamic-space-size 4096
ã¨ã¡ã¢ãªç©ºéãå¢ããã¦ããã¾ããSLIMEã®REPLããã ã¨èµ·åéä¸ã§è½ã¡ã¦ãã¾ããã¨ãããã®ã§ãã¿ã¼ããã«ä¸ã§èµ·åããSBCLã§(ql:quickload :lla)
ã¨ããã¨ãã¾ãããã¾ããã
以åã«èªåã§ä½ã£ãããã°ã©ã ã§ãã£ã¦ã¿ãé£ç«æ¹ç¨å¼ã®è§£ã以ä¸ã®ããã«ç°¡åã«è¨ç®ã§ãã¾ãããåºåã¯doubleåãªã®ãã
* (lla:solve #2A((1 2 0) (3 4 4) (5 6 3)) #(3 7 8)) #(-1.4000000000000008d0 2.2000000000000006d0 0.6000000000000001d0)
ãã¾ã¾ã§ä½ã£ã¦ãããªã¬ãªã¬çµ±è¨ã©ã¤ãã©ãªãLLAã®ä¸ã§åãããã«ãããããªâ¦â¦ã