=================================================================== RCS file: /home/cvs/OpenXM/doc/Attic/genkou19991125.tex,v retrieving revision 1.42 retrieving revision 1.75 diff -u -p -r1.42 -r1.75 --- OpenXM/doc/Attic/genkou19991125.tex 1999/12/22 13:01:20 1.42 +++ OpenXM/doc/Attic/genkou19991125.tex 1999/12/24 17:59:42 1.75 @@ -1,64 +1,71 @@ \documentclass{jarticle} -\title{¥¿¥¤¥È¥ë̤Äê} -\author{ -Á°Àî ¾­½¨\thanks{¿À¸ÍÂç³ØÍý³ØÉô¿ô³Ø²Ê}, -ÌîϤ Àµ¹Ô\thanks{ÉÙ»ÎÄ̸¦µæ½ê}, -¾®¸¶ ¸ùǤ\thanks{¶âÂôÂç³ØÍý³ØÉô·×»»²Ê³Ø¶µ¼¼}, \\ -±üë ¹Ô±û -%\thanks{¿À¸ÍÂç³ØÂç³Ø±¡¼«Á³²Ê³Ø¸¦µæ²ÊÇî»Î²ÝÄøÁ°´ü²ÝÄø¿ô³ØÀ칶}, -\thanks{¿À¸ÍÂç³ØÂç³Ø±¡¼«Á³²Ê³Ø¸¦µæ²Ê¿ô³ØÀ칶}, -¹â»³ ¿®µ£\thanks{¿À¸ÍÂç³ØÍý³ØÉô¿ô³Ø¶µ¼¼}, -Åļ ¶³»Î -%\thanks{¿À¸ÍÂç³ØÂç³Ø±¡¼«Á³²Ê³Ø¸¦µæ²ÊÇî»Î²ÝÄø¸å´ü²ÝÄø¾ðÊó¥á¥Ç¥£¥¢²Ê³ØÀ칶·×»»¥·¥¹¥Æ¥à¹ÖºÂ} -\thanks{¿À¸ÍÂç³ØÂç³Ø±¡¼«Á³²Ê³Ø¸¦µæ²Ê¾ðÊó¥á¥Ç¥£¥¢²Ê³ØÀ칶} +%% $OpenXM: OpenXM/doc/genkou19991125.tex,v 1.74 1999/12/24 16:59:48 tam Exp $ + +\usepackage{jssac} +\title{ +1. °ÕÌ£¤â¤Ê¤¤½¤¾þ²á¾ê¤Ê¸ì¶ç¤ÏÇÓ½ü¤·¤Þ¤·¤ç¤¦¡£\\ +3. ¤»¤Ã¤«¤¯ fill ¤·¤Æ¤¤¤ë¤Î¤ò¤¤¤¸¤é¤Ê¤¤¤Ç¤¯¤ì¡£\\ +4. Åļ¤¬Í·¤ó¤Ç¤Ð¤«¤ê¤Ç¤ª¤ì¤Ð¤«¤ê»Å»ö¤ò¤·¤Æ¤¤¤ë¤Î¤Ï¤É¤¦¹Í¤¨¤Æ¤âÉÔ¸øÊ¿¤À¡£ +¤Ê¤ó¤Ç»Å»ö¤ò¤·¤Ê¤¤¤Î¤«¡¢¤¤¤¤²Ã¸º»Å»ö¤ò¤·¤í¡¢Åļ¡£ +%¢¬¤¹¤ß¤Þ¤»¤ó¡¢²È¤Ç¸æÈÓ¿©¤Ù¤Æ¤Þ¤·¤¿¡£ } -\date{1999ǯ11·î25Æü} -%\pagestyle{empty} +\author{±ü ë ¡¡ ¹Ô ±û\affil{¿À¸ÍÂç³ØÂç³Ø±¡¼«Á³²Ê³Ø¸¦µæ²Ê} + \mail{okutani@math.sci.kobe-u.ac.jp} + \and ¾® ¸¶ ¡¡ ¸ù Ǥ\affil{¶âÂôÂç³ØÍý³ØÉô} + \mail{ohara@kappa.s.kanazawa-u.ac.jp} + \and ¹â »³ ¡¡ ¿® µ£\affil{¿À¸ÍÂç³ØÍý³ØÉô} + \mail{takayama@math.sci.kobe-u.ac.jp} + \and ÅÄ Â¼ ¡¡ ¶³ »Î\affil{¿À¸ÍÂç³ØÂç³Ø±¡¼«Á³²Ê³Ø¸¦µæ²Ê} + \mail{tamura@math.sci.kobe-u.ac.jp} + \and Ìî Ϥ ¡¡ Àµ ¹Ô\affil{ÉÙ»ÎÄ̸¦µæ½ê} + \mail{noro@para.flab.fujitsu.co.jp} + \and Á° Àî ¡¡ ¾­ ½¨\affil{¿À¸ÍÂç³ØÍý³ØÉô} + \mail{maekawa@math.sci.kobe-u.ac.jp} +} +\art{} + \begin{document} \maketitle \section{OpenXM¤È¤Ï} -OpenXM ¤Ï¿ô³Ø¥×¥í¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤¿¤á¤Îµ¬Ìó¤Ç¤¢¤ë¡£¿ô³Ø¥×¥í -¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¤ä¤ê¤È¤ê¤µ¤»¤ë¤³¤È¤Ë¤è¤ê¡¢¤¢¤ë¿ô³Ø¥×¥í¥»¥¹¤«¤é¾¤Î¿ô -³Ø¥×¥í¥»¥¹¤ò¸Æ¤Ó½Ð¤·¤Æ·×»»¤ò¹Ô¤Ê¤Ã¤¿¤ê¡¢Â¾¤Î¥Þ¥·¥ó¤Ç·×»»¤ò¹Ô¤Ê¤ï¤»¤¿¤ê¤¹ -¤ë¤³¤È¤¬ÌÜŪ¤Ç¤¢¤ë¡£¤Ê¤ª¡¢ OpenXM ¤È¤Ï Open message eXchange protocol -for Mathematics ¤Îά¤Ç¤¢¤ë¡£ -OpenXM ¤Î³«È¯¤Îȯü¤ÏÌîϤ¤È¹â»³¤Ë¤è¤ê¡¢ asir ¤È kan/sm1 ¤ò -Áê¸ß¤Ë¸Æ¤Ó½Ð¤¹µ¡Ç½¤ò¼ÂÁõ¤·¤¿¤³¤È¤Ç¤¢¤ë¡£ -%\footnote{¤³¤ÎÃÊÍîɬÍ×?} +OpenXM ¤Ï¿ô³Ø¥×¥í¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤¿¤á¤Îµ¬Ìó¤Ç¤¢¤ë¡£ +¿ô³Ø¥×¥í¥»¥¹´Ö¤Ç¥á¥Ã¥»¡¼¥¸¤ò¤ä¤ê¤È¤ê¤¹¤ë¤³¤È¤Ë¤è¤ê¡¢ +¤¢¤ë¿ô³Ø¥×¥í¥»¥¹¤«¤é¾¤Î¿ô³Ø¥×¥í¥»¥¹¤ò¸Æ¤Ó½Ð¤·¤Æ·×»»¤ò¹Ô¤Ê¤Ã¤¿¤ê¡¢ +¾¤Î¥Þ¥·¥ó¤Ç·×»»¤ò¹Ô¤Ê¤ï¤»¤¿¤ê¤¹¤ë¤³¤È¤¬ÌÜŪ¤Ç¤¢¤ë¡£ +¤Ê¤ª¡¢ OpenXM ¤È¤Ï Open message eXchange protocol for Mathematics ¤Îά¤Ç¤¢¤ë¡£ +OpenXM ¤Î³«È¯¤Îȯü¤ÏÌîϤ¤È¹â»³¤Ë¤è¤ê¡¢ +asir ¤È kan/sm1 ¤òÁê¸ß¤Ë¸Æ¤Ó½Ð¤¹µ¡Ç½¤ò¼ÂÁõ¤·¤¿¤³¤È¤Ç¤¢¤ë¡£ -%ȯü¤È¤Ê¤Ã¤¿ asir ¤È kan/sm1 ¤Ç¤Î¼ÂÁõ»þ¤Ë¤Ï¡¢ ½é´ü¤Î¼ÂÁõ¤Ç¤Ï¡¢Áê¼ê¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÁ÷¤Ã¤Æ¤¤¤¿¡£ +¤³¤ÎÊýË¡¤Ç¤ÏÁê¼ê¦¤Î¥½¥Õ¥È¤¬ asir ¤Ê¤Î¤« kan/sm1 ¤Ê¤Î¤«¤òȽÊ̤¹¤ë¤Ê¤É¤·¤Æ¡¢ +Áê¼ê¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë¹ç¤ï¤»¤¿Ê¸»úÎó¤òºîÀ®¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +¤³¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÁ÷¤ëÊýË¡¤Ï¡¢ +¸úΨŪ¤Ç¤¢¤ë¤È¤Ï¤¤¤¤Æñ¤¤¤¬¡¢»È¤¤¤ä¤¹¤¤¤È¤â¸À¤¨¤ë¡£ + ¸½ºß¤Î OpenXM µ¬Ìó¤Ç¤Ï¶¦ÄÌɽ¸½·Á¼°¤Ë¤è¤ë¥á¥Ã¥»¡¼¥¸¤òÍѤ¤¤Æ¤¤¤ë¡£ -¤³¤ÎÊýË¡¤Ç¤ÏÁê¼ê¦¤Î¥½¥Õ¥È¤¬ asir ¤Ê¤Î¤« kan/sm1 ¤Ê¤Î¤«¤òȽÊ̤·¤Æ¡¢ -Áê¼ê¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë¹ç¤ï¤»¤Æʸ»úÎó¤òºîÀ®¤¹¤ëɬÍפ¬¤Ê¤¤¡£ -¤·¤«¤·¡¢¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÁ÷¤ëÊýË¡¤â¡¢ -¸úΨŪ¤Ç¤¢¤ë¤È¤Ï¤¤¤¤Æñ¤¤¤¬¡¢»È¤¤¤ä¤¹¤¤¡£ -¤½¤Î¤¿¤á¡¢ OpenXM µ¬Ìó¤Ç¤Ï¶¦ÄÌɽ¸½·Á¼°¤ÎÃæ¤Îʸ»úÎó¤È¤·¤Æ -ɽ¸½¤·¤ÆÁ÷¤ë¤³¤È¤¬²Äǽ¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ +¾åµ­¤Îʸ»úÎó¤òÁ÷¤ëÊýË¡¤ÎÍøÅÀ¤òÀ¸¤«¤¹¤¿¤á¡¢ +OpenXM µ¬Ìó¤Ç¤Ï¶¦ÄÌɽ¸½·Á¼°¤ÎÃæ¤Îʸ»úÎó¤È¤·¤Æ¡¢ +¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤òÍѤ¤¤¿¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤â²Äǽ¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ -%OpenXM µ¬ÌóÆȼ«¤Î¥Ç¡¼¥¿·Á¼°¤Ç¤¢¤ë CMO ·Á¼°(Common Mathematical Object format) -%°Ê³°¤Ë¤â¡¢ MP ¤ä OpenMath ¤Î XML, binary ɽ¸½·Á¼°¤È¤¤¤Ã¤¿Â¾¤Î·Á¼°¤ò¤â -%°·¤¨¤ë¤è¤¦¤Ë¤·¤Æ¤¢¤ë¡£ +OpenXM µ¬Ìó¤Ç¤ÏÄÌ¿®¤ÎÊýË¡¤Ë´ö¤é¤«¤Î¼«Í³ÅÙ¤¬¤¢¤ë¤¬¡¢ +¸½ºß¤Î¤È¤³¤í¤Ï TCP/IP ¤òÍѤ¤¤¿ÄÌ¿®¤·¤«¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£ +¤½¤³¤Ç¡¢¤³¤ÎÏÀʸ¤Ç¤Ï¶ñÂÎŪ¤Ê¼ÂÁõ¤Ï TCP/IP ¤òÍѤ¤¤Æ¤¤¤ë¤È²¾Äꤹ¤ë¡£ -{\Huge TCP/IP ¼ÂÁõ¤ÎÏÃ} - -OpenXM µ¬Ìó¤Ç¤ÏÄÌ¿®Ï©¤Î³ÎÊݤλÅÊý¤Ë - - - \section{OpenXM ¤Î¥á¥Ã¥»¡¼¥¸¤Î¹½Â¤} -%{\Huge ¤³¤ÎÀá¤Ç¤Ï¹½Â¤¤ÎÏäò¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó} +ÄÌ¿®¤ÎÊýË¡¤Ë¤è¤Ã¤Æ¥á¥Ã¥»¡¼¥¸¤Î¹½Â¤¤ÏÊѤï¤ë¡£ +Á°Àá¤Ç²¾Äꤷ¤¿¤È¤ª¤ê¡¢¤³¤ÎÏÀʸ¤Ç¤Ï TCP/IP ¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤ò¹Ô¤Ê¤¦¡£ -OpenXM ¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤Ç¤¢¤ê¡¢ +OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢ ¼¡¤Î¤è¤¦¤Ê¹½Â¤¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -\begin{tabular}{|c|c|} \hline -¥Ø¥Ã¥À & \hspace{10mm} ¥Ü¥Ç¥£ \hspace{10mm} \\ \hline +\begin{tabular}{|c|c|} +\hline +¥Ø¥Ã¥À & \hspace{10mm} ¥Ü¥Ç¥£ \hspace{10mm} \\ +\hline \end{tabular} ¥Ø¥Ã¥À¤ÎŤµ¤Ï 8 ¥Ð¥¤¥È¤Ç¤¢¤ë¤ÈÄê¤á¤é¤ì¤Æ¤¤¤ë¡£ @@ -67,322 +74,512 @@ OpenXM ¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤Ç¤ ¥Ø¥Ã¥À¤Ï¼¡¤ÎÆó¤Ä¤Î¾ðÊó¤ò»ý¤Ã¤Æ¤¤¤ë¡£ \begin{enumerate} -\item Á°È¾¤Î 4 ¥Ð¥¤¥È¤Ë¤¢¤ë¡¢¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤òɽ¤ï¤¹¼±Ê̻ҡ£ +\item Á°È¾¤Î 4 ¥Ð¥¤¥È¡£¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤òɽ¤ï¤¹¼±Ê̻ҤǤ¢¤ê¡¢ ¥¿¥°¤È¸Æ¤Ð¤ì¤ë¡£ -\item ¸åȾ¤Î 4 ¥Ð¥¤¥È¤Ë¤¢¤ë¡¢¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤±¤é¤ì¤¿Ä̤·Èֹ档 +\item ¸åȾ¤Î 4 ¥Ð¥¤¥È¡£¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤±¤é¤ì¤¿Ä̤·ÈÖ¹æ¤Ç¤¢¤ë¡£ \end{enumerate} ¤½¤ì¤¾¤ì¤Î 4 ¥Ð¥¤¥È¤Ï 32 ¥Ó¥Ã¥ÈÀ°¿ô¤È¤ß¤Ê¤µ¤ì¤Æ°·¤ï¤ì¤ë¡£ -¤³¤Î¾ì¹ç¤ËÍѤ¤¤é¤ì¤ëÀ°¿ô¤Îɽ¸½ÊýË¡¤ÎÀâÌÀ¤Ë¤Ä¤¤¤Æ¤Ï¸å½Ò¤¹¤ë¤¬¡¢ +¤³¤Î¾ì¹ç¤ËÍѤ¤¤é¤ì¤ëÀ°¿ô¤Îɽ¸½ÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¸å½Ò¤¹¤ë¤¬¡¢ ´ðËÜŪ¤Ëɽ¸½ÊýË¡¤Ï¤¤¤¯¤Ä¤«¤ÎÁªÂò»è¤«¤éÁª¤Ö¤³¤È¤¬²Äǽ¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢ ¤Þ¤¿¤½¤ÎÁªÂò¤ÏÄÌ¿®Ï©¤Î³ÎΩ»þ¤Ë°ìÅÙ¤À¤±¤Ê¤µ¤ì¤ë¤³¤È¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +¸½ºß¤ÎOpenXM µ¬Ìó¤Ç¤Ï¡¢¥¿¥°(À°¿ôÃÍ)¤È¤·¤Æ +°Ê²¼¤Î¤â¤Î¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ -%{\Huge °Ê²¼¡¢½ñ¤­Ä¾¤·} +\begin{verbatim} +#define OX_COMMAND 513 +#define OX_DATA 514 +#define OX_SYNC_BALL 515 +#define OX_DATA_WITH_LENGTH 521 +#define OX_DATA_OPENMATH_XML 523 +#define OX_DATA_OPENMATH_BINARY 524 +#define OX_DATA_MP 525 +\end{verbatim} -¥Ü¥Ç¥£¤ÎÃæ¿È¤Ï³Æ¥Ç¡¼¥¿·Á¼°¤Ë¤è¤Ã¤Æ -¤½¤ì¤¾¤ìÆÈΩ¤Ë·è¤á¤é¤ì¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤â¤·¡¢ OpenXM µ¬Ìó¤Ç¤Þ¤ÀÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¥Ç¡¼¥¿·Á¼°¤ò»È¤¤¤¿¤¤¾ì¹ç¤Ï¡¢ -¥á¥Ã¥»¡¼¥¸¤Î¥Ø¥Ã¥À¤Î¥¿¥°¤ò¤Þ¤À»È¤ï¤ì¤Æ¤Ê¤¤À°¿ôÃͤËÀßÄꤷ¡¢ -¥Ü¥Ç¥£¤ÎÉôʬ¤Ë¥Ç¡¼¥¿¤òËä¤á¹þ¤á¤Ð¤è¤¤¡£ -¤Ê¤ª¡¢¤³¤Î¤è¤¦¤ÊÍÑÅӤˤâ»È¤¨¤ë¤è¤¦¤Ë¡¢ -¥¿¥°¤Ë¤Ï¥·¥¹¥Æ¥à¸ÇÍ­¤Îɽ¸½ÍѤ˿侩¤µ¤ì¤Æ¤¤¤ëÀ°¿ô¤ÎÈϰϤ¬¤¢¤ë¡£ +¥Ü¥Ç¥£¤Î¹½Â¤¤Ï¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¡£ +¥¿¥°¤¬ OX\_COMMAND ¤È¤Ê¤Ã¤Æ¤¤¤ë¥á¥Ã¥»¡¼¥¸¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ç¤¢¤ê¡¢ +¤½¤ì°Ê³°¤Î¥á¥Ã¥»¡¼¥¸¤Ï²¿¤é¤«¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¤·¤Æ¤¤¤ë¡£ +¤³¤ÎÏÀʸ¤Ç¤Ï OX\_DATA ¤È OX\_COMMAND ¤Ç¼±Ê̤µ¤ì¤ë +¥á¥Ã¥»¡¼¥¸¤Ë¤Ä¤¤¤Æ¤Î¤ß¡¢ÀâÌÀ¤¹¤ë¡£ +´û¸¤Î¥á¥Ã¥»¡¼¥¸¤Ç¤ÏÂбþ¤Ç¤­¤Ê¤¤¾ì¹ç¤Ï¡¢¿·¤·¤¤¼±Ê̻ҤòÄêµÁ¤¹¤ë¤³¤È¤Ç¿·¤· +¤¤¼ïÎà¤Î¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤¹¤ë¤³¤È¤¬¤Ç¤­¤ë¡£¤³¤ÎÊýË¡¤Ï³Æ¿ô³Ø¥½¥Õ¥È¥¦¥§¥¢¤Î +¸ÇÍ­¤Îɽ¸½¤ò´Þ¤à¥á¥Ã¥»¡¼¥¸¤òºîÀ®¤·¤¿¤¤¾ì¹ç¤Ê¤É¤ËÍ­¸ú¤Ç¤¢¤ë¡£¿·¤·¤¤¼±ÊÌ»Ò +¤ÎÄêµÁÊýË¡¤Ë¤Ä¤¤¤Æ¤Ï¡¢\cite{OpenXM-1999} ¤ò»²¾È¤¹¤ë¤³¤È¡£ \section{OpenXM ¤Î·×»»¥â¥Ç¥ë} -{\Huge ¤³¤ÎÀá¤Ç¤Ï·×»»¥â¥Ç¥ë¤ÎÏäò¤·¤Ê¤±¤ì¤Ð¤¤¤±¤Þ¤»¤ó} +OpenXM µ¬Ìó¤Ç¤Î·×»»¤È¤Ï¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£¤Þ¤¿¡¢ OpenXM µ¬ +Ìó¤Ç¤Ï¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð¥â¥Ç¥ë¤òºÎÍѤ·¤Æ¤¤¤ë¤Î¤Ç¡¢¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤Ï¥µ¡¼ +¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤Î´Ö¤Ç¹Ô¤Ê¤ï¤ì¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷ +¤ê¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤«¤é¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë¤³¤È¤Ë¤è¤Ã¤Æ·×»»¤Î·ë²Ì¤¬ +ÆÀ¤é¤ì¤ë¡£¤³¤Î¥á¥Ã¥»¡¼¥¸¤Î¤ä¤ê¤È¤ê¤Ï¥¯¥é¥¤¥¢¥ó¥È¤Î¼çƳ¤Ç¹Ô¤ï¤ì¤ë¡£¤Ä¤Þ¤ê¡¢ +¥¯¥é¥¤¥¢¥ó¥È¤Ï¼«Í³¤Ë¥á¥Ã¥»¡¼¥¸¤ò¥µ¡¼¥Ð¤ËÁ÷ÉÕ¤·¤Æ¤â¤è¤¤¤¬¡¢¥µ¡¼¥Ð¤«¤é¤Ï¼« +ȯŪ¤Ë¥á¥Ã¥»¡¼¥¸¤¬Á÷ÉÕ¤µ¤ì¤ë¤³¤È¤Ï¤Ê¤¤¡£¤³¤Î¸¶Íý¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó +¤Ç¤¢¤ë¤³¤È¤Ç¼Â¸½¤µ¤ì¤ë¡£¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤Æ¤Ï \ref{sec:oxsm} Àá +¤Ç½Ò¤Ù¤ë¡£ -OpenXM µ¬Ìó¤Ç¤Î·×»»¤È¤Ï¥á¥Ã¥»¡¼¥¸¤ò¸ò´¹¤¹¤ë¤³¤È¤Ç¤¢¤ë¡£ -¤Þ¤¿¡¢ OpenXM µ¬Ìó¤Ç¤Ï¥¯¥é¥¤¥¢¥ó¥È¡¦¥µ¡¼¥Ð¥â¥Ç¥ë¤òºÎÍѤ·¤Æ¤¤¤ë¤Î¤Ç¡¢ -¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤Ï¥µ¡¼¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤Î´Ö¤Ç¹Ô¤Ê¤ï¤ì¤ë¡£ -¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ê¡¢ -¥µ¡¼¥Ð¤«¤é¥¯¥é¥¤¥¢¥ó¥È¤¬¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë¤³¤È¤Ë¤è¤Ã¤Æ -·×»»¤Î·ë²Ì¤¬ÆÀ¤é¤ì¤ë¡£ +¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é¼õ¤±¼è¤Ã¤¿¥ª¥Ö¥¸¥§¥¯¥È(¤Ä¤Þ¤ê OX\_COMMAND ¤Ç¤Ê¤¤ +¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£)¤Ï¤¹¤Ù¤Æ¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¡£¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá +(OX\_COMMAND ¤Ç¼±Ê̤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£)¤ò¼õ¤±¼è¤Ã¤¿¥µ¡¼¥Ð¤ÏÌ¿Îá¤ËÂÐ +±þ¤¹¤ëÆ°ºî¤ò¹Ô¤Ê¤¦¡£¤³¤Î¤È¤­¡¢Ì¿Îá¤Ë¤è¤Ã¤Æ¤Ï¥¹¥¿¥Ã¥¯¤«¤é¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è +¤ê½Ð¤¹¤³¤È¤¬¤¢¤ê¡¢¤Þ¤¿(³Æ¿ô³Ø¥·¥¹¥Æ¥à¤Ç¤Î)·×»»·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È¤¬ +¤¢¤ë¡£¤â¤·¡¢Í¿¤¨¤é¤ì¤¿¥Ç¡¼¥¿¤¬Àµ¤·¤¯¤Ê¤¤¤Ê¤É¤ÎÍýͳ¤Ç¥¨¥é¡¼¤¬À¸¤¸¤¿¾ì¹ç¤Ë +¤Ï¥µ¡¼¥Ð¤Ï¥¨¥é¡¼¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ·×»»·ë²Ì¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬ÆÀ +¤ë¾ì¹ç¤Ë¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îá SM\_popCMO ¤Þ¤¿¤Ï SM\_popString ¤ò¥µ¡¼¥Ð +¤ËÁ÷¤é¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£¤³¤ì¤é¤ÎÌ¿Îá¤ò¼õ¤±¼è¤Ã¤Æ¤Ï¤¸¤á¤Æ¡¢¥µ¡¼¥Ð¤«¤é¥¯¥é +¥¤¥¢¥ó¥È¤Ø¥á¥Ã¥»¡¼¥¸¤¬Á÷¤é¤ì¤ë¡£ -¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¤È²¾Äꤵ¤ì¤Æ¤ª¤ê¡¢ -¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é¼õ¤±¼è¤Ã¤¿¥á¥Ã¥»¡¼¥¸¤Ï¤¹¤Ù¤Æ¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¡£ -¤¿¤À¤·¡¢OpenXM ¤Î¥á¥Ã¥»¡¼¥¸¤ÎÃæ¤Ë¤Ï¥µ¡¼¥Ð¤Ë¹Ô¤Ê¤ï¤»¤¿¤¤Æ°ºî¤Ë -Âбþ¤¹¤ë¥Ç¡¼¥¿¤¬¤¢¤ê¡¢ -¤³¤Î¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤Ã¤¿¥µ¡¼¥Ð¤Ï¤½¤ì¤ËÂбþ¤¹¤ëÆ°ºî¤ò -¹Ô¤Ê¤¦¤³¤È¤¬´üÂÔ¤µ¤ì¤Æ¤¤¤ë¡£ -¤·¤«¤·¡¢¥µ¡¼¥Ð¤ÏÌ¿Îᤵ¤ì¤Ê¤¤¸Â¤ê²¿¤âÆ°ºî¤ò¹Ô¤Ê¤ª¤¦¤È¤Ï¤·¤Ê¤¤¡£ -¤³¤Î¤¿¤á¡¢¥¯¥é¥¤¥¢¥ó¥È¤Ï¥µ¡¼¥Ð¤Î¾õÂÖ¤òµ¤¤Ë¤»¤º¤Ë¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ê¡¢ -°ìö¥á¥Ã¥»¡¼¥¸¤òÁ÷ÉÕ¤·½ª¤¨¤¿¸å¡¢ -¥µ¡¼¥Ð¤ØÁ÷¤Ã¤¿¥á¥Ã¥»¡¼¥¸¤Î·ë²Ì¤ò -¥µ¡¼¥Ð¤«¤éÂԤĤ³¤È¤Ê¤·¤Ë¼¡¤ÎÆ°ºî¤Ë°Ü¤ë¤³¤È¤¬¤Ç¤­¤ë¡£ +{\Huge °Ê²¼¡¢½ñ¤­Ä¾¤·} -¤Ê¤ª¡¢¥µ¡¼¥Ð¤ËÂФ¹¤ëÆ°ºî¤ËÂбþ¤·¤¿¥Ç¡¼¥¿¤Ï SM ·Á¼°¤È¤·¤ÆÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ -SM ·Á¼°°Ê³°¤Î¥Ç¡¼¥¿¤Ç¤Ï¡¢¥µ¡¼¥Ð¤Ï¼õ¤±¼è¤Ã¤¿¥Ç¡¼¥¿¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà -°Ê³°¤ÎÆ°ºî¤ò¤·¤Ê¤¤¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤Ä¤Þ¤ê¡¢ SM ·Á¼°¤Î¥Ç¡¼¥¿¤¬¥µ¡¼¥Ð¤Ë¥Ç¡¼¥¿¤ò¼õ¤±¼è¤ë°Ê³°¤ÎÆ°ºî¤ò -¹Ô¤Ê¤ï¤»¤ëÍ£°ì¤Î¥Ç¡¼¥¿·Á¼°¤Ç¤¢¤ë¡£ +¤Þ¤È¤á¤ë¤È¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥á¥Ã¥»¡¼¥¸¤òÁ÷¤ê¡¢ +·×»»¤Î·ë²Ì¤òÆÀ¤ë¤È¤¤¤¦¼ê½ç¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤ë¡£ +\begin{enumerate} +\item +¤Þ¤º¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø¥ª¥Ö¥¸¥§¥¯¥È¤òÁ÷¤ë¡£¥µ¡¼¥Ð¤ÏÁ÷¤é¤ì¤Æ¤­¤¿¥ª¥Ö +¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ +\item +¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤ËÌ¿Îá¤òÁ÷¤ë¤È¡¢¥µ¡¼¥Ð¤ÏɬÍפʤÀ¤±¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿ +¤ò¼è¤ê½Ð¤·¡¢¼Â¹Ô¤·¤¿·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ +%¤Ã¤Æ½ñ¤¤¤Æ¤ë¤±¤É¡¢Ì¿Î᤬SM\_popCMO ¤È¤« SM\_shutdown ¤Î¾ì¹ç¤Ï? +\item +ºÇ¸å¤Ë SM\_popCMO ¤â¤·¤¯¤Ï SM\_popString ¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤È¡¢ +¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤«¤é·×»»·ë²Ì¤ÎÆþ¤Ã¤Æ¤¤¤ë¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·¡¢ +¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷½Ð¤¹¤ë¡£ +\end{enumerate} -\section{OpenXM ¤Î·×»»¤Î¿Ê¹ÔÊýË¡} +\section{OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó}\label{sec:oxsm} -OpenXM ¤Ë¤ª¤±¤ë·×»»¤È¤Ï¥á¥Ã¥»¡¼¥¸¤Î¸ò´¹¤Î¤³¤È¤Ç¤¢¤ë¡£ -´û¤Ë·×»»¥â¥Ç¥ë¤ÎÀá¤ÇÀâÌÀ¤·¤¿¤¬¡¢ -OpenXM ¤Ï¥µ¡¼¥Ð¡¦¥¯¥é¥¤¥¢¥ó¥È¥â¥Ç¥ë¤òºÎÍѤ·¤Æ¤¤¤Æ¡¢ -¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤ò»ý¤Ä¡£ -¥µ¡¼¥Ð¤¬¹Ô¤¦¤Î¤Ï´ðËÜŪ¤Ë¼¡¤Î»öÊÁ¤Ë¸Â¤é¤ì¤ë¡£ -¥¯¥é¥¤¥¢¥ó¥È¤«¤é¥á¥Ã¥»¡¼¥¸¤ò¼õ¤±¼è¤ë¤È¥µ¡¼¥Ð¤Ï¡¢ -¤Þ¤º¥á¥Ã¥»¡¼¥¸¤Î¼±Ê̻ҤòÄ´¤Ù¡¢ SM ·Á¼°¤Î¥Ç¡¼¥¿¤Ç¤Ê¤±¤ì¤Ð¥¹¥¿¥Ã¥¯¤ËÀѤࡣ -SM ·Á¼°¤Î¥Ç¡¼¥¿¤Ç¤¢¤ì¤Ð¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£¤«¤é -¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¥ª¥Ú¥³¡¼¥É¤ò¼è¤ê¤À¤·¡¢ -¤¢¤é¤«¤¸¤áµ¬Ìó¤ÇÄê¤á¤é¤ì¤¿Æ°ºî¤ò¹Ô¤Ê¤¦¡£ +OpenXM µ¬Ìó¤Ç¤Ï¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ç¤¢¤ë¤ÈÄêµÁ¤·¤Æ¤¤¤ë¡£°Ê²¼¡¢OpenXM +¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤È¸Æ¤Ö¡£¤³¤ÎÀá¤Ç¤ÏOpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Î¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ +¤·¤è¤¦¡£ -%¾å¤ÎÀâÌÀ¤Ç¤ï¤«¤ë¤è¤¦¤Ë¡¢ -¥µ¡¼¥Ð¤Ï¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤Î»Ø¼¨¤Ê¤·¤Ë¡¢ -¼«¤é¥á¥Ã¥»¡¼¥¸¤òÁ÷¤é¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -%(Îã³°? ox\_asir ¤Î mathcap)¡£ +¤Þ¤º¡¢OpenXM µ¬Ìó¤ÏÄÌ¿®»þ¤Ë¤ä¤ê¤È¤ê¤µ¤ì¤ë¶¦Ä̤Υǡ¼¥¿·Á¼°¤Ë¤Ä¤¤¤Æ¤Ïµ¬Äê +¤¹¤ë¤¬¡¢OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤¬¥¹¥¿¥Ã¥¯¤ËÀѤࡢ¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Þ¤Ç¤Ï +µ¬Äꤷ¤Ê¤¤¡£¤Ä¤Þ¤ê¡¢¥ª¥Ö¥¸¥§¥¯¥È¤Î¹½Â¤¤Ï³Æ¿ô³Ø¥·¥¹¥Æ¥à¤´¤È¤Ë°Û¤Ê¤Ã¤Æ¤¤¤ë +¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£¤³¤Î¤³¤È¤ÏÄÌ¿®Ï©¤«¤é¥Ç¡¼¥¿¤ò¼õ¤±¼è¤Ã¤¿ºÝ¤Ë¡¢³Æ¿ô³Ø¥·¥¹ +¥Æ¥à¤¬¸ÇÍ­¤Î¥Ç¡¼¥¿¹½Â¤¤ËÊÑ´¹¤·¤Æ¤«¤é¥¹¥¿¥Ã¥¯¤ËÀѤळ¤È¤ò°ÕÌ£¤¹¤ë¡£¤³¤ÎÊÑ +´¹¤Ï1ÂÐ1Âбþ¤Ç¤¢¤ëɬÍפϤʤ¤¡£ -¥µ¡¼¥Ð¤¬¥¯¥é¥¤¥¢¥ó¥È¤«¤é¼õ¤±¼è¤Ã¤¿¥á¥Ã¥»¡¼¥¸¤Ï¤¹¤Ù¤Æ¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¡£ -¼¡¤¤¤Ç¥µ¡¼¥Ð¤Ë SM ·Á¼°¤Î¥Ç¡¼¥¿¤òÁ÷¤ë¤È¡¢ -½é¤á¤Æ¥µ¡¼¥Ð¤Ï¥Ç¡¼¥¿¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà°Ê³°¤Î¤Ê¤ó¤é¤«¤ÎÆ°ºî¤ò¹Ô¤Ê¤¦¡£ -¤³¤Î¤È¤­¡¢É¬Íפ¬¤¢¤ì¤Ð¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤«¤éɬÍפʤÀ¤±¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤¹¡£ -¤³¤³¤Ç¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é¤ÎÌ¿Îá¤Ë¤è¤ëÆ°ºîÃæ¤Ë¤¿¤È¤¨¥¨¥é¡¼¤¬È¯À¸¤·¤¿¤È¤·¤Æ¤â -¥µ¡¼¥Ð¤Ï¥¨¥é¡¼¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤà¤À¤±¤Ç¡¢ -ÌÀ¼¨¤µ¤ì¤Ê¤¤¸Â¤ê¥¨¥é¡¼¤òÊÖ¤µ¤Ê¤¤¤³¤È¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +¼¡¤Ë OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ÎÌ¿Îᥳ¡¼¥É¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£OpenXM ¥¹¥¿¥Ã¥¯ +¥Þ¥·¥ó¤Ë¤ª¤±¤ë¤¹¤Ù¤Æ¤ÎÌ¿Îá¤Ï4¥Ð¥¤¥È¤ÎŤµ¤ò»ý¤Ä¡£OpenXM µ¬Ìó¤Î¾¤Îµ¬Äê¤È +ƱÍͤˡ¢4¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤Ï32¥Ó¥Ã¥ÈÀ°¿ô¤È¸«¤Ê¤µ¤ì¤ë¤Î¤Ç¡¢¤³¤ÎÏÀʸ¤Ç¤â¤½¤Î +ɽµ­¤Ë¤·¤¿¤¬¤¦¡£OpenXM ¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ËÂФ¹¤ëÌ¿Îá¤Ï¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¤³ +¤È¤Ï¤Ê¤¤¡£¸½ºß¤Î¤È¤³¤í¡¢OpenXM µ¬Ìó¤Ç¤Ï°Ê²¼¤ÎÌ¿Î᤬ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ -·ë²Ì¤¬À¸¤¸¤ëÆ°ºî¤ò¥µ¡¼¥Ð¤¬¹Ô¤Ê¤Ã¤¿¾ì¹ç¡¢ -¥µ¡¼¥Ð¤ÏÆ°ºî¤Î·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ -¥µ¡¼¥Ð¤Ë¹Ô¤Ê¤ï¤»¤¿Æ°ºî¤Î·ë²Ì¤ò¥¯¥é¥¤¥¢¥ó¥È¤¬ÃΤꤿ¤¤¾ì¹ç¡¢ -¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·Á÷¿®¤ò¹Ô¤Ê¤¦Ì¿Îá¤ËÂбþ¤·¤¿ SM ·Á¼°¤Î¥Ç¡¼¥¿¤ò -¥µ¡¼¥Ð¦¤ØÁ÷¤ì¤Ð¤è¤¤¡£ +\begin{verbatim} +#define SM_popSerializedLocalObject 258 +#define SM_popCMO 262 +#define SM_popString 263 -{\Huge °Ê²¼¡¢½ñ¤­Ä¾¤·} +#define SM_mathcap 264 +#define SM_pops 265 +#define SM_setName 266 +#define SM_evalName 267 +#define SM_executeStringByLocalParser 268 +#define SM_executeFunction 269 +#define SM_beginBlock 270 +#define SM_endBlock 271 +#define SM_shutdown 272 +#define SM_setMathCap 273 +#define SM_executeStringByLocalParserInBatchMode 274 +#define SM_getsp 275 +#define SM_dupErrors 276 -¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø·×»»¤ò¹Ô¤Ê¤ï¤»¡¢·ë²Ì¤òÆÀ¤ë¤È¤¤¤¦¼ê½ç¤òÄɤäƤ¤¤¯¤È¡¢ -¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£ +#define SM_DUMMY_sendcmo 280 +#define SM_sync_ball 281 -\begin{enumerate} -\item ¤Þ¤º¡¢¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ø·×»»¤µ¤»¤¿¤¤¥Ç¡¼¥¿¤òÁ÷¤ë¡£ - ¥µ¡¼¥Ð¤ÏÁ÷¤é¤ì¤Æ¤­¤¿¥Ç¡¼¥¿¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ -\item ¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤Ë¡Ö·×»»¤ò¹Ô¤Ê¤¦Æ°ºî¤ËÂбþ¤·¤¿¥Ç¡¼¥¿¡×¤ò - Á÷¤ë¤È¡¢¥µ¡¼¥Ð¤ÏɬÍפʤÀ¤±¥¹¥¿¥Ã¥¯¤«¤é¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·¡¢ - ¼Â¹Ô¤·¤¿·×»»¤Î·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ -\item ºÇ¸å¤Ë¡Ö¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·Á÷¿®¤ò¹Ô¤Ê¤¦Ì¿Îá¤ËÂбþ¤·¤¿¥Ç¡¼¥¿¡×¤ò - ¥µ¡¼¥Ð¤ØÁ÷¤ë¤È¡¢¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤«¤é·×»»·ë²Ì¤ÎÆþ¤Ã¤Æ¤¤¤ë - ¥Ç¡¼¥¿¤ò¼è¤ê½Ð¤·¡¢¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷½Ð¤¹¤ë¡£ -\end{enumerate} +#define SM_control_kill 1024 +#define SM_control_to_debug_mode 1025 +#define SM_control_exit_debug_mode 1026 +#define SM_control_ping 1027 +#define SM_control_start_watch_thread 1028 +#define SM_control_stop_watch_thread 1029 +#define SM_control_reset_connection 1030 +\end{verbatim} +%°Ê²¼¡¢¤É¤¦¤¤¤¦¤È¤­¤Ë·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤफ¥¨¥é¡¼¤Î¾ì¹ç¤É¤¦¤¹¤ë¤«¤ÎÀâÌÀ¤¬ +%ɬÍפǤ¢¤í¤¦¡£ -\section{CMO ¤Î¥Ç¡¼¥¿¹½Â¤} +¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤ËÂФ¹¤ëÌ¿Îá¤ÎÃæ¤Ë¤Ï¼Â¹Ô¤Î·ë²Ì¤¬Â¸ºß¤¹¤ë¤â¤Î¤¬¤¢¤ë¡£ +·ë²Ì¤¬Â¸ºß¤¹¤ëÌ¿Îá¤ò¼Â¹Ô¤·¤¿¾ì¹ç¡¢¥µ¡¼¥Ð¤Ï¤½¤Î·ë²Ì¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ +¤¿¤È¤¨¤Ð¡¢ SM\_executeStringByLocalParser ¤Ï +¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤Æ¤¤¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ò +¥µ¡¼¥Ð¦¤Î¥í¡¼¥«¥ë¸À¸ì¤Îʸˡ¤Ë½¾¤Ã¤¿Ê¸»úÎó¤È¤ß¤Ê¤·¤Æ·×»»¤ò¹Ô¤Ê¤¦¤¬¡¢ +¹Ô¤Ê¤Ã¤¿·ë²Ì¤Ï¥í¡¼¥«¥ë¸À¸ì¤Çµ­½Ò¤·¤¿Ê¸»úÎó¤Ç¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¡£ +¤Ê¤ª¡¢Ì¿Îá¤Î¼Â¹ÔÃæ¤Ë¥¨¥é¡¼¤¬µ¯¤³¤ê¡¢·ë²Ì¤¬ÆÀ¤é¤ì¤Ê¤«¤Ã¤¿¾ì¹ç¤Ë¤Ï¡¢ +¥¨¥é¡¼¥ª¥Ö¥¸¥§¥¯¥È¤¬¥¹¥¿¥Ã¥¯¤ËÀѤޤì¤ë¡£ -OpenXM ´Ö¤Ç¤ä¤ê¤È¤ê¤µ¤ì¤ë¥á¥Ã¥»¡¼¥¸¤ò¼ÂºÝ¤ËºîÀ®¤¹¤ë¾ì¹ç¡¢ -CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¿ÇÜĹÀ°¿ô¤òÍý²ò¤·¤Æ¤ª¤¯¤È¡¢ -CMO ·Á¼°¤Î¾¤Î¥Ç¡¼¥¿¹½Â¤¤À¤±¤Ç¤Ê¤¯¡¢ OX ·Á¼°¡¢ SM ·Á¼°¤Î¥Ç¡¼¥¿¤ò -Íý²ò¤¹¤ë½õ¤±¤Ë¤Ê¤ë¤È»×¤¨¤ë¤Î¤Ç¡¢ CMO ·Á¼°¤Î¿ÇÜĹÀ°¿ô¤Î -¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£ -CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤Ï¿ÇÜĹÀ°¿ô°Ê³°¤Ë¤â -ʸ»úÎó¤ä¥ê¥¹¥È¹½Â¤¤Ê¤É¤¬¤¢¤ë¡£¤É¤Î¤è¤¦¤Ê¥Ç¡¼¥¿¤Ç¤¢¤ë¤«¤Ï -¥Ç¡¼¥¿¤ÎÀèƬ¤Ë¤¢¤ë¥¿¥°¤ò¸«¤ì¤ÐȽÊ̤Ǥ­¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤³¤ì¤Ï¥á¥Ã¥»¡¼¥¸¤Î¥Ç¡¼¥¿¤ÎȽÊ̤λÅÊý¤È¤ª¤Ê¤¸¤Ç¤¢¤ë¡£ -¤Ê¤ª¡¢¥¿¥°¤Ï³Æ¥Ç¡¼¥¿Ëè¤Ë 32 bit ¤ÎÀ°¿ô¤Çɽ¤µ¤ì¤Æ¤ª¤ê¡¢ -¿ÇÜĹÀ°¿ô¤Ï 20 ¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤³¤³¤Ç 32 bit ¤ÎÀ°¿ô¤Îɽ¸½ÊýË¡¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ëɬÍפ¬¤¢¤ë¡£ -OpenXM ¤Ç¤Ï¥Ð¥¤¥ÈÎó¤Ç 32 bit ¤ÎÀ°¿ô 20 ¤ò -{\tt 00 00 00 14} ¤Èɽ¤¹ÊýË¡¤È {\tt 14 00 00 00} ¤Èɽ¤¹ÊýË¡¤¬¤¢¤ë¡£ -¤³¤Îɽ¸½ÊýË¡¤Î°ã¤¤¤Ï¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤ÎºÇ½é¤ÎÀܳ»þ¤Ë -ÁÐÊý¤Î¹ç°Õ¤Ç·èÄꤹ¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤Ê¤ª¡¢¹ç°Õ¤¬¤Ê¤¤¾ì¹ç¤Ë¤Ï -Á°¼Ô¤Îɽ¸½ÊýË¡(°Ê¸å¡¢¤³¤Îɽ¸½ÊýË¡¤ò network byte order ¤È¸Æ¤Ö)¤ò -»È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤Þ¤¿¡¢Éé¤Î¿ô¤òɽ¸½¤¹¤ëɬÍפ¬¤¢¤ë¤È¤­¤Ë¤Ï¡¢ -2 ¤ÎÊä¿ôɽ¸½¤ò»È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ +\section{CMO ¤Î¥Ç¡¼¥¿¹½Â¤}\label{sec:cmo} -ɽ¸½¤·¤¿¤¤Â¿ÇÜĹÀ°¿ô¤ÎÀäÂÐÃͤò 2 ¿Ê¿ô¤Çɽ¤·¤¿¾ì¹ç¤Î·å¿ô¤ò $n$ ¤È -¤·¤¿¤È¤­¡¢¼¡¤Ë¤¯¤ë¥Ç¡¼¥¿¤Ï $[(n+31)/32]$ ¤ò 32 bit ¤ÎÀ°¿ô¤È¤Ê¤ë¡£ -¤³¤ì¤Ï¿ÇÜĹÀ°¿ô¤ÎÀäÂÐÃͤò $2^{32}$ ¿Ê¿ô¤Çɽ¤·¤¿¾ì¹ç¤Î·å¿ô¤È¤È¤Ã¤Æ¤â¤è¤¤¡£ -¤¿¤À¤·¡¢É½¸½¤·¤¿¤¤¿ô¤¬Éé¤Î¾ì¹ç¤Ï $[(n+31)/32]$ ¤ò 32 bit ¤ÎÀ°¿ô¤Çɽ¤·¤¿Ãͤò - 2 ¤ÎÊä¿ôɽ¸½¤ÇÉé¤Ë¤·¤Æ¡¢Àµ¤Î¾ì¹ç¤È¶èÊ̤¹¤ë¡£ +OpenXM µ¬Ìó¤Ç¤Ï¡¢¿ô³ØŪ¥ª¥Ö¥¸¥§¥¯¥È¤òɽ¸½¤¹¤ëÊýË¡¤È¤·¤Æ CMO ·Á¼°(Common +Mathematical Object format)¤òÄêµÁ¤·¤Æ¤¤¤ë¡£¤³¤Î CMO ·Á¼°¤Ë¤·¤¿¤¬¤Ã¤¿¥Ç¡¼ +¥¿¤Ï¡¢¼±Ê̻Ҥ¬ OX\_DATA ¤Ç¤¢¤ë¤è¤¦¤Ê¥á¥Ã¥»¡¼¥¸¤Î¥Ü¥Ç¥£¤Ë¤Ê¤ë¤³¤È¤òÁÛÄꤷ +¤Æ¤¤¤ë¡£ -ɽ¸½¤·¤¿¤¤Â¿ÇÜĹÀ°¿ô¤ÎÀäÂÐÃͤ¬ $2^{32}$ ¿Ê¿ô¤Ç $(b_0 b_1 ... b_k)_{2^{32}}$ -¤Èɽ¤»¤ë¤È¤­¡¢¼¡¤Ë¤¯¤ë¥Ç¡¼¥¿¤Ï $b_0$, $b_1$, $\cdots$, $b_k$ ¤ò -¤½¤ì¤¾¤ì 32 bit ¤ÎÀ°¿ô¤Çɽ¸½¤·¤¿ÃͤȤʤ롣 -%°Ê²¼¤Ï½ñ¤­Ä¾¤·¤ÎɬÍפ¬¤¢¤ë¤«¤â... -¤Ê¤ª¡¢ GNU MP LIBRARY ¤òÍѤ¤¤ë¤È¡¢ -C ¸À¸ì¤«¤é¿ÇÜĹÀ°¿ô¤äǤ°ÕÀºÅÙÉâÆ°¾®¿ô¤ò°·¤¦¤³¤È¤¬¤Ç¤­¤ë¡£ -$b_0$, $b_1$, $\cdots$, $b_k$ ¤ò¤½¤ì¤¾¤ì 32 bit À°¿ô¤Çɽ¸½¤·¤¿ÃÍ¤Ï -¤³¤Î GNU MP LIBRARY ¤ÇÍѤ¤¤é¤ì¤Æ¤¤¤ë¿ÇÜĹÀ°¿ô¤Ç»È¤ï¤ì¤Æ¤¤¤ë·Á¼°¤ò -»²¹Í¤Ë¤·¤Æ¹ç¤ï¤»¤Æ¤¢¤ë¡£ +CMO ·Á¼°¤Ë¤ª¤±¤ë¥Ç¡¼¥¿¹½Â¤¤Ï¼¡¤Î¤è¤¦¤Ê¹½Â¤¤ò¤â¤Ä¡£ -¤³¤³¤Ç¶ñÂÎÎã¤ò¤À¤½¤¦¡£ -$4294967298 = 1 \times 2^{32} + 2$ ¤ò network byte order ¤Î¿ÇÜĹÀ°¿ô¤Ç -ɽ¸½¤¹¤ë¤È¡¢ -\begin{center} - {\tt 00 00 00 14 00 00 00 02 00 00 00 02 00 00 00 01} -\end{center} -¤È¤Ê¤ë¡£¤Þ¤¿¡¢Æ±¤¸É½¸½ÊýË¡¤Ç $-1$ ¤òɽ¸½¤¹¤ë¤È¡¢ -\begin{center} - {\tt 00 00 00 14 ff ff ff ff 00 00 00 01} -\end{center} -¤È¤Ê¤ë¡£ +\begin{tabular}{|c|c|} \hline +¥Ø¥Ã¥À & \hspace{10mm} ¥Ü¥Ç¥£ \hspace{10mm} \\ \hline +\end{tabular} +¥Ø¥Ã¥À¤Ï4¥Ð¥¤¥È¤Ç¤¢¤ë¡£¥Ü¥Ç¥£¤ÎŤµ¤Ï¤½¤ì¤¾¤ì¤Î¥Ç¡¼¥¿¤Ë¤è¤Ã¤Æ°Û¤Ê¤ë¤¬¡¢ +0¤Ç¤â¤è¤¤¡£ -\section{MathCap ¤Ë¤Ä¤¤¤Æ} +¥á¥Ã¥»¡¼¥¸¤ÈƱÍͤ˥إåÀ¤Ï4¥Ð¥¤¥Èñ°Ì¤Ë´ÉÍý¤µ¤ì¤ë¡£¤¹¤Ê¤ï¤Á¡¢CMO ¤Ç¤Ï¥Ø¥Ã +¥À¤Ï°ì¤Ä¤À¤±¤Î¾ðÊó¤ò´Þ¤à¡£¤³¤Î4¥Ð¥¤¥È¤Î¥Ø¥Ã¥À¤Î¤³¤È¤ò¥¿¥°¤È¤â¤¤¤¦¡£¤µ¤Æ¡¢ +CMO ¤Ç¤Ï¡¢¥¿¥°¤Ë¤è¤Ã¤Æ¥Ü¥Ç¥£¤ÎÏÀÍýŪ¹½Â¤¤¬·èÄꤹ¤ë¡£¤¹¤Ê¤ï¤Á¡¢¥¿¥°¤Ï¤½¤ì +¤¾¤ì¤Î¥Ç¡¼¥¿¹½Â¤¤È1ÂÐ1¤ËÂбþ¤¹¤ë¼±Ê̻ҤǤ¢¤ë¡£¤½¤ì¤¾¤ì¤ÎÏÀÍýŪ¹½Â¤¤Ï +\cite{OpenXM-1999} ¤Ë¾Ü½Ò¤µ¤ì¤Æ¤¤¤ë¡£¸½ºß¤Î OpenXM µ¬Ìó¤Ç¤Ï°Ê²¼¤Î CMO ¤¬ +ÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ -¥µ¡¼¥Ð¤ª¤è¤Ó¥¯¥é¥¤¥¢¥ó¥ÈÁÐÊý¤È¤â¤Ë OpenXM ¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë -¥á¥Ã¥»¡¼¥¸¤ÎÃæ¤Î¥Ç¡¼¥¿·Á¼°¤ò¤¹¤Ù¤Æ¼õ¤±¼è¤ì¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£ -¤·¤«¤â¡¢ OpenXM µ¬Ìó¤Çµ¬Äꤵ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿·Á¼°¤À¤±¤¬ -¼õÅϤ·¤Ë»È¤ï¤ì¤ë¤È¤¤¤¦¤ï¤±¤Ç¤Ï¤Ê¤¤¡£ -¤½¤³¤Ç¡¢ OpenXM ¤Ç¤ÏÁê¼ê¦¤¬¼õ¤±¼è¤ë¤³¤È¤¬¤Ç¤­¤ë¥Ç¡¼¥¿·Á¼°¤ò -¼ýÆÀ¤¹¤ëÊýË¡¤òÍÑ°Õ¤·¤Æ¤¤¤ë¡£ +\begin{verbatim} +#define CMO_ERROR2 0x7f000002 +#define CMO_NULL 1 +#define CMO_INT32 2 +#define CMO_DATUM 3 +#define CMO_STRING 4 +#define CMO_MATHCAP 5 -CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë MathCap ¥Ç¡¼¥¿¤Ï -%Íý²ò²Äǽ¤Ê¥á¥Ã¥»¡¼¥¸¤Î -¼õ¤±¼è¤ë¤³¤È¤¬¤Ç¤­¤ë¥Ç¡¼¥¿·Á¼°¤òɽ¤¹¥Ç¡¼¥¿¤Ç¤¢¤ê¡¢ -Í׵ᤵ¤ì¤ì¤Ð¥µ¡¼¥Ð¤Ï¥µ¡¼¥Ð¼«¿È¤Î MathCap ¥Ç¡¼¥¿¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ -¤Þ¤¿¡¢¥¯¥é¥¤¥¢¥ó¥È¤«¤é MathCap ¥Ç¡¼¥¿¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤³¤È¤â¤Ç¤­¡¢ -MathCap ¥Ç¡¼¥¿¤ò¥µ¡¼¥Ð¤È¥¯¥é¥¤¥¢¥ó¥È¤Î´Ö¤Ç¸ò´¹¤¹¤ë¤³¤È¤Ë¤è¤Ã¤Æ¡¢ -¤ª¸ß¤¤¤ËÁê¼ê¦¤¬¼õ¤±¼è¤ë¤³¤È¤¬¤Ç¤­¤Ê¤¤¥Ç¡¼¥¿·Á¼°¤Ç -¥á¥Ã¥»¡¼¥¸¤òÁ÷¤Ã¤Æ¤·¤Þ¤¦¤Î¤òËɤ°¤³¤È¤¬¤Ç¤­¤ë¡£ -¤Ê¤ª¡¢ MathCap ¥Ç¡¼¥¿¤ÎÃæ¤Ç¤Ï CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë -32 bit À°¿ô¡¢Ê¸»úÎ󡢥ꥹ¥È¹½Â¤¤¬»È¤ï¤ì¤Æ¤ª¤ê¡¢ -MathCap ¥Ç¡¼¥¿¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëÆâÍƤòÍý²ò¤Ç¤­¤ë¤¿¤á¤Ë¤Ï -ɬÁ³Åª¤Ë¤³¤ì¤é¤âÍý²ò¤Ç¤­¤ëɬÍפ¬¤¢¤ë¡£ +#define CMO_START_SIGNATURE 0x7fabcd03 +#define CMO_ARRAY 16 +#define CMO_LIST 17 +#define CMO_ATOM 18 +#define CMO_MONOMIAL32 19 +#define CMO_ZZ 20 +#define CMO_QQ 21 +#define CMO_ZERO 22 +#define CMO_DMS_GENERIC 24 +#define CMO_DMS_OF_N_VARIABLES 25 +#define CMO_RING_BY_NAME 26 +#define CMO_RECURSIVE_POLYNOMIAL 27 +#define CMO_LIST_R 28 -OpenXM ÂбþÈǤΠasir ¥µ¡¼¥Ð¤Ç¤¢¤ë ox\_asir ¤¬ÊÖ¤¹ MathCap ¤ò°Ê²¼¤Ë¼¨¤¹¡£ +#define CMO_INT32COEFF 30 +#define CMO_DISTRIBUTED_POLYNOMIAL 31 +#define CMO_POLYNOMIAL_IN_ONE_VARIABLE 33 +#define CMO_RATIONAL 34 -%¤Ê¤ª¡¢ $a_1$, $a_2$, $\cdots$, $a_n$ ¤òÍ×ÁÇ¤Ë -%»ý¤Ä¥ê¥¹¥È¹½Â¤¤ò {\tt [$a_1$, $a_2$, $\cdots$, $a_n$]} ¡¢ -%ʸ»úÎó ``string'' ¤ò {\tt "string"} ¡¢ 32 bit À°¿ô¤ò -%¤½¤ì¤ËÂбþ¤¹¤ë 10 ¿Ê¿ô¤ÎÀ°¿ô¤Ç¼¨¤¹¡£ +#define CMO_64BIT_MACHINE_DOUBLE 40 +#define CMO_ARRAY_OF_64BIT_MACHINE_DOUBLE 41 +#define CMO_128BIT_MACHINE_DOUBLE 42 +#define CMO_ARRAY_OF_128BIT_MACHINE_DOUBLE 43 -%¢­¼ê¤Çºî¤Ã¤¿¤Î¤Ç´Ö°ã¤¨¤Æ¤¤¤ë²ÄǽÀ­¤¢¤ê¡£ -%%¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¡£º¹¤·Âؤ¨¤ÎɬÍפ¢¤ê¡£ +#define CMO_BIGFLOAT 50 +#define CMO_IEEE_DOUBLE_FLOAT 51 + +#define CMO_INDETERMINATE 60 +#define CMO_TREE 61 +#define CMO_LAMBDA 62 +\end{verbatim} + +¤³¤ÎÃæ¤Ç CMO\_ERROR2, CMO\_NULL, CMO\_INT32, CMO\_DATUM, CMO\_STRING, +CMO\_MATHCAP, CMO\_LIST ¤Ç¼±Ê̤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤ÏºÇ¤â´ðËÜŪ¤Ê¥ª¥Ö¥¸¥§ +¥¯¥È¤Ç¤¢¤Ã¤Æ¡¢¤¹¤Ù¤Æ¤Î OpenXM Âбþ¥·¥¹¥Æ¥à¤Ë¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ + +¤³¤ì¤é¤Ë¤Ä¤¤¤Æ¤Î²òÀâ¤ò¹Ô¤¦Á°¤Ëµ­Ë¡¤Ë¤Ä¤¤¤Æ¡¢¾¯¤·ÀâÌÀ¤·¤Æ¤ª¤¯¡£ +¤³¤ÎÏÀʸ¤Ç¤Ï¡¢Âçʸ»ú¤Ç CMO\_INT32 ¤È½ñ¤¤¤¿¾ì¹ç¤Ë¤Ï¡¢¾åµ­¤ÇÄêµÁ¤·¤¿¼±ÊÌ»Ò +¤òɽ¤ï¤¹¡£¤Þ¤¿ CMO\_INT32 ¤Ç¼±Ê̤µ¤ì¤ë¥ª¥Ö¥¸¥§¥¯¥È¤Î¥¯¥é¥¹(¤¢¤ë¤¤¤Ï¥Ç¡¼ +¥¿¹½Â¤)¤ò cmo\_int32 ¤È¾®Ê¸»ú¤Çɽ¤ï¤¹¤³¤È¤Ë¤¹¤ë¡£ + +¤µ¤Æ cmo ¤òɽ¸½¤¹¤ë¤¿¤á¤Î°ì¤Ä¤Îµ­Ë¡¤òƳÆþ¤¹¤ë¡£¤³¤Îµ­Ë¡¤Ï CMO expression +¤È¸Æ¤Ð¤ì¤Æ¤¤¤ë¡£¤½¤ÎÀµ³Î¤Ê·Á¼°ÅªÄêµÁ¤Ï \cite{OpenXM-1999} ¤ò»²¾È¤¹¤ë¤³¤È¡£ + +¤Þ¤º CMO expssion ¤Ï Lisp É÷ɽ¸½¤Î°ì¼ï¤Ç¡¢ cmo ¤ò³ç¸Ì¤Ç°Ï¤ó¤À¥ê¥¹¥È¤È¤· +¤Æɽ¸½¤¹¤ë¡£¤½¤ì¤¾¤ì¤ÎÍ×ÁǤϥ«¥ó¥Þ¤Ç¶èÀڤ롣 +Î㤨¤Ð¡¢ +\begin{quote} +(17, {\sl int32}, (CMO\_NULL), (2, {\sl int32} $n$)) +\end{quote} +¤Ï CMO expression ¤Ç¤¢¤ë¡£¤³¤³¤Ç¡¢¾®Ê¸»ú¤Î¼ÐÂΤÇɽ¤µ¤ì¤¿``{\sl int32}'' +¤Ï 4¥Ð¥¤¥È¤ÎǤ°Õ¤Î¥Ç¡¼¥¿¤òɽ¤¹µ­¹æ¤Ç¤¢¤ê¡¢``{\sl int32} $n$'' ¤ÏƱ¤¸¤¯ 4 +¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤Ç¤¢¤ë¤¬°Ê²¼¤ÎÀâÌÀ¤Ç $n$ ¤Èɽ¤¹¤³¤È¤ò¼¨¤¹¡£¤Þ¤¿¿ô»ú 17, 2 +¤Ê¤É¤Ï 4¥Ð¥¤¥È¤Î¥Ç¡¼¥¿¤ÇÀ°¿ôÃͤȤ·¤Æ¤ß¤¿¤È¤­¤ÎÃͤò°ÕÌ£¤¹¤ë¡£CMO\_NULL ¤Ï +¼±ÊÌ»Ò(¤¹¤Ê¤ï¤Á¿ô»ú 1 ¤ÈÅù²Á)¤Ç¤¢¤ë¡£¤³¤Îµ­Ë¡¤«¤é¾åµ­¤Î¥Ç¡¼¥¿¤Ï 20 ¥Ð¥¤ +¥È¤ÎÂ礭¤µ¤Î¥Ç¡¼¥¿¤Ç¤¢¤ë¤³¤È¤¬Ê¬¤«¤ë¡£ + +¤µ¤Æ¡¢¤³¤Îµ­Ë¡¤Î¤â¤È¤Ç cmo\_int32 ¤ò¼¡¤Î¥Ç¡¼¥¿¹½Â¤¤ò»ý¤Ä¤ÈÄêµÁ¤¹¤ë¡£ +\begin{quote} +cmo\_int32 := (CMO\_INT32, {\sl int32}) +\end{quote} + +{\Huge ƱÍÍ¤Ë cmo\_string, cmo\_list ¤Ê¤É¤òÄêµÁ} + +cmo\_string := (CMO\_STRING, {\sl int32}, string) + +cmo\_list := (CMO\_LIST, {\sl int32},... + +% ¤³¤³¤Ç 32 bit ¤ÎÀ°¿ô¤Îɽ¸½ÊýË¡¤Ë¤Ä¤¤¤Æ¿¨¤ì¤Æ¤ª¤¯¡£ +% OpenXM µ¬Ìó¤Ç¤Ï¥Ð¥¤¥È¥¹¥È¥ê¡¼¥à¤Ç 32 bit ¤ÎÀ°¿ô 20 ¤ò +% {\tt 00 00 00 14} ¤Èɽ¤¹ÊýË¡¤È {\tt 14 00 00 00} ¤Èɽ¤¹ÊýË¡¤¬¤¢¤ë¡£ +% ¤³¤Îɽ¸½ÊýË¡¤Î°ã¤¤¤Ï¥¯¥é¥¤¥¢¥ó¥È¤È¥µ¡¼¥Ð¤ÎºÇ½é¤ÎÀܳ»þ¤Ë +% ÁÐÊý¤Î¹ç°Õ¤Ç·èÄꤹ¤ë¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ +% ¤Ê¤ª¡¢¹ç°Õ¤¬¤Ê¤¤¾ì¹ç¤Ë¤ÏÁ°¼Ô¤Îɽ¸½ÊýË¡ +% (°Ê¸å¡¢¤³¤Îɽ¸½ÊýË¡¤ò¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¤È¸Æ¤Ö)¤ò +% »È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ +% ¤Þ¤¿¡¢Éé¤Î¿ô¤òɽ¸½¤¹¤ëɬÍפ¬¤¢¤ë¤È¤­¤Ë¤Ï¡¢ +% 2 ¤ÎÊä¿ôɽ¸½¤ò»È¤¦¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ + +% Àè¤Û¤É¤Î¡¢ (CMO\_INT32, 123456789) ¤ò¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¤Ç +% ¥Ð¥¤¥ÈÎó¤Ëľ¤¹¤È¡¢ +% \begin{center} +% {\tt 00 00 00 02 07 5b cd 15} +% \end{center} +% ¤È¤Ê¤ê¡¢ +% (CMO\_STRING, 6, ``OpenXM'') ¤Ï +% \begin{center} +% {\tt 00 00 00 04 00 00 00 06 4f 70 65 6e 58 4d} +% \end{center} +% ¤È¤Ê¤ë¡£ + +% CMO ·Á¼°¤Î¿ÇÜĹÀ°¿ô¤Ï¡¢ Gnu MP¥é¥¤¥Ö¥é¥êÅù¤ò»²¹Í¤Ë¤·¤Æ¤ª¤ê¡¢ +% Éä¹æÉÕ¤­ÀäÂÐÃÍɽ¸½¤òÍѤ¤¤Æ¤¤¤ë¡£ +% ¥¿¥°°Ê¹ß¤Î·Á¼°¤Ï¼¡¤Î¤è¤¦¤Ë¤Ê¤ë¡£ + +% \begin{tabular}{|c|c|c|c|c|} \hline +% $f$ & $b_0$ & $b_1$ & $\cdots$ & $b_{n-1}$ \\ \hline +% \end{tabular} + +% ¤³¤³¤Ç¡¢ 1 ¤Ä¤ÎÏÈ¤Ï 4 ¥Ð¥¤¥È¤òɽ¤·¡¢ +% $f$ ¤ÏÉä¹æÉÕ¤­ 32 ¥Ó¥Ã¥ÈÀ°¿ô¤ò¡¢ +% $b_0$, $b_1$, $\cdots$, $b_{n-1}$ ¤ÏÉä¹æ¤Ê¤· 32 ¥Ó¥Ã¥ÈÀ°¿ô¤òɽ¤·¤Æ¤¤¤ë¡£ +% ¤µ¤é¤Ë¡¢ $|f| = n$ ¤¬À®¤êΩ¤¿¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ +% ¤³¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ï +% \[ \mbox{sgn}(f) \times \{ b_0 (2^{32})^0 + b_1 (2^{32})^1 + \cdots +% + b_{n-1} (2^{32})^{n-1} \} \] +% ¤È¤¤¤¦À°¿ô¤Ç¤¢¤ë¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤ë¡£ +% ¤¿¤À¤·¡¢ +% \[ \mbox{sgn}(f) = \left\{ \begin{array}{ll} +% 1 & f>0 \\ +% 0 & f=0 \\ +% -1 & f<0 \\ \end{array} \right. \] +% ¤Ç¤¢¤ë¡£ + +% ¤³¤³¤Ç¶ñÂÎÎã¤ò¤À¤½¤¦¡£ +% $4294967298 = 1 \times 2^{32} + 2$ ¤ò CMO ·Á¼°¤Î +% ¥Í¥Ã¥È¥ï¡¼¥¯¥Ð¥¤¥È¥ª¡¼¥À¡¼¡¢Â¿ÇÜĹÀ°¿ô¤Çɽ¸½¤¹¤ë¤È¡¢ +% \begin{center} +% {\tt 00 00 00 14 00 00 00 02 00 00 00 02 00 00 00 01} +% \end{center} +% ¤È¤Ê¤ë¡£¤Þ¤¿¡¢Æ±¤¸É½¸½ÊýË¡¤Ç $-1$ ¤òɽ¸½¤¹¤ë¤È¡¢ +% \begin{center} +% {\tt 00 00 00 14 ff ff ff ff 00 00 00 01} +% \end{center} +% ¤È¤Ê¤ë¡£ + + +\section{mathcap ¤Ë¤Ä¤¤¤Æ} + +OpenXM µ¬Ìó¤Ç¤Ï¡¢ÄÌ¿®»þ¤ËÍѤ¤¤é¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³Æ¥½¥Õ¥È¥¦¥§¥¢¤¬À© +¸Â¤¹¤ëÊýË¡¤òÍÑ°Õ¤·¤Æ¤¤¤ë¡£¤³¤ì¤Ï³Æ¥½¥Õ¥È¥¦¥§¥¢¤Î¼ÂÁõ¤Ë¤è¤Ã¤Æ¤Ï¤¹¤Ù¤Æ¤Î¥á¥Ã +¥»¡¼¥¸¤ò¥µ¥Ý¡¼¥È¤¹¤ë¤Î¤¬º¤Æñ¤Ê¾ì¹ç¤¬¤¢¤ë¤«¤é¤Ç¤¢¤ë¡£¤Þ¤¿¡¢³Æ¥½¥Õ¥È¥¦¥§¥¢ +¤Ç¥á¥Ã¥»¡¼¥¸¤Î¼ïÎà¤ò³ÈÄ¥¤·¤¿¤¤¾ì¹ç¤Ë¤âÍ­¸ú¤Ç¤¢¤ë¡£¤³¤ÎÀ©¸Â(¤¢¤ë¤¤¤Ï³ÈÄ¥) +¤Ï mathcap ¤È¸Æ¤Ð¤ì¤ë¥Ç¡¼¥¿¹½Â¤¤Ë¤è¤Ã¤Æ¹Ô¤ï¤ì¤ë¡£¤³¤ÎÀá¤Ç¤Ï mathcap ¤Î¥Ç¡¼ +¥¿¹½Â¤¤È¡¢¶ñÂÎŪ¤Ê¥á¥Ã¥»¡¼¥¸¤ÎÀ©¸Â¤Î¼ê³¤­¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£ + +¤Ç¤Ï¡¢¼ê³¤­¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦¡£ + +Âè°ì¤Ë¥µ¡¼¥Ð¤Îµ¡Ç½¤òÀ©¸Â¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤¬ mathcap +¥ª¥Ö¥¸¥§¥¯¥È¤ò¥µ¡¼¥Ð¤ØÁ÷¤ë¤È¡¢¥µ¡¼¥Ð¤Ï¼õ¤±¼è¤Ã¤¿mathcap ¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ +¼¡¤Ë¥¯¥é¥¤¥¢¥ó¥È¤¬Ì¿Îá SM\_setMathCap ¤òÁ÷¤ë¤È¡¢¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì +¤ËÀѤޤì¤Æ¤¤¤ë mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤ò¼è¤ê½Ð¤·¡¢mathcap ¤ÇÀßÄꤵ¤ì¤Æ¤¤¤Ê +¤¤¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¤ØÁ÷¤é¤Ê¤¤¤è¤¦¤ËÀ©¸Â¤ò¹Ô¤¦¡£ + +ÂèÆó¤Ë¥¯¥é¥¤¥¢¥ó¥È¤òÀ©¸Â¤¹¤ë¤Ë¤Ï¼¡¤Î¤è¤¦¤Ë¤¹¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤¬¥µ¡¼¥Ð¤ËÌ¿ +Îá SM\_mathcap ¤òÁ÷¤ë¤È¡¢¥µ¡¼¥Ð¤Ï mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤ò¥¹¥¿¥Ã¥¯¤ËÀѤࡣ +¤µ¤é¤ËÌ¿Îá SM\_popCMO ¤òÁ÷¤ë¤È¡¢¥µ¡¼¥Ð¤Ï¥¹¥¿¥Ã¥¯¤ÎºÇ¾å°Ì¤Î¥ª¥Ö¥¸¥§¥¯¥È +(¤¹¤Ê¤ï¤Á mathcap ¥ª¥Ö¥¸¥§¥¯¥È)¤ò¥Ü¥Ç¥£¤È¤¹¤ë¥á¥Ã¥»¡¼¥¸¤ò¥¯¥é¥¤¥¢¥ó¥È¤Ë +Á÷ÉÕ¤¹¤ë¡£¥¯¥é¥¤¥¢¥ó¥È¤Ï¤½¤Î¥ª¥Ö¥¸¥§¥¯¥È¤ò²òÀϤ·¤Æ¡¢À©¸Â¤ò¤«¤±¤ë¡£ + +¼¡¤Ë mathcap ¤Î¥Ç¡¼¥¿¹½Â¤¤Ë¤Ä¤¤¤ÆÀâÌÀ¤¹¤ë¡£ +mathcap ¤Ï CMO ¤Î°ì¼ï¤Ç¤¢¤ë¤Î¤Ç¡¢¤¹¤Ç¤ËÀâÌÀ¤·¤¿¤è¤¦¤Ë \begin{verbatim} -[ [199901160,"ox_asir"], - [276,275,258,262,263,266,267,268,274 - ,269,272,265,264,273,300,270,271], - [ [514,[1,2,3,4,5,2130706433,2130706434 - ,17,19,20,21,22,24,25,26,31,27,33,60]], - [2144202544,[0,1]] - ] -] +¥Ø¥Ã¥À ¥Ü¥Ç¥£ \end{verbatim} +¤Î¹½Â¤¤ò»ý¤Á¥Ø¥Ã¥À¤ÎÃÍ¤Ï 5 ¤Ç¤¢¤ë(\ref{sec:cmo} Àá¤ò»²¾È¤Î¤³¤È)¡£ +¥Ü¥Ç¥£¤Ï cmo\_list ¥ª¥Ö¥¸¥§¥¯¥È¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -¤³¤Î MathCap ¥Ç¡¼¥¿¤Î¥ê¥¹¥È¹½Â¤¤ÏÂ礭¤¯Ê¬¤±¤Æ 3 ¤Ä¤ÎÉôʬ¤Ëʬ¤«¤ì¤ë¡£ -ºÇ½é¤Î {\tt [199901160,"ox\_asir"]} ¤ÎÉôʬ¤Ë¤Ï¥µ¡¼¥Ð¤Î¾ðÊó¤¬Æþ¤Ã¤Æ¤¤¤ë¡£ -%¤³¤ÎºÇ½é¤ÎÍ×ÁǤ¬¤Þ¤¿¥ê¥¹¥È¹½Â¤¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢ -ºÇ½é¤ÎÍ×ÁǤϥС¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤ò¡¢¼¡¤ÎÍ×ÁǤϥµ¡¼¥Ð¤Î̾Á°¤òɽ¤·¤Æ¤¤¤ë¡£ +¤µ¤Æ¡¢mathcap ¥ª¥Ö¥¸¥§¥¯¥È¤Î¥Ü¥Ç¥£¤Î cmo\_list ¥ª¥Ö¥¸¥§¥¯¥È¤Ï°Ê²¼¤Î¾ò·ï¤ò +Ëþ¤¿¤¹¤³¤È¤òÍ׵ᤵ¤ì¤ë¡£ -¼¡¤Î {\tt [276,275,$\cdots$,271]} ¤ÎÉôʬ¤Ï -¥µ¡¼¥Ð¤ËÂФ¹¤ëÆ°ºî¤ËÂбþ¤·¤¿Íý²ò²Äǽ¤Ê¥Ç¡¼¥¿¤Î¼ïÎà¤òɽ¤·¤Æ¤¤¤ë¡£ -¥µ¡¼¥Ð¤ÎÆ°ºî¤ËÂФ¹¤ë¥Ç¡¼¥¿¤Ï¤¹¤Ù¤Æ 32 bit ¤ÎÀ°¿ô¤Çɽ¤·¤Æ¤ª¤ê¡¢ -¤³¤Î¥ê¥¹¥È¤ÏÍý²ò²Äǽ¤Ê¥Ç¡¼¥¿¤ËÂбþ¤¹¤ë 32 bit À°¿ô¤Î¥ê¥¹¥È¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ +¤Þ¤º¡¢¤½¤Î cmo\_list ¥ª¥Ö¥¸¥§¥¯¥È¤Ï¾¯¤Ê¤¯¤È¤â¥ê¥¹¥ÈŤ¬ 3 °Ê¾å¤Ç¤Ê¤±¤ì¤Ð +¤Ê¤é¤Ê¤¤¡£ -ºÇ¸å¤Î {\tt [ [514,[1,2,3,$\cdots$,60]],[2144202544,[0,1]] ]} ¤ÎÉôʬ¤Ï -Íý²ò²Äǽ¤Ê¥Ç¡¼¥¿¤Î·Á¼°¤òɽ¤·¤Æ¤¤¤ë¡£ -¤³¤ÎÉôʬ¤Ï¤µ¤é¤Ë {\tt [514,[1,2,3,$\cdots$,60]]} ¤È -{\tt [2144202544,[0,1]]} ¤Ë¤ÎÉôʬ¤Ëʬ¤±¤ë¤³¤È¤¬¤Ç¤­¡¢ -¤½¤ì¤¾¤ì¤¬°ì¤Ä¤Î¥Ç¡¼¥¿·Á¼°¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤É¤Î¥Ç¡¼¥¿·Á¼°¤Ë¤Ä¤¤¤Æ¤Î¾ðÊ󤫤Ϻǽé¤ÎÍ×ÁǤˤ¢¤ëÀ°¿ôÃͤò¤ß¤ì¤Ð -ʬ¤«¤ë¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤³¤ÎÀ°¿ôÃÍ¤Ï CMO ·Á¼°¤Ç¤Ï 514 ¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ -ºÇ½é¤Î¥Ç¡¼¥¿·Á¼°¤ò¶èÊ̤¹¤ëÀ°¿ôÃͰʸå¤ÎÍ×ÁÇ¤Ï -³Æ¥Ç¡¼¥¿·Á¼°¤Ë¤è¤Ã¤Æ¤É¤Î¤è¤¦¤Ë»È¤ï¤ì¤ë¤«Äê¤Þ¤Ã¤Æ¤¤¤ë¡£ -CMO ·Á¼°¤Ç¤ÏÍý²ò²Äǽ¤Ê¥Ç¡¼¥¿¤Î¥¿¥°¤¬¥ê¥¹¥È¤ÎÃæ¤Ë¼ý¤Þ¤Ã¤Æ¤¤¤ë¡£ -Á°Àá¤Ç CMO ·Á¼°¤Ç¤Ï¿ÇÜĹÀ°¿ô¤òɽ¤¹¥¿¥°¤¬ 20 ¤Ç¤¢¤ë¤³¤È¤ò½Ò¤Ù¤¿¤¬¡¢ -¤³¤Î¥ê¥¹¥È¤Ë 20 ¤¬´Þ¤Þ¤ì¤Æ¤¤¤ë¤Î¤Ç¡¢ -ox\_asir ¤Ï CMO ·Á¼°¤Î¿ÇÜĹÀ°¿ô¤ò¼õ¤±¼è¤ì¤ë¤³¤È¤¬¤ï¤«¤ë¡£ +\[ \begin{tabular}{|c|c|c|} \hline + $A$ & $B$ & $C$ \\ \hline + \end{tabular} \] -%%¤³¤Î¥ê¥¹¥È¤ÎÍ×ÁǤϤޤ¿¥ê¥¹¥È¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢ -%¤³¤ÎºÇ¸å¤ÎÉôʬ¤â¤Þ¤¿¥ê¥¹¥È¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢ -%¤¢¤ë¥Ç¡¼¥¿·Á¼°¤ÇÍý²ò²Äǽ¤Ê¤â¤Î¤òɽ¸½¤·¤¿¥ê¥¹¥È¤òÍ×ÁǤȤ·¤Æ¤¤¤ë¡£ -%{\tt [514,[1, 2, $\cdots$]]} ¤ÎºÇ½é¤Î 514 ¤Ï¤³¤Î¥ê¥¹¥È¤¬ CMO ·Á¼° -%¤Ç¤ÎÍý²ò²Äǽ¤Ê¥Ç¡¼¥¿¤òɽ¤·¤Æ¤¤¤ë¤³¤È¤ò¼¨¤·¤Æ¤ª¤ê¡¢ -%¤½¤Î¸å¤Î¥ê¥¹¥È¤Ç¤Ï CMO ÁؤÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë¥Ç¡¼¥¿¤Î¤¦¤Á¡¢ -%Íý²ò²Äǽ¤Ê¥Ç¡¼¥¿¤Î¥¿¥°¤¬Ê¤ó¤Ç¤¤¤ë¡£ +Âè°ìÍ×ÁÇ $A$ ¤Ï¤Þ¤¿ cmo\_list ¤Ç¤¢¤ê¡¢¥ê¥¹¥ÈĹ¤Ï 4 °Ê¾å¡¢ +$a_1$ ¤Ï 32 ¥Ó¥Ã¥ÈÀ°¿ô¤Ç¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤ò¡¢ +$a_2$ ¤Ïʸ»úÎó¤Ç¥·¥¹¥Æ¥à¤Î̾Á°¤òɽ¤¹¤³¤È¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ -¤Ê¤ª¡¢¥Ç¡¼¥¿¤¬¼õ¤±¼è¤ì¤ë¤³¤È¤È¡¢ -¥Ç¡¼¥¿¤ÎÏÀÍý¹½Â¤¤¬Íý²ò¤Ç¤­¤ë¤³¤È¤È¤Ï¤Þ¤Ã¤¿¤¯ÊÌʪ¤Ç¤¢¤ë¤Î¤Ç -Ãí°Õ¤¹¤ëɬÍפ¬¤¢¤ë¡£ +\[ \begin{tabular}{|c|c|} \hline + $a_1$ & $a_2$ \\ \hline + \end{tabular} \] +2 ÈÖÌܤÎÍ×ÁÇ $B$ ¤ÎÉôʬ¤Ï¼¡¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤¤¤ë¡£ +¤³¤Î $b_1$, $b_2$, $\cdots$, $b_n$ ¤Ï¤¹¤Ù¤Æ 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤Ç¤¢¤ë¡£ +¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤Ø¤ÎÌ¿Îá¤Ï¤¹¤Ù¤Æ 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤Çɽ¤·¤Æ¤ª¤ê¡¢ +³Æ $b_i$ ¤ÏÍøÍѲÄǽ¤ÊÌ¿Îá¤ËÂбþ¤¹¤ë 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ +\[ \begin{tabular}{|c|c|c|c|} \hline + $b_1$ & $b_2$ & $\cdots$ & $b_n$ \\ \hline + \end{tabular} \] + +3 ÈÖÌܤÎÍ×ÁÇ $C$ ¤Ï°Ê²¼¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤ò¤·¤Æ¤¤¤ë¡£ +\[ \overbrace{ + \begin{tabular}{|c|c|c|c|} \hline + $c_1$ & $c_2$ & $\cdots$ & $c_n$ \\ \hline + \end{tabular} + }^{C} \] +%$n$ ¤Ï OX\_COMMAND °Ê³°¤Î¼õ¤±¼è¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥¿¥°¤Î¼ïÎà¤Î¿ô¤ËÅù¤·¤¤¡£ +%Í×ÁÇ¿ô¤Ï 1 ¤Ç¤â¤â¤Á¤í¤ó¹½¤ï¤Ê¤¤¡£ +³Æ $c_i$ ¤â¤Þ¤¿°Ê²¼¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤È¤Ê¤Ã¤Æ¤ª¤ê¡¢ +¤É¤Î $c_i$ ¤âºÇ½é¤ÎÍ×ÁǤ¬ 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤È¤Ê¤Ã¤Æ¤¤¤ë¡£ +\[ \overbrace{ + \begin{tabular}{|c|c|c|c|c|} \hline + $c_{i1}$ (32 ¥Ó¥Ã¥È¤ÎÀ°¿ô) & $c_{i2}$ & $c_{i3}$ & + $\cdots$ & $c_{im}$ \\ \hline + \end{tabular} + }^{c_i} \] +¤³¤Î¥ê¥¹¥È¤ÎºÇ½é¤ÎÀ°¿ôÃͤϼõ¤±¼è¤ì¤ë¥á¥Ã¥»¡¼¥¸¤Î¥¿¥°¤¬Æþ¤Ã¤Æ¤¤¤ë¡£ +$c_{i2}$ °Ê¹ß¤Ë¤Ä¤¤¤Æ¤ÏºÇ½é¤Î $c_{i1}$ ¤ÎÃͤˤè¤Ã¤Æ¤½¤ì¤¾¤ì°Û¤Ê¤ë¡£ +¤³¤³¤Ç¤Ï¡¢ºÇ½é¤ÎÍ×ÁǤ¬ OX\_DATA ¤Î¾ì¹ç¤Ë¤Ä¤¤¤Æ¤Î¤ßÀâÌÀ¤¹¤ë¡£ +¤³¤Î $c_{i1}$ ¤¬ OX\_DATA ¤Î¾ì¹ç¡¢ +¥ê¥¹¥È $c_i$ ¤Ï CMO ·Á¼°¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤òɽ¤·¤Æ¤ª¤ê¡¢ +$m=2$ ¤È·è¤á¤é¤ì¤Æ¤¤¤ë¡£ +$c_{i1}$ ¤Ë¤Ï¤â¤Á¤í¤ó¤Î¤³¤È OX\_DATA ¤¬Æþ¤Ã¤Æ¤ª¤ê¡¢ +$c_{i2}$ ¤Ï°Ê²¼¤Î¿Þ¤Î¤è¤¦¤Ê¥ê¥¹¥È¹½Â¤¤Ë¤Ê¤Ã¤Æ¤¤¤ë¡£ +³ÆÍ×ÁÇ¤Ï 32 ¥Ó¥Ã¥È¤ÎÀ°¿ô¤Ç¤¢¤ê¡¢ +¼õ¤±¼è¤ë¤³¤È¤¬²Äǽ¤Ê CMO ·Á¼°¤Î¥¿¥°¤¬Æþ¤ë¡£ +\[ \overbrace{ + \begin{tabular}{|c|c|c|c|c|} \hline + $c_{i21}$ & $c_{i22}$ & $\cdots$ & $c_{i2l}$ \\ \hline + \end{tabular} + }^{c_{i2}} \] + +%¤Ê¤ª¡¢ mathcap ¥Ç¡¼¥¿¤ÎÃæ¤Ç¤Ï CMO ·Á¼°¤ÇÄêµÁ¤µ¤ì¤Æ¤¤¤ë +%32 bit À°¿ô¡¢Ê¸»úÎ󡢥ꥹ¥È¹½Â¤¤¬»È¤ï¤ì¤Æ¤ª¤ê¡¢ +%mathcap ¥Ç¡¼¥¿¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ëÆâÍƤòÍý²ò¤Ç¤­¤ë¤¿¤á¤Ë¤Ï +%ɬÁ³Åª¤Ë¤³¤ì¤é¤âÍý²ò¤Ç¤­¤ëɬÍפ¬¤¢¤ë +%(¤Ã¤Æ¤³¤È¤Ï CMO ·Á¼°¤Î¤È¤³¤í¤Ç¤³¤ì¤é¤ò +%ÀâÌÀ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¤Ã¤Æ¤³¤È¤Ç¤¹)¡£ + +¶ñÂÎŪ¤Ê mathcap ¤ÎÎã¤ò¤¢¤²¤è¤¦¡£ +%¤Ê¤ª¡¢ $a_1$, $a_2$, $\cdots$, $a_n$ ¤òÍ×ÁÇ¤Ë +%»ý¤Ä¥ê¥¹¥È¹½Â¤¤ò {\tt [$a_1$, $a_2$, $\cdots$, $a_n$]} ¡¢ +%ʸ»úÎó ``string'' ¤ò {\tt "string"} ¡¢ 32 bit À°¿ô¤ò +%¤½¤ì¤ËÂбþ¤¹¤ë 10 ¿Ê¿ô¤ÎÀ°¿ô¤Ç¼¨¤¹¡£ +̾Á°¤¬ ``ox\_test''¡¢¥Ð¡¼¥¸¥ç¥ó¥Ê¥ó¥Ð¡¼¤¬ 199911250 ¤Î¥µ¡¼¥Ð¤Ç¤¢¤ì¤Ð¡¢ +$A$ ¤ÎÉôʬ¤Ï +\begin{tabular}{|c|c|} \hline +199911250 & "ox\_test" \\ \hline +\end{tabular} +¤È¤Ê¤ë¡£ +¤µ¤é¤Ë¡¢¤³¤Î¥µ¡¼¥Ð¤Î¥¹¥¿¥Ã¥¯¥Þ¥·¥ó¤¬ +Ì¿Îᥳ¡¼¥É 2, 3, 5, 7, 11 ÈÖ¤òÍøÍѲÄǽ +(¼ÂºÝ¤Ë¤Ï¤³¤Î¤è¤¦¤ÊÌ¿Îᥳ¡¼¥É¤Ï¸ºß¤·¤Ê¤¤)¤Ç¤¢¤ì¤Ð¡¢ $B$ ¤ÎÉôʬ¤Ï +\begin{tabular}{|c|c|c|c|c|} \hline +2 & 3 & 5 & 7 & 11 \\ \hline +\end{tabular} +¤È¤Ê¤ê¡¢ +CMO ·Á¼°¤Î 32 ¥Ó¥Ã¥ÈÀ°¿ô¡¢Ê¸»úÎó¡¢ mathcap ¡¢¥ê¥¹¥È¹½Â¤¤Î¤ß¤¬ +¼õ¤±¼è¤ì¤ë¤È¤­¤Ë¤Ï¡¢ $C$ ¤ÎÉôʬ¤Ï +\begin{tabular}{|c|} \hline + \\[-5mm] + \begin{tabular}{|c|c|} \hline + & \\[-5mm] + OX\_DATA & + \begin{tabular}{|c|c|c|c|} \hline + CMO\_INT32 & CMO\_STRING & CMO\_MATHCAP & CMO\_LIST \\ \hline + \end{tabular} \\[0.8mm] \hline + \end{tabular} \\[1.4mm] \hline +\end{tabular} \\ +¤È¤Ê¤ë¡£ +CMO\_ZZ ¤¬¤Ê¤¤¤Î¤Ç¡¢¤³¤Î¥µ¡¼¥Ð¤Ï¿ÇÜĹÀ°¿ô¤¬Á÷¤é¤ì¤Æ¤³¤Ê¤¤¤³¤È¤ò´üÂÔ¤·¤Æ +¤¤¤ë¡£ + +¤Ê¤ª¡¢¥Ç¡¼¥¿¤¬¼õ¤±¼è¤ì¤ë¤³¤È¤È¡¢¥Ç¡¼¥¿¤ÎÏÀÍý¹½Â¤¤¬Íý²ò¤Ç¤­¤ë¤³¤È¤È¤Ï¤Þ¤Ã +¤¿¤¯ÊÌʪ¤Ç¤¢¤ë¤Î¤ÇÃí°Õ¤¹¤ëɬÍפ¬¤¢¤ë¡£ + +{\Huge ¤Ã¤Æ¤Ê¤ó¤Ç¤Ç¤·¤ç¤¦¤«? ¥Ç¡¼¥¿¤ÎÏÀÍý¹½Â¤¤òÃΤé¤Ê¤¤¤È¼õ¤±¼è¤ì¤Ê¤¤¤È +»×¤¦¤ó¤Ç¤¹¤¬$\ldots$} + + \section{¥»¥­¥å¥ê¥Æ¥£Âкö} -OpenXM ¤Ç¤Ï´ö¤é¤«¤Î¥»¥­¥å¥ê¥Æ¥£Âкö¤ò¹Í¤¨¤Æ¤¤¤ë¡£ -OpenXM ¤ËÂбþ¤·¤¿¥½¥Õ¥È¥¦¥§¥¢¤ò¥¯¥é¥Ã¥¯¤·¤Æ¤â -Â礷¤¿ÍøÅÀ¤Ï¤Ê¤¤¤È»×¤¨¤ë¤¬¡¢¤½¤ì¤ÏÀß·×¾å¤ÎÏäǤ¢¤Ã¤Æ¡¢ -ͽ´ü¤»¤Ì¼êÃʤǹ¶·â¤ò¼õ¤±¤¿¾ì¹ç¤Ë¤É¤Î¤è¤¦¤Ê»öÂÖ¤ò -¾·¤¯¤«¤ÏÁÛÁü¤·Æñ¤¤¡£ +OpenXM µ¬Ìó¤Ï TCP/IP ¤òÍѤ¤¤ÆÄÌ¿®¤ò¹Ô¤¦¤³¤È¤ò¹Íθ¤·¤Æ¤¤¤ë¡£¥Í¥Ã¥È¥ï¡¼¥¯ +¤Ë¤è¤Ã¤ÆÀܳ¤µ¤ì¤ë¸½Âå¤Î¿¤¯¤Î¥½¥Õ¥È¥¦¥§¥¢¤ÈƱÍÍ¡¢OpenXM µ¬Ìó¤â¤Þ¤¿ÄÌ¿® +»þ¤Î¥»¥­¥å¥ê¥Æ¥£¤Ë¤Ä¤¤¤ÆÃí°Õ¤·¤Æ¤¤¤ë¡£°Ê²¼¡¢¤³¤Î¤³¤È¤Ë¤Ä¤¤¤ÆÀâÌÀ¤·¤è¤¦¡£ -¤½¤³¤Ç¡¢ OpenXM ¤Ç¤Ï¿¯Æþ¼Ô¤Ë¹¶·â¤Îµ¡²ñ¤ò -¤Ç¤­¤ë¤À¤±Í¿¤¨¤Ê¤¤¤è¤¦¤Ë¤·¤Æ¤¤¤ë¡£ -¶ñÂÎŪ¤Ë¤Ï¡¢Àܳ¤¬É¬Íפˤʤä¿»þ¤Î¤ßÀܳ¤òÂԤĤ褦¤Ë¤·¡¢ -¾ï¤ËÀܳ¤Ë´ØÍ¿¤¹¤ë¤È¤¤¤Ã¤¿¤³¤È¤ÏÈò¤±¤Æ¤¤¤ë¡£ +{\large\bf °ÕÌ£ÉÔÌÀ¤Ê¤³¤È¤ò½ñ¤¤¤Æ¤¤¤ë¤¬¡¢} -¤·¤«¤·¡¢¤³¤ì¤À¤±¤Ç¤Ï¿¯Æþ¼Ô¤¬Àܳ¤ò¹Ô¤Ê¤¦°ì½Ö¤Î¤¹¤­¤ò -ÁÀ¤Ã¤Æ¤¯¤ë²ÄǽÀ­¤â¤¢¤ë¡£ -¤½¤³¤ÇÀܳ¤ò¹Ô¤Ê¤¦»þ¤Ë¡¢ -Àܳ¤òÂԤĥݡ¼¥ÈÈÖ¹æ¤ò¥é¥ó¥À¥à¤Ë·è¤á¤Æ¤¤¤ë¡£ -¤³¤¦¤¹¤ë¤³¤È¤Ç¡¢ÆÃÄê¤Î¥Ý¡¼¥ÈÈÖ¹æ¤òÁÀ¤Ã¤ÆÀܳ¤ò¹Ô¤Ê¤¦ -½Ö´Ö¤òÂԤļê¸ý¤ò´ö¤é¤«Ëɤ°¤³¤È¤¬¤Ç¤­¤ë¡£ +¿¯Æþ¼Ô¤Ë¹¶·â¤Îµ¡²ñ¤ò¤Ç¤­¤ë¤À¤±Í¿¤¨¤Ê¤¤¤è¤¦¤¹¤ë¤¿ +¤á¤Ë¡¢Àܳ¤¬É¬Íפˤʤä¿»þ¤Î¤ßÀܳ¤òÂԤĤ褦¤Ë¤·¡¢ +¾ï¤ËÀܳ¤Ë´ØÍ¿¤¹¤ë¤È¤¤¤Ã¤¿¤³¤È¤ÏÈò¤±¤Æ¤¤¤ë(¤ä¤Ã¤Ñ¤ê°ÕÌ£ÉÔÌÀ¤Ç¤¢¤ë)¡£ +¤Þ¤¿¡¢¿¯Æþ¼Ô¤¬Àܳ¤ò¹Ô¤Ê¤¦°ì½Ö¤Î¤¹¤­¤òÁÀ¤Ã¤Æ¤¯¤ë²ÄǽÀ­¤â¤¢¤ë¤Î¤Ç¡¢ +Àܳ¤ò¹Ô¤Ê¤¦»þ¤ËÀܳ¤òÂԤĥݡ¼¥ÈÈÖ¹æ¤ò¥é¥ó¥À¥à¤Ë·è¤á¤Æ¤¤¤ë(郎·è¤á¤Æ¤¤ +¤ë¤Î¤«¤Ï¤ä¤Ã¤Ñ¤êÉÔÌÀ¤Ç¤¢¤ë¤¬)¡£ ¤µ¤é¤Ë¤â¤¦°ìÃÊ°ÂÁ´À­¤ò¹â¤á¤ë¤¿¤á¤Ë¡¢ Àܳ»þ¤Ë 1 ²ó¤À¤±»ÈÍѲÄǽ¤Ê¥Ñ¥¹¥ï¡¼¥É¤òºîÀ®¤·¡¢ -¤½¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»È¤Ã¤Æǧ¾Ú¤ò¹Ô¤Ê¤¦¡£ +¤½¤Î¥Ñ¥¹¥ï¡¼¥É¤ò»È¤Ã¤Æǧ¾Ú¤ò¹Ô¤Ê¤¦(郎¥Ñ¥¹¥ï¡¼¥É¤ò·è¤á¤Æ郎ǧ¾Ú¤ò¹Ô¤Ã +¤Æ¤¤¤ë¤Î¤«¤¬ÉÔÌÀ¤À¤±¤É)¡£ ¤³¤Î¥Ñ¥¹¥ï¡¼¥É¤Ï°ìö»ÈÍѤµ¤ì¤ì¤Ð̵¸ú¤Ë¤¹¤ë¤Î¤Ç¡¢ -¤â¤·²¾¤Ë¤Ê¤ó¤é¤«¤Î¼êÃʤǥѥ¹¥ï¡¼¥É¤¬±Ì¤ì¤¿¤È¤·¤Æ¤â°ÂÁ´¤Ç¤¢¤ë¡£ +¤â¤·²¾¤Ë¤Ê¤ó¤é¤«¤Î¼êÃʤǥѥ¹¥ï¡¼¥É¤¬±Ì¤ì¤¿¤È¤·¤Æ¤â°ÂÁ´¤À¤È¹Í¤¨¤Æ¤¤¤ë¡£ -¤Ê¤ª¡¢¾åµ­¤Î¥Ý¡¼¥ÈÈÖ¹æ¤È¥Ñ¥¹¥ï¡¼¥É¤Ï°ÂÁ´¤Ê¼êÃʤÇÁ÷¤é¤ì¤Æ -¤¤¤ë¤È²¾Äꤷ¤Æ¤¤¤ë¡£ -¤Þ¤¿¡¢Æ±°ì¤Î¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ë°­°Õ¤Î¤¢¤ë¥æ¡¼¥¶¤Ï¤¤¤Ê¤¤¤È²¾Äꤷ¤Æ¤¤¤ë -¤³¤È¤ËÃí°Õ¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -¤Ê¤¼¤Ê¤é¡¢¸½ºß¤Î¼ÂÁõ¤Ç¤Ï¥µ¡¼¥Ð¡¢¤ª¤è¤Ó¥¯¥é¥¤¥¢¥ó¥È¤ÎÆ°ºî¤·¤Æ¤¤¤ë -¥³¥ó¥Ô¥å¡¼¥¿¾å¤Ç¤Ï¤³¤Î¥Ý¡¼¥ÈÈÖ¹æ¤È¥Ñ¥¹¥ï¡¼¥É¤¬¤ï¤«¤Ã¤Æ¤·¤Þ¤¦¤¿¤á¤Ç¤¢¤ë¡£ - ¤Ê¤ª¡¢Àܳ¤¬³ÎΩ¤·¤¿¸å¤Î¥á¥Ã¥»¡¼¥¸¤ÎÁ÷¼õ¿®¤Ë´Ø¤·¤Æ¤Ï¡¢ -Æä˰Ź沽¤Ê¤É¤Î½èÃÖ¤¬¹Ô¤Ê¤ï¤ì¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£ +Æä˰Ź沽¤Ê¤É¤Î½èÃÖ¤ò¹Ô¤Ã¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£ ¤â¤·É¬Íפ¬¤¢¤ì¤Ð¡¢ÄÌ¿®Ï©¤Î°Å¹æ²½¤ò¹Ô¤Ê¤¦µ¡Ç½¤¬¤¢¤ë -¥½¥Õ¥È¥¦¥§¥¢¤ò»È¤¦¤³¤È¤ò¹Í¤¨¤Æ¤¤¤ë¡£ +¥½¥Õ¥È¥¦¥§¥¢ ssh ¤ò»È¤¦¤³¤È¤ò¹Í¤¨¤Æ¤¤¤ë¡£ - \section{¾¤Î¥×¥í¥¸¥§¥¯¥È} ¾¤Î¥×¥í¥¸¥§¥¯¥È¤Ë¤Ä¤¤¤Æ¤â¿¨¤ì¤Æ¤ª¤³¤¦¡£ -OpenMath ¥×¥í¥¸¥§¥¯¥È¤Ï¿ô³ØŪ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò -¥³¥ó¥Ô¥å¡¼¥¿¾å¤Çɽ¸½¤¹¤ëÊýË¡¤ò·èÄꤷ¤Æ¤¤¤ë¡£ -³Æ¥½¥Õ¥È¥¦¥§¥¢´Ö¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤ò¸ò´¹¤¹¤ëºÝ¤Î -¥ª¥Ö¥¸¥§¥¯¥È¤ÎÊÑ´¹¼ê½ç¤Ë¤Ä¤¤¤Æ¤â½Ò¤Ù¤é¤ì¤Æ¤¤¤ë¡£ -ɽ¸½ÊýË¡¤Ï°ì¤Ä¤À¤±¤Ç¤Ê¤¯¡¢ XML ɽ¸½¤ä binary ɽ¸½¤Ê¤É¤¬ -ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£ -¾ÜºÙ¤Ï +\begin{itemize} +\item OpenMath\\ +OpenMath ¥×¥í¥¸¥§¥¯¥È¤Ï¿ô³ØŪ¤Ê¥ª¥Ö¥¸¥§¥¯¥È¤ò¥³¥ó¥Ô¥å¡¼¥¿¾å¤Çɽ¸½¤¹¤ëÊý +Ë¡¤òµ¬Äꤷ¤Æ¤¤¤ë¡£³Æ¥½¥Õ¥È¥¦¥§¥¢´Ö¤Ç¥ª¥Ö¥¸¥§¥¯¥È¤ò¸ò´¹¤¹¤ëºÝ¤Î¥ª¥Ö¥¸¥§¥¯ +¥È¤ÎÊÑ´¹¼ê½ç¤Ë¤Ä¤Æ¤âÄê¤á¤é¤ì¤Æ¤¤¤ë¡£É½¸½ÊýË¡¤Ï´ö¤Ä¤«¤ÎÃʳ¬¤ÇÄê¤á¤é¤ì¤Æ +¤¤¤Æ¡¢XML ɽ¸½¤ä¥Ð¥¤¥Ê¥êɽ¸½¤Ê¤É¤¬ÍÑ°Õ¤µ¤ì¤Æ¤¤¤ë¡£¾ÜºÙ¤Ï -http://www.openmath.org/omsoc/index.html A.M.Cohen +http://www.openmath.org/omsoc/ A.M.Cohen +\item NetSolve -°Ê²¼¤Ï½ñ¤¤¤Æ¤ëÅÓÃæ¡£ - -NetSolve - http://www.cs.utk.edu/netsolve/ +\item MP -MP - http://symbolicNet.mcs.kent.edu/SN/areas/protocols/mp.html +\item MCP -MCP - http://horse.mcs.kent.edu/~pwang/ +\end{itemize} \section{¸½ºßÄ󶡤µ¤ì¤Æ¤¤¤ë¥½¥Õ¥È¥¦¥§¥¢} -¸½ºß OpenXM µ¬³Ê¤ËÂбþ¤·¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ï -asir, sm1, Mathematica ¤¬¤¢¤ë¡£ -¤³¤ì¤é¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é -OpenXM µ¬³Ê¤ËÂбþ¤·¤¿¥µ¡¼¥Ð¤ò¸Æ¤Ó½Ð¤¹¤³¤È¤¬¤Ç¤­¤ë¡£ -¸½ºß OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¥½¥Õ¥È¥¦¥§¥¢¤Ë¤Ï¡¢ - asir, sm1, gnuplot, Mathematica ¤Ê¤É¤¬¤¢¤ê¡¢ -¤½¤ì¤¾¤ì ox\_asir, ox\_sm1, ox\_math ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¡£ -¤Þ¤¿¡¢ OpenMath µ¬³Ê¤Î XML ɽ¸½¤Çɽ¸½¤µ¤ì¤¿¥Ç¡¼¥¿¤È CMO ·Á¼°¤Î -¥Ç¡¼¥¿¤òÊÑ´¹¤¹¤ë¥½¥Õ¥È¥¦¥§¥¢¤¬ JAVA ¤Ë¤è¤Ã¤Æ¼ÂÁõ¤µ¤ì¤Æ¤ª¤ê¡¢ -OMproxy ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¡£ +¸½ºß OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥¯¥é¥¤¥¢¥ó¥È¤Ë¤Ïasir, sm1, Mathematica ¤¬ +¤¢¤ë¡£¤³¤ì¤é¤Î¥¯¥é¥¤¥¢¥ó¥È¤«¤é OpenXM µ¬Ìó¤ËÂбþ¤·¤¿¥µ¡¼¥Ð¤ò¸Æ¤Ó½Ð¤¹¤³¤È +¤¬¤Ç¤­¤ë¡£¸½ºß OpenXM µ¬Ìó¤ËÂбþ¤·¤Æ¤¤¤ë¥µ¡¼¥Ð¥½¥Õ¥È¥¦¥§¥¢¤Ë¤Ï¡¢asir, +sm1, gnuplot, Mathematica ¤Ê¤É¤¬¤¢¤ê¡¢¤½¤ì¤¾¤ì ox\_asir, ox\_sm1, +ox\_sm1\_gnuplot, ox\_math ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ¤ì¤Æ¤¤¤ë¡£¤Þ¤¿¡¢ OpenMath +µ¬Ìó¤Î XML ɽ¸½¤Çɽ¸½¤µ¤ì¤¿¥ª¥Ö¥¸¥§¥¯¥È¤È CMO ·Á¼°¤Î¥ª¥Ö¥¸¥§¥¯¥È¤òÊÑ´¹¤¹ +¤ë¥½¥Õ¥È¥¦¥§¥¢¤¬ JAVA ¤Ë¤è¤Ã¤Æ¼ÂÁõ¤µ¤ì¤Æ¤ª¤ê¡¢OMproxy ¤È¤¤¤¦Ì¾Á°¤ÇÄ󶡤µ +¤ì¤Æ¤¤¤ë¡£ +\begin{thebibliography}{99} +\bibitem{Ohara-Takayama-Noro-1999} +¾®¸¶¸ùǤ, ¹â»³¿®µ£, ÌîϤÀµ¹Ô: +{Open asir ÆþÌç}, 1999, ¿ô¼°½èÍý, Vol 7, No 2, 2--17. (ISBN4-87243-086-7, SEG ½ÐÈÇ, Tokyo). +\bibitem{OpenXM-1999} +ÌîϤÀµ¹Ô, ¹â»³¿®µ£: +{Open XM ¤ÎÀ߷פȼÂÁõ --- Open message eXchange protocol for Mathematics}, +1999/11/22 +\end{thebibliography} \end{document}