Path: coconuts.jaist!wnoc-tyo-news!tokyonet.ad.jp!tokyonet.ad.jp!taurus!dtinews!imci3!newsfeed.internetmci.com!feed1.news.erols.com!howland.erols.net!newspump.sol.net!news.inc.net!news.sprintlink.net!news-chi-8.sprintlink.net!news.gdbnet.ad.jp!sinetnews!news.nacsis.ac.jp!alps!cryst!escargot!t-server!news.nc.u-tokyo.ac.jp!makino From: makino@chianti.c.u-tokyo.ac.jp (Jun Makino) Newsgroups: fj.comp.dsp Subject: Re: Squeare root bye +-x op. Followup-To: fj.comp.dsp Date: 06 Oct 1996 02:57:19 GMT Organization: College of Arts and Sciences, Univ. of Tokyo Lines: 37 Distribution: fj Message-ID: References: NNTP-Posting-Host: kaiji.c.u-tokyo.ac.jp In-reply-to: sfuji@ten.fujitsu.co.jp's message of 03 Oct 1996 00:20:19 GMT >>>>> On 03 Oct 1996 00:20:19 GMT, sfuji@ten.fujitsu.co.jp (FUJIMOTO Shoji) said: > 藤本s@富士通テンです。 > 遅くなりましたが、 > In article makino@chianti.c.u-tokyo.ac.jp (Jun Makino) writes: >>> > 以前は浮動小数の特性を利用してなんとかなったんですが、固定小数のでいき >>> > づまっています。 >>> >>> 参考までにおうかがいしますが、浮動小数点のときはどんな方法を使っていた >>> のですか? > √a + x = a^(1/2) + Σ(-1) × ((2n - 1) !! x^n) / (n!2^n・a^(n - (1/2))) > n=1 > = a^(1/2)・[1 + x/2a - x^2/8a^2 + x^3/16a^3 ......] なるほど、テイラー展開を使った多項式近似ですね。 あの、別記事ではニュートン法を検討されているとのことでしたが、そ れはちょっとどんなものかとおもいます。というのは、ニュートン法は 初期推定値が良くないと収束が非常に遅いし、普通に平方根を求める場 合には除算を必要とするからです。固定小数点の場合に必ずしもよい方 法であるとは限らないのではないかと思います。 平方根の逆数を求める場合には除算を必要としない形になりますから、 除算が遅い計算機では平方根の逆数を求めておいてそれをもとの数と掛 けてやるというのが普通です。固定小数点の場合には小数点の位置に よってはこれはうまくいかないこともありえます。 浮動小数点の場合には、指数部を操作することでかなりよい初期値が得 られるのでニュートン法が良い場合も多いと思います。が、その場合に は多項式近似も同様に良いので、特に高い精度が必要であるとかいうこ とがなければニュートン法がいいということにはならないような気もし ます。 牧野@東大駒場