ããã double
ã§è¨ç®ããã¨ãã«å¸¸ã«çãããªãã¾ããï¼ã¨ããã¯ã¤ãºã§ãã
n
㯠double
ã§è¡¨ããæ´æ°ã§ãããã¨ã«ãã¾ãã
çã
>>> 6755399441055749 / 10 675539944105574.9 >>> 6755399441055749 * 0.1 675539944105575.0
ãããåè
ã® floor
ã¨å¾è
ã® floor
ã¯ç°ãªããã¨ã«ãªãã¾ãã
ããªãã¡ãç価ã§ã¯ããã¾ããã
解説ãªã©
çã§ãããªã証æãããå¿ è¦ããããã§ãããå½ã ã£ãã®ã§åä¾ãæãã¦çµäºã§ãã ããã¯ããã¨ãã¦ããããã®ç¯å²ã§ã¯æãç«ã¤ãã¨ãã話ããã¦ãæã¯ããªãã®ã§ããã¦ã¿ã¾ãããã
æµ®åå°æ°ç¹æ°åã«ã¤ãã¦ããç¨åº¦ã®ç¥èã¯æã£ã¦ãããã®ã¨ãã¾ããããã§ãªã人ã®ããã®è¨äºã¯è¿ã ï¼æ¬¡ã次ã®æ¬¡ãããã«ï¼æ¸ãäºå®ã§ãã
$\gdef\fround#1{(\hspace{-.2em}[#1]\hspace{-.2em})}$
ã¾ãã0.1
ã¨è¨ã£ã¦ããã®ã¯ãdouble
ï¼ãã¤ãå¤ãã®å¦çç³»ã§ããã©ã«ãã«ãªã£ã¦ãã丸ãæ¹åï¼ã®æèã«ããã¦ã¯
$$
\begin{aligned}
&\phantom{{}={}} {\footnotesize 0.100000000000000005}{\scriptsize 55111512312578270211}{\tiny 81583404541015625} \\
&= \texttt{ccccccccccccd}_{(16)} \times 2^{-55} \\
&= (\tfrac45(2^{52}-1)+1)\cdot 2^{-55} \\
% &= (\tfrac45(2^{-3}-2^{-55})+2^{-55}) \\
&= \tfrac1{10}+\tfrac15\cdot 2^{-55} \\
\end{aligned}
$$
ã¨çããå¤ã«ãªãã¾ã*1ã
å®æ° $x$ ãæµ®åå°æ°ç¹æ°åï¼ããã§ã¯ double
ï¼ã§è¡¨ããå¤ã«ä¸¸ãããã®ã $\fround{x}$ ã¨æ¸ããã¨ã«ãã¾ã*2ã
ãã¨ãã°ã$\fround{0.1} = 0.1 + \tfrac15\cdot 2^{-55}$ ã $\fround{10} = 10$ ã§ãã
ã¾ããæµ®åå°æ°ç¹æ° $x$, $y$ ã«å¯¾ã㦠$\fround{x\times y}$ ããã³ $\fround{x\div y}$ ãããããã $x\otimes y$ ããã³ $x\oslash y$ ã¨æ¸ããã¨ã«ãã¾ãã æµ®åå°æ°ç¹æ°åã®å¤å士ã®æ¼ç®ã®ã¿ããèãã¦ããªããã¨ã«æ³¨æãã¦ãã ããã
ãã¦ãä»åããããã®ã¯ $\floor{n\oslash 10}$ 㨠$\floor{n\otimes\fround{0.1}}$ ã®æ¯è¼ã§ãã
note: double
ã®ä»®æ°é¨ã¯ $p = 53$ bits ãªã®ã§ã$2^{53}$ 以ä¸ã®ï¼æµ®åå°æ°ç¹æ°åã®ï¼å¤ $x$ ã¯æ´æ°ã¨ãªãããã$\floor{x}=x$ ã¨ãªãã¾ãã
å®æ° $x\ge 0$ ã¨æ´æ° $k$ ã«å¯¾ã㦠$\floor{\fround{x}} = k$ ã¨ãªãæ¡ä»¶ã¯ã$\fround{x}$ ã®æ´æ°é¨åã $k$ ã¨ãªããã¨ã§ãã丸ã誤差ã®é¢ä¿ã§ã$x$ ã®æ´æ°é¨åã $k$ ã§ãããã¨ã¨ã¯åå¤ã§ã¯ããã¾ããã
ãã¦ãæµ®åå°æ°ç¹æ°ã§è¡¨ããæ´æ° $n = 10q+r$ ($q\in\N, 0\le r\le9$) ãèãã¾ãã$2^e\le 10q+r \lt 2^{e+1}$ ã¨ãã¾ãã$0\le e\lt p$ ã¨ãã¦ããã¾ãã
$\fround{0.1} = \tfrac1{10} + \tfrac15\cdot 2^{-55} = \tfrac1{10}\cdot(1+2^{-54})$ ãªã®ã§ã $$ \begin{aligned} (10q+r)\cdot\fround{0.1} &= (q+\tfrac r{10})\cdot(1+2^{-54}) \\ &= q+(\tfrac r{10} + (q+\tfrac r{10})\cdot 2^{-54}) \end{aligned} $$ ã¨ãªãã¾ããä¸æ¦ $r$ ãæ大㮠$9$ ã§ããå ´åã«ã¤ãã¦èãã¾ãã $$ \begin{aligned} (10q+r)\cdot\fround{0.1} &\le q+(\tfrac9{10} + \tfrac1{10}(10q+r)\cdot 2^{-54}) \\ &\lt q+\tfrac9{10} + \tfrac1{10}\cdot 2^{e+1-54} \\ &= q+\tfrac9{10} + \tfrac1{10}\cdot 2^{e-53}. \end{aligned} $$ $\tfrac1{10}(10q+r)\lt\tfrac18(10q+r)\lt 2^{e+1-3}$ ããã$\tfrac1{10}(10q+r)$ ã® 0.5 ULP 㯠$2^{e-56}$ 以ä¸ã§ãã å°æ°é¨åãèãã¦ã$\tfrac9{10}+\tfrac1{10}\cdot 2^{e-53} \lt 1-2^{e-56}$ ã®ç¯å²ã«ããã¦ã¯ã$(10q+r)\cdot\fround{0.1}$ 㯠$q$ ã®æ¹ã«ä¸¸ãããã¾ãã ããã«ããã$e\le51$ ã®ç¯å²ã§ã¯ $\floor{n\oslash 10} = \floor{n\otimes\fround{0.1}}$ ã¨ãªãã¾ãã ã¾ããåæ§ã®èå¯ã«ããã$r\le 8$ ã§ã¯ $e=52$ ã§ã $\floor{n\oslash 10} = \floor{n\otimes\fround{0.1}}$ ã¨ãªããã¨ã示ãã¾ãã
ãã£ã¦ã$\floor{n\oslash 10} \ne \floor{n\otimes\fround{0.1}}$ ã¨ãªãæå°ã® $n$ ã¯ã$e = 52$ ã㤠$r = 9$ ã«ããã¦ãããæºããæå°ã® $q$ ã«ãã£ã¦ä½ããããã¨ããããã¾ãï¼ãã®æç¹ã§ã¯åå¨æ§ã¯ç¤ºãã¦ãã¾ããããããããä½ãã®ã§å¤§ä¸å¤«ã§ãï¼ã $(10q+r)\cdot\fround{0.1}$ ã®å°æ°é¨åãèãã¦*3ã $$ \begin{aligned} \tfrac9{10} + (q+\tfrac9{10})\cdot 2^{-54} &\ge 1-2^{-4} = \tfrac{15}{16} \\ q+\tfrac9{10} &\ge \tfrac3{80} \cdot 2^{54} \\ &= \tfrac35\cdot 2^{50}. \end{aligned} $$ ãã£ã¦ãæ¡ä»¶ãæºããæå°ã® $q$ 㯠$\ceil{\tfrac35\cdot 2^{50}-\tfrac9{10}} = \tfrac15\cdot(3\cdot2^{50}-2)$ ã¨ãªãã¾ãã ããã«ãããæå°ã® $n$ 㯠$10\cdot\tfrac15\cdot(3\cdot 2^{50}-2)+9 = 3\cdot2^{51}+5$ ã¨ãªãã¾ããããã¯ãåé ã«æããä¾ãã®ãã®ã§ãã
disclaimer: ããã§ã¯ã該å½ã®ç¯å²ã§ $(10q+r)\oslash 10 = q$ ã¨ãªããã¨ãã¡ããã¨ç¤ºãã¦ãã¾ããããããªã«ã
ä¸è¬ã®ã±ã¼ã¹
ä¸è¬ã«ã$\floor{n\oslash d}$ 㨠$\floor{n\otimes\fround{\tfrac1d}}$ ãèãã¦ã¿ã¾ãã $d = (2k+1)\cdot 2^s$ ã¨ãã¾ããäºåªã®ã±ã¼ã¹ã¯ææ°é¨ãå¤ããã ããªã®ã§ $k\ge 1$ ã¨ãã¾ãã $$ \tfrac1d = \tfrac{2^t}{2k+1}\times 2^{-(s+t)} $$ ã¨è¡¨ãã¾ããããã§ã$t$ 㯠$2^{p-1}\le\tfrac{2^t}{2k+1}\lt 2^p$ ã¨ãªãããã«å®ãã¾ãã ããªãã¡ã$t = (p-1)+\ceil{\log_2(2k+1)}$ ã¨ãªãã¾ãã $$ \tfrac1d = \underbrace{\tfrac{2^{(p-1)+\ceil{\log_2(2k+1)}}}{2k+1}}_{\mu}\times 2^{-(s+t)}. $$ ãã® $\mu$ ã®é¨åã $\floor{\mu}$ ã¾ã㯠$\ceil{\mu}$ ã«é©åã«ä¸¸ãããã®ã $m$ ã¨ãã¦ã $$ \fround{\tfrac1d} = m\times 2^{-(s+t)} $$ ã¨ãªãã¾ãã $$ (2^{(p-1)+\ceil{\log_2(2k+1)}})\bmod (2k+1) \le k $$ ã§ããã° $m=\floor{\mu}$ ã«ãããã§ãªããã° $m=\ceil{\mu}$ ã«ãªãã¾ãã ãã£ã¦ã$0\lt u\le k$ ã¨ããã丸ãæ¹åã«å¿ãã¦é©åãªç¬¦å·ãç¨ãããã¨ã§ $$ \fround{\tfrac1d} = \tfrac{2^t\pm u}{2k+1}\times 2^{-(s+t)} $$ ã¨æ¸ããã¨ãã§ãã¾ãã$2^t$ ã®æã¤ç´ å æ°ã $2$ ã®ã¿ã§ãããã¨ã¨ã$2k+1\ge3$ ã $2$ 以å¤ã®ç´ å æ°ã®ã¿ãæã¤ãã¨ããã$u=0$ ã«ã¯ãªãã¾ããã
符å·ãã¨ã«åãã¦èãã¾ãã
ã¾ãã$\fround{\tfrac1d} = \tfrac{2^t+u}{2k+1}\times2^{-(s+t)}$ ã®ã±ã¼ã¹ã§ãã$\fround{\tfrac1d}\gt\tfrac1d$ ã«æ³¨æãã¾ãã $n = dq + r$ ã¨ãã$2^e\le d q+r\lt 2^{e+1}$ ã¨ãã¾ãã
$$ \begin{aligned} (dq+r)\cdot\fround{\tfrac1d} &= (dq+r) \cdot \left(\tfrac{2^t+u}{2k+1}\times 2^{-(s+t)}\right) \\ &= (dq+r) \cdot \tfrac{2^t+u}d\cdot 2^{-t} \\ &= (q+\tfrac rd) \cdot (1+u\cdot 2^{-t}) \\ &= q + \tfrac rd + (q+\tfrac rd)\cdot u\cdot 2^{-t} \\ &= q + \tfrac rd + (q+\tfrac rd)\cdot u\cdot 2^{-(p-1)-\ceil{\log_2(2k+1)}}. \end{aligned} $$ ãã¨ã¯ãå ã»ã©åæ§ã«å°æ°é¨åãèãã¦ããã°ããã§ããããç²ãã¦ããã®ã§å²æã§ãã
次ã«ã$\fround{\tfrac1d} = \tfrac{2^t-u}{2k+1}\times2^{-(s+t)}$ ã®ã±ã¼ã¹ã§ãã$\fround{\tfrac1d}\lt\tfrac1d$ ã«æ³¨æãã¾ãã
ãããªãã§ãããå®ã¯ãã¡ããã¡ãåä¾ãããã¾ããä¸è¨ã¯ Haskell ã®å¯¾è©±åãã¼ã« GHCi ã§ã®åºåã§ãã
ghci> take 10 . map round $ filter (\x -> x * (1.0 / x) /= x / x) [1..] [49,98,103,107,161,187,196,197,206,214]
$49\otimes\fround{\tfrac1{49}} \lt 1$ ã $197\otimes\fround{\tfrac1{197}} \lt 1$ ãªã©ãæãç«ã¡ã¾ããå
ã® $\fround{\tfrac1{10}}$ ã®ã±ã¼ã¹ã§ã¯èº«è¿ãªç¯å²ï¼ãã¨ãã° int
ã«åã¾ãç¨åº¦ï¼ã§ã¯å¤§ä¸å¤«ã ã£ãããã¾ãããããã¡ãã«é¢ãã¦ã¯èº«è¿ãªç¯å²ã§ãå
¨ç¶äºæ
ãããã§ããã
注æã¨ãã¦ãæµ®åå°æ°ç¹æ°ã®ç²¾åº¦ã«ãã£ã¦ãã®åä¾ã¯ç°ãªãã¾ããä¸è¨ã¯ Rust ã®å¯¾è©±åãã¼ã« evcxr ã§ã®åºåã§ã*4ã
>> (1..).filter(|&x| 1.0 / x as f32 * x as f32 != 1.0).take(10).collect::<Vec<_>>() [41, 47, 55, 61, 82, 83, 94, 97, 107, 109] >> (1..).filter(|&x| 1.0 / x as f64 * x as f64 != 1.0).take(10).collect::<Vec<_>>() [49, 98, 103, 107, 161, 187, 196, 197, 206, 214]
ãã® $49\otimes\fround{\tfrac1{49}}$ ã®ãããªãã®ã«ã¤ãã¦ã¯ãæ¸ããããã¨ãããããããã®ã§ãå¥ã®è¨äºã§æ¸ããã¨ã«ãã¾ãã
ã¾ããèå³ã®ããèªè
㯠floor ã§æºè¶³ãããceil ã«ã¤ãã¦èãã¦ã¿ã¦ãããã§ããããã¨ãã㧠$\ceil{x} = -\floor{-x}$ ã $\fround{-x} = \fround{x}$ ãªã©ãæãç«ã¡ã¾ãã
f32
ã«ããã¦ã¯ãä»®æ°é¨ã 24 bits ãããªãããããããªãã«ååãªãã¹ããè¡ããã¨ãã§ãã¾ããC++ ã§ã¯ floating-point promotion ã«ãã£ã¦ float
ãåæã« double
ã«ãªã£ãããããããRust ãªã©ãç¨ããæ¹ã楽ããã§ãã
é度ã«é¢ãã¦
æ´æ°ã®é¤ç®ãé ãã¨ããã®ã¯æ¯è¼çæåãªè©±ãã¨æãã¾ãã
ããã§ã$\sum_{i=1}^{10^{10}} \floor{\tfrac i{10}}$ ããæ´æ°å (i64
) ã¨æµ®åå°æ°ç¹æ°å (f64
) ã® $i\oslash 10$ ç㨠$i\otimes \fround{\tfrac1{10}}$ çã§è¨æ¸¬ãã¦ã¿ã¾ããã
ã¾ããå®æ°é¤ç®æé©åã®å½±é¿ãèæ
®ãããããé¤æ°ãå®æ°ã¨ãã¦ç¨æãããã®ã¨å®è¡æã«ä¸ãããã®ãæ¯è¼ãã¾ããã
ãã¡ããå¤èªä½ã¯ $O(1)$ ã§ï¼ã¨ãããç´ã¨ãã³ã§ï¼æ±ãããã¨ãã§ãã¦ã $$ \begin{aligned} \sum_{i=1}^{10^{10}} \floor{\tfrac i{10}} &= 9\sum_{i=0}^{10^9-1}i + \sum_{i=1}^{10^9}i \\ &= 10\sum_{i=1}^{10^9-1}i + 10^9 \\ &= 5\cdot (10^9-1)\cdot 10^9 + 10^9 \\ &= 5\cdot 10^{18} - 4\cdot10^9 \\ &= 4999999996000000000 \end{aligned} $$ ã§ãããã㯠$2^{63}$ ãããå°ãããã¨ãææãã¦ããã¾ãã
足ãåãããå¤æ°ã«ã¯ i64
ãç¨ããé¤ç®ãã¼ãã®ã¿ã§ä¸è¨ã®éããããç¶æ
ã«ãã¾ãã
ãªãã$10^{10} \lt 3\cdot 2^{51}+5$ ãªã®ã§ããã®ç¯å²ã§æ£ããå¤ãè¨ç®ã§ãããã¨ã«æ³¨æãã¦ãã ããã
è¨æ¸¬çµæã¯ä¸è¨ã®éãã§ããã
i64 |
f64 $\oslash\, {10}$ |
f64 $\otimes\,\fround{0.1}$ |
|
---|---|---|---|
å®æ° | 2.26 s | 2.86 s | 2.24 s |
å¤æ° | 5.75 s | 2.90 s | 2.20 s |
ã©ãããããããã f64
㧠$\otimes$ ãç¨ãããã®ãæãéãã£ãããã§ããããããã
ãã¨ããã¯ãå¤æ°ã§ã®é¤ç®ã¯éãããã§ããã
ä»å㯠floor ã®æ¹ã®ã¿å®é¨ãã¾ããããceil ã®æ¹ã«ããã¦ãé©åã«ä¸¸ããæ¹ãç¨ããããããã¨ã§é«éã«æ£ããå¤ãå¾ããã¨ãå¯è½ãããªæ°ããã¾ãã æµ®åå°æ°ç¹æ°åã¨ä»²ãããªãã¨ãé©åã«è¨¼æããä¸ã§é«éåããããã¨ãã§ãããã§ããããã§ããã
ãããã¡
ã³ã³ãã¹ã¿ã³ãç®ç·ã§ã¯ããã®æã®èª¤å·®è©ä¾¡ãªã©ã¯ âéæ¬è³ªâ ãªã©ã¨æ±ãããã¡ãªé¨åãªæ°ã¯ãã¦ãã¾ãã ä¸æ¹ã§ãå ã»ã©è¨åããããã«é«éåã«å¯ä¸ããå ´åããããç¥ã£ã¦ããã¨å½¹ã«ç«ã¤å ´é¢ãããã®ããªã¨ãæãã¾ãã
ãããã¯ããã¹ãã±ã¼ã¹ãä½æããå´ã«åã£ãéã«ãããæµ®åå°æ°ç¹æ°åãç¨ãããããã解æ³ã¯å®ã¯æ£å½ã§ãããã¨ããã誤差ããããªããã¨ããããã®ã§ãããããã±ã¼ã¹ãç½®ãã¦ããã°è½ã¨ããããã¨ããããããèãæ¹ãã§ããã¨ãããããã§ããAtCoder ã§ã¯ï¼ç¹ã« double
ãæ³å®ããã±ã¼ã¹ã¯ï¼èæ
®ããã¦ããã¡ãªæ°ã¯ãã¾ãããï¼long double
ã¯è¦è½ã¨ãããã¡ãªæ°ããã¾ããï¼ã
ã½ããã¦ã§ã¢éçºã®æèã ã¨ããæ°å¦çãªè¨¼æããã¾ãããã§åä½ãã¹ããæ¸ããªãã®ã¯ä¸å®ãªæããããæ°ããã¾ãã ä¸æ¹ããã®æã®æµ®åå°æ°ç¹æ°ã絡ããã®ã«ããã¦ã¯ãåä½ãã¹ãã§é©å½ã«ããã¤ãã®ã±ã¼ã¹ãé¸ãã§ã大ä¸å¤«ããã§ãããã¨è¨ãã®ã¯ä¸å®ãªæ°æã¡ã«ãªãã¾ãããã¹ããã¦ããªãã±ã¼ã¹ã«ããã¦èª¤å·®ã§ãã¡ããã¡ãã«ãªããã¨ã容æã«èµ·ããããããã§ããå¤å°è©³ãã人ã§ãªãã¨ãå ã®ä¾ã® $\fround{\tfrac1{49}}$ ãªã©ã®åä¾ãæãããã¨ã¯é£ãããã§ãããã
ã¨ã¯ãããæµ®åå°æ°ç¹æ°ã«æãããªã人ï¼ä¸ã®ä¸ã®ãã¸ã§ãªãã£ï¼ã«ããããäºæ ã説æãã¦ããã£ã¦ãããã®ã¯å¤§å¤ãããªæ°ããã¦ãã¦ããã¾ããã¨ãã£ã¦ããå¿ è¦ãããããã ãªã¨ããæ°æã¡ã«ãªã£ãããã¦ãã¾ãã ãã®è¾ºã®è©±ã¯æ£è¦è¡¨ç¾ãªã©ã®ãããã¯ã§ãå½ã¦ã¯ã¾ãããã§ããã
ç¹ã«ãªã«ããã£ãããã§ã¯ãªãã®ã§ããã競ããå¯ãã®äººã ã«ã¯èå³ã®ãªã話ããªã¨æã£ã¦èãã®æåã§æ¸ãã¾ããã
ãã¨ãã
$\fround{x}$ ã®è¨æ³ã¯ãä»åæãã¤ãã§å°å ¥ãããã®ã«ãªãã¾ãã ä¸è¨ã®ååã®è¨äºã§ã¯ $\hat x$ ã¨ã $\operatorname{round}(x)$ ã¨ãæ¸ãã¦ãããã®ã§ãããé·ãã®å¼ã«å¯¾ãã¦ãããæãã«æ¸ãããã®ããããªã¨æã£ãã®ã§èãã¦ã¿ã¾ããã
çµç·¯ã¨ãã¦ã¯ãæè¿ï¼æèèªä½ã¯ãã¾ãé¢ä¿ãªããã®ã®ï¼$[\![\texttt{a+b}]\!]$ ã®ãããªæ¬å¼§ã 使ããã¦ããã® ãè¦ã¦ããæ¬å¼§ããããã£ã¦ä½ãã®ã âã¢ãªâ ãªãã ãªãã¨æã£ãã®ããã£ããã«ãªãã¾ããæä½ã¨ãã¦ã¯ round ã表ãã®ã§ä¸¸ãæ¬å¼§ããããªã¨æã£ã¦ã$(\hspace{-.2em}|x|\hspace{-.2em})$ ã $\fround{x}$ ãªã©ã試ãã¦æ±ºãããã®ã§ãã $(\hspace{-.2em}|x|\hspace{-.2em})$ ããããªã¨æã£ãã®ã§ãããå¥ã®æè*5ã§ã®ä½¿ãããæãåºãããã¨ã¨ã$[\ldots]$ ã®æ¹ã Gauà è¨å·ã $\floor{\ldots}$ $\ceil{\ldots}$ ãé£æ³ããã¦ã丸ãã«è¿ãããªï¼ã¨ããæ°æã¡ããã£ããã¨ã«ããã¾ããå®ç¾©ã¯ä¸è¨ã§ã*6ã
$\gdef\fround#1{(\hspace{-.2em}[#1]\hspace{-.2em})}$
ãããããããã®æ¬å¼§ã«å¥ã®æå³ããã£ããã該å½ã®æ¦å¿µã«å¥ã®è¨æ³ããã£ããããã®ããããã¾ãããããã¾ããµã¼ãã¤ãã¦ãã¾ããã
ããã
æè¿ã¯éè¦ã®ãªããããªè¨äºã°ããæ¸ãã¦ãã¾ãããä½ããã®å±é¢ã§èª°ãããã®å½¹ã«ç«ã£ãããããªã¨æã£ã¦ãã¾ãããããã¯ä»ã®äººã®å½¹ã«ç«ã£ã¦ããªãã¦ããæ¸ãã¦ããã¨ãã®èªåãæ°æã¡ãããªã£ã¦ããã®ã§ååã§ãã
*1:ã誤差ã§ãã¡ããã¡ãã«ãªã£ãæå³ä¸æãªå¤ãã®ãããªã¤ã¡ã¼ã¸ããã人ãããããããã¾ããããæ°å¦çã«æ¸ããå¤ã§ãããã¨ãæèããã¨ããããã§ãã
*2:ä»æ§ã«å¿ãã¦é©åãªä¸¸ãæ¹åãæ¡ç¨ãããã®ã¨ãã¾ãã
*3:ä»®æ°é¨ã®å¶å¥ã«å¿ãã¦çå·ãå«ãããå¤ããã¾ãããä¸æ¦çå·ãå«ããã®ããèãã¦ã¿ã¦ãã ããªããã®æ¬¡ã®ãã®ãæ¡ç¨ãããã¨ã«ãã¾ãã
*4:ãããããªå¯¾è©±åãã¼ã«ããã£ã¦ãã®ããã§ããã
*5:The SATySFibook ã® record ã®é¨åã§ãããã£ã¡ãå¥ã®åºå ¸ãããã®ãããåéãããéããããªã®ã§ãåãè¨å·ã§ãæ°ã«ãã¦ãªãã¦ããã¨æã£ã¦ã¯ãã¾ãã
*6:è«æã¨ãã§ä½ããã®ç¬èªã®è¨æ³ã使ãã¨ãã¯ã$\LaTeX$ ã§ã®æ¸ãæ¹ã footnote ã«ã§ãæ¸ãã¦ããã¦ããã¨æã£ã¦ããã¿ã¤ãã§ãã