• 検索結果がありません。

多倍長計算を適用した精度保証数値計算 (21世紀における数値解析の新展開)

N/A
N/A
Protected

Academic year: 2021

シェア "多倍長計算を適用した精度保証数値計算 (21世紀における数値解析の新展開)"

Copied!
8
0
0

読み込み中.... (全文を見る)

全文

(1)

165

多倍長計算を適用した精度保証数値計算

徳島大学工学部

坂口 秀雄

(Hideo Sakaguchi)

Faculty

of

Engineering,

University

of

Tokushima

九州大学情報基盤センター

渡部 善隆

(Yoshitaka Watanabe)

Computing and

Communications

Center, Kyushu

University

徳島大学工学部

今井 仁司

(Hitoshi IMAI)

Faculty

of

Engineering, University of Tokushima

1

はじめに

最近のコンピューターやネットワーク技術の発展によって,

強力なコンピューター利用環

境を容易に得ることができる

.

高速なネットワークに繋がった様々な

$\mathrm{P}\mathrm{C}$

で構成される

PC

クラスターによって

, それは実現される

.

$\mathrm{P}\mathrm{C}$

において一般的なオペレーティングシステ

$\Delta$

は Linux である

.

この

Linux

をインス

\vdash --

$l\triangleright$

する際に

PVM[4]

は自動的にインストーノレされ

,

並列計算を行う環境を得られる

.

このような環境を使うことで,

大規模な数値計算を簡単に

行うことが可能である

.

このような背景から, 我々は

,

スペクトル選点法

[2]

と多倍長計算

[11] を用いたある種の数

値計算を行った

.

この数値計算は任意に誤差を小さくすることを可能とする

[10].

一つの成

功例として逆問題に対して直接的に数値計算を行ったものがある

[7,

8,

9].

第一種積分方程

式を正則化せずに二通りの方法で解いた

.

一つ目が

,

積分に対して離散化を行う

.

これは

,

一般的なアプローチであるが,

数値解が厳密解にゆっくりと収束する

$[7, 8]$

. 二つ目は,

未知

の解に対して離散化を行うが,

このアプローチは一般的ではない

.

しかし

, スペクトル精度

が得られることは驚きである [9].

逆問題を離散化するとたちが悪くなることはよく知られて

いる

. それで

,

収束スピードの違いを調べるために精度保障付き数値計算が必要になる

.

のことが,

我々の動機である

.

離散化された問題はテスト問題として後で述べる

.

我々は精度保障付き数値計算を

$\mathrm{P}\mathrm{C}$

クラスターを用いた並列計算環境で行った.

これは,

多倍長計算が多くの計算機リソースを必要とするからである

.

多くの多倍長計算用のライブ

ラリー (FMLIB

[16], exffib[3]

など

)

は,

web

サイトからダウンロードしたあと簡単

$\ovalbox{\tt\small REJECT} \mathrm{I}\mathrm{J}$

用する

ことができる

.

いくつかのライブラリー (MPFI[5, 15]

など

)

は多倍長精度で区間演算を実

現している

.

並列計算は

PVM

MPI[6]

などを用いること行うことが可能である.

いくつか

のライブラリー (ScaLAPACK

$\zeta 1]$

など

)

はすでに

,

並列計算が可能になっている

.

このよう

に,

並列化した精度保障付き数値計算を行うには多くの選択肢と組み合わせがある

.

しかし

ながら,

簡単に利用できたり,

$\mathrm{P}\mathrm{C}$

クラスターでの利用には制限がある

.

もし,

Linux

がイン

\vdash --]

されていれば

, PVM

も自動的にインスト

$-l\triangleright$

されている,

FMLIB+t

ソースファイ

ルで公開されているので,

インスト

–)

はとても簡単である

,

したがって

,

我々は連立一次

{?}

式を

\Phi

$\text{く}$

ための並列化した

$\text{精}$

E

保障付き数値

\equiv =\dagger {?}

のための多倍長

{?}‘B

の区間演算ライブ

ラリーを

FMLIB

PVM

を利用して開発した

. 連立一次方程式を解くことは, 微分方程式

(2)

や積分方程式の数値計算において本質的なことである

.

$.\text{さ}$

らに,

これらの方程式が非線形で

あれば,

ニュートン法を用いて繰り返し解くことになる

.

我々のライブラリーは

$\mathrm{P}\mathrm{C}$

クラス

ターに適しており

,

我々はライブラリーを逆問題や他の問題の離散化した問題に適用した

.

2

テスト問題

我々はテスト問題として以下の連立一次方程式を考える.

$Au=b$

,

$A=(a_{i,j}),$

$u=(u_{i}),$

$b=(b_{i})$

,

$\mathrm{i},j=1,2,$

$\cdots,$

$M$

.

テスト問題

1

典型的なたちが悪い例として

$A$

が以下の

Hilbert

行列の場合

.

$a_{i,j}= \frac{1}{\mathrm{i}+j-1}$

,

$\mathrm{i},j=1,2,$

$\cdots,$

$M$

,

$b=A(1, \cdots, 1)^{T}$

.

テスト問題

2

$M=N+1$

.

たちの良い例として

$A$

が以下のように与えられる場合

.

$a_{1,1}=-a_{1,N+1}= \frac{2N^{2}+1}{6}$

,

$a_{1,j+1}= \frac{(-1)^{j}}{\sin_{2\overline{N}}^{\dot{L}^{\pi}}\sin_{2\overline{N}}^{L^{\pi}}}$

,

$j=1,2,$

$\cdots,$

$N-1$

,

$a_{i+1,j+1}=\{$

$\frac{2}{3Nc_{j}}\sum_{k=2}^{N}\frac{(-1)^{k}}{c_{k}}k^{2}(k^{2}-1)\cos\frac{kj\pi}{N}$

,

$i=N,$

$j=1,2,$

$\cdots,$

$N$

,

$- \frac{(-1)^{i+j}}{2c_{j}\sin^{2}\frac{i\pi}{N}}\{\frac{\cos\frac{i\pi}{N}}{\sin\frac{(i+j)\pi}{2N}\sin\frac{(i-j)\pi}{2N}}$

$+ \frac{1}{\sin^{2}\frac{(i+j)\pi}{2N}}+\frac{1}{\sin^{2\mathrm{L}^{i-}\Delta j\underline{\pi}}2N}\}$

,

$i\neq j$

,

$i=1,2,$

$\cdots,$

$N-1,$

$j=1,2,$

$\cdots,$

$N$

,

$- \frac{1}{2\sin^{2}\frac{i\pi}{N}}\{\frac{1+\cos^{2}\frac{i\pi}{N}}{\sin^{2}\frac{i\pi}{N}}+\frac{2N^{2}+1}{3}\}$

$

$i=j=1,2,$

$\cdots,$

$N-1$

,

$c_{0}=c_{N}=2$

,

$c_{j}=1$

,

$j=1,2,$

$\cdots,$

$N-1$

,

$b=A(0, -2, \cdots, -2)^{T}$

,

ここで

,

$N$

はスペクトル選点法の次数とする

.

A

は次の境界値問題を

Chebyshev-Gauss-Lobatto

選点

$x_{i}= \cos\frac{i\pi}{N},$

$i=0,1,$

$\cdots,$

$N$

を用いたスペクトル選点法によって離散化して得

られる行列である

.

$u_{xx}(x)=-2$

in

(-1,

1),

$u(-1)=0$ ,

$u_{x}(!)=0$

厳密解は

$u(x)=-(x+1)(x-3)$

である.

$N\geqq 2$

の場合,

離散化問題には打切り誤差は含ま

れない. したがって、

大きな

$N$

に対して

$Au=b$

の厳密解

$u^{exac}$

(3)

187

となる.

このような適切な境界値問題に対して

, 厳密解が多項式でない場合

,

数値誤差は

$146\cross 10^{-4995}$

になる

[10].

テスト問題

3

$M=N+1$ . 孟が以下のように与えられる場合

.

$a_{i+1,j+1}= \sum_{k=0,k\neq 1}^{N}\frac{2}{Nc_{k}c_{j}}e^{x_{i}y_{j}}\cos\frac{jk\pi}{N}\cdot\frac{1+(-1)^{k}}{1-k^{2}}$

,

$\mathrm{i},$

$j=0,1,$

$\cdots,$

$N$

,

$x_{i}=y_{i}= \cos\frac{\mathrm{i}\pi}{N},$

$\mathrm{i}=0,1,$ $\cdots,$

$N$

,

$b=A(1, \cdots, 1)^{T}$

$A$

は次の第一種積分方程式

$[7, 8]$

Chebyshev-Gauss-Lobatto

選点を用いたスペクトル選点

法によって離散化して得られる行列である

.

$\int_{-1}^{1}e^{xy}u(y)dy=f(x)$

ここで

,

$f(x)$

は与えられた関数である.

この非適切な問題に対して, 数値計算は成功してい

$[7, 8]$

しかしながら

,

数値解の収束性はとても遅くなっている

テスト問題

4

$M=N+1$

.

$A$

が以下のように与えられる場合

$a_{i+1,j+1}= \sum_{k=0}^{N}\frac{2}{Nc_{k}c_{j}}T_{k}(y_{j})I_{ki}$

,

$\mathrm{i},$

$j=0,1,$

$\cdots$

,

$N$

,

$I_{ki}= \oint_{-1}^{1}e^{x_{i}y}T_{k}(y)dy=\{$

$e^{x_{i}}(d_{k,0}+d_{k,1}+\cdots+d_{k,k})$

$-e_{0}^{-x_{i}},(d_{k,0}-d_{k,1}+\cdots+(-1)^{k}d_{k,k})$

,

$x_{i}\neq 0$

,

$k=1$

,

$x_{i}=0$

,

$\frac{1+(-1)^{k}}{1-k^{2}}$

,

$k\neq 1$

,

$x_{i}=0$

,

$T_{k}(y)=C_{k,0}+C_{k,1}y+C_{k,2}y^{2}+\cdots+C_{k,k}y^{k}$

:

$k$

次の

Chebyshev

多項式,

$d_{k,k}= \frac{1}{x_{i}}C_{k,k}$

,

$d_{k,j}= \frac{C_{k,j}-(j+1)d_{k,j+1}}{x_{i}}$

,

$j=k-1,$

$k-2,$

$\cdots,$

$1,0$

,

$b=A(0, -2, \cdots)-2)^{T}$

.

$A$

はテスト問題

3 と同じ積分方程式から得られる行列であるが

, Chebyshev-Gauss-Lobatto

選点を用いたスペクトル選点法の

$u(y)$

に対する積分への適用の仕方が異なる

[9].

この離散

(4)

3

我々のライブラリーと数値計算結果

我々は連立一次方程式

$(Au=b)$

を解くための精度保障付き数値計算に必要な区間演算ラ

イブラリーを多倍長精度で開発した

. 我々のライブラリーはガウスの消去法を用いていて,

反復法は用いていない

.

これは,

行列

$A$

の性質が分からなかったり

,

たちが悪かったりする

ためである

. 区間演算

[14] が我々のライブラリーの本質である

.

また,

多倍長計算を行うた

めに

Fortran

の多倍長パッケージである

FMLIB

を用いた.

FMLIB

では

,

浮動小数点数の丸

めの方向を制御することが可能である. 我々のライブラリーは適当な

$\mathrm{P}\mathrm{C}$

クラスターで並列

計算を行えるように

PVM

を用いて並列化されている

.

テスト問題

1-4

の我々のライブラリーを用いた数値計算結果はそれぞれ

,

1-4

で示す

.

こで

,

$I_{\max}$

,

err

は次のように定義する.

$I_{\max}= \max 1\leq i\leq M|\underline{u}_{i}-\overline{u}_{i}|,\hat{u}_{i}=(\underline{u}_{i}, \overline{u}_{i})$

in Figs. 1-4,

$err=\{$

$1 \leq i\leq M1\leq i\leq M\max_{\max}|u_{i}-1||u_{i}-u_{\mathrm{i}}^{exac}’|$

,

in Figs.

$31$

,

2, 4,

in Fig. 3,

ここで

,

$\hat{u}_{i}$

は区間である

.

$\mathrm{s}\int_{-1}$

$-,(\mathrm{n}---0^{\cdot}\backslash \backslash \cdot\backslash \cdot\backslash \backslash \backslash .\backslash .\backslash \backslash \cdot....\cdot$ $u_{0}..250’arrow.- \mathrm{M}\cdot 2\alpha \mathrm{b}\mathrm{I}\cdot\prime w.-\cdot\sim \mathrm{h}’\cdot 50\cdot\cdot.\cdots$

$\backslash ^{\Xi}\circ \mathrm{R}$

$.\mathrm{m}\mathrm{o}\backslash \backslash :\backslash \cdot\cdot..\backslash \backslash \backslash \cdot.\backslash \backslash \backslash _{\backslash }\cdot..\backslash \theta$

bl-b{

$\cdot$

stl

$\cdot-.arrow$

z\mbox{\boldmath$\alpha$}lhf

Iulmr

$\cdot$

$=$

$\underline{\circ 6}D$

$.1\alpha \mathrm{n}$

$\backslash \backslash \backslash \backslash \backslash \backslash \backslash \cdot$

-$\underline{\circ \mathrm{b}}D$

$\backslash \backslash :.\backslash \backslash \cdot$

:

$- 1\alpha \mathrm{n}$

digit

number

digit

number

$\langle$

$\mathrm{a})I_{\max}$

without

numerical

verification.

(b)

$I_{\max}$

with numerical verification.

$\alpha n$

$\mathrm{w}\mathrm{i}a_{\mathrm{b}1\mathrm{h}\mathfrak{n}\mathrm{u}\mathrm{m}\mathrm{c}A\mathrm{v}\iota\hslash r_{1c\mathrm{r}\mathrm{r}\mathfrak{n}}-}\mathrm{n}\mathrm{u}\iota \mathrm{m}\mathrm{m}\mathrm{m}\mathrm{c}*\mathfrak{l}\mathrm{w}\mathrm{n}r_{\mathrm{K}\cdot 1n\Uparrow*}$

,

$\backslash ^{\mathrm{g}}6\aleph.10(n8\alpha 1$ $\prime\prime\prime\prime\prime\prime$ $|\underline{\uparrow}\alpha\}$ $\mathrm{b}D$ $\alpha n$ $.16\alpha|$

$\mathrm{w}\mathrm{i}a_{\mathrm{b}1\mathrm{h}\mathfrak{n}\mathrm{u}\mathrm{m}\mathrm{c}A\mathrm{v}\iota\hslash r_{1c\mathrm{r}\mathrm{r}\mathfrak{n}}-}\mathrm{n}\mathrm{u}\iota \mathrm{m}\mathrm{m}\mathrm{m}\mathrm{c}*\mathfrak{l}\mathrm{w}\mathrm{n}r_{\mathrm{K}\cdot 1n\Uparrow*}$

,

$\backslash ^{\mathrm{g}}6\aleph.|\underline{\uparrow}\alpha\}10(n8\alpha 1 \prime\prime\prime\prime\prime\prime’ \mathrm{q}\mathrm{J}\mathrm{k}\mathrm{k}.\cdot.)\iota s\mathrm{n}1?\alpha)17S0$

$\mathfrak{M}_{\mathfrak{n}\mathrm{u}\dot{\mathrm{r}}\mathrm{c}\theta \mathrm{m}\mathrm{f}\iota \mathrm{c}u\mathrm{o}\mathrm{n}.\cdot\prime-}^{\mathfrak{n}\mathrm{u}\mathrm{m}\mathrm{e}\mathrm{d}n\dot{\mathrm{n}}\Gamma 1\theta\cdot \mathfrak{v}_{1}\mathrm{o}\mathrm{r}}\nearrow-\prime\prime.$

.

$j/$

.,’

$\underline{\circ \mathrm{b}}0- 14(\mathrm{K}|$

$\nearrow’.’.\prime\prime\prime$

.

$\cdot$

..

$\cdot$ $\underline{\mathrm{o}^{\mathit{0}}\mathrm{b}}.|\epsilon\alpha$

}

.

$’.’\nearrow’$

’.,,

.

$\sim.16(n.’:1un’\nearrow’\cdot\prime\prime’$

.18’

$0$ $’.\prime t$ $1\mathfrak{M}\prime\prime/$ $-\mathrm{z}\mathrm{r}_{50}$ $.19s\mathrm{o}_{50}$

$1\alpha)$ $1\infty$ $\mathit{1}\omega$ $\mathrm{a}s\mathrm{o}$ ${\rm Im}$

’50

$\mathrm{z}\alpha|$

$M$

$M$

(c)

$I_{\max}$

with

2000

digits.

(d)

err

with

2000

digits.

(5)

169

$\aleph$

$\aleph\cdot 2mr\ltimes 1\propto 1$

:

$\sim^{\mathrm{S}}\mathrm{b}D\underline{\mathrm{O}\aleph 6}$ $.1^{\cdot}5\mathrm{t}\mathrm{n}|[\mathrm{n}s\alpha \mathrm{r}_{0},$

$\cdot|\backslash \backslash \backslash \backslash \dot{\vee}\backslash \backslash \backslash \backslash \backslash \backslash \backslash .\backslash _{\mathrm{s}_{\backslash }}^{8}\backslash \backslash .\backslash \backslash \backslash \backslash \mathrm{N}\cdot 250\aleph\cdot 2m^{1}r_{1}^{\mathrm{N}50}\ltimes \mathrm{i}\alpha\backslash \backslash \backslash .\backslash \backslash \cdot.-.\cdot..\cdot$

$\underline{\circ\infty\not\in 6\mathrm{H}}$

$.\cdot.\cdot 1^{\cdot}.8\{n14\alpha 12\alpha\}1\{\mathrm{x}\mathrm{x})4016\alpha|6\omega 2\alpha\},$ $\backslash ^{\aleph-S0}-\backslash \backslash \aleph\cdot \mathrm{z}\alpha\}\backslash ^{\aleph\cdot 1w\backslash }\backslash _{\backslash \backslash _{\backslash _{\backslash }}}^{\aleph\cdot 250-arrow}\cdot\backslash \cdot$ $\backslash$

-8 頭

$\backslash \cdot\backslash \backslash \backslash \cdot$

.zxx’

$.\mathrm{z}w_{0}204‘ n6\mathrm{m}8\alpha\}1\alpha \mathrm{n}|un1\mathrm{f}0\prime 6\infty$

tm

um

$.\mathrm{L}’ w_{0}u\mathrm{r}4\alpha \mathrm{l}\epsilon w$

un

$\iota\alpha \mathrm{m}1m$

)

$1m1\iota\epsilon\omega 1\mathrm{a}w\mathrm{z}\alpha n$

digit

number

digit number

(a)

$I_{\max}$

without numerical verification.

(b)

$I_{\max}$

with

numerica1

verifica-.

digit number

(b)

$I_{\max}$

with nunerical verification.

(All

lines coincide.)

$.\mathrm{a}m$

$\iota r\mathrm{s}\mathrm{o}$ $\mathrm{w}i0\mathrm{n}\mathrm{u}\iota \mathrm{m}\dot{\ovalbox{\tt\small REJECT}}\mathrm{d}\mathrm{v}\dot{\mathrm{r}}\zeta|\epsilon \mathrm{u}\infty-$

$u:\mathrm{l}\mathrm{h}\mathfrak{g}u\mathrm{t}\mathrm{m}\ovalbox{\tt\small REJECT} \mathrm{c}\mathfrak{l}nn\Gamma\iota’ \mathfrak{n}\dot{\mathrm{r}}\mathfrak{l}\mathrm{h}\mathfrak{n}\mathrm{u}\mathrm{m}\mathrm{c}\dot{\mathrm{u}}_{\mathrm{w}n}r_{\kappa \mathrm{a}\omega \mathrm{n}}^{\mathrm{R}1!-}.\ldots$

.

$.\mathrm{z}‘ \mathrm{n}‘.2$

$\dot{\mathrm{r}}\iota \mathrm{h}\mathrm{n}\mathrm{u}-\cdot\theta nd\mathrm{f}\kappa.\mathrm{r}\mathrm{i}_{\mathrm{t}}m\wedge$

$\prime’\backslash ..\vee/$ $4^{\xi}6\aleph$

.)

$\epsilon\alpha$

)

$1\epsilon s\mathrm{o}$ $/^{\nearrow’}\cdot\prime\prime.’\prime^{\prime^{\prime’}}/’$ $\mathrm{q}\mathrm{J}\mathrm{k}\mathrm{I}$

,

$-\cdot \mathrm{z}\iota \mathrm{n}l.62\mathrm{o}u.4$

/

$\cdot$

,

$./^{\nearrow}/$

$\underline{\mathrm{O}\mathrm{b}}0..’!)w1950\prime\prime^{\prime’}/’\prime\prime’\prime’\prime’\prime\prime\prime’/$ $\underline{\mathrm{o}\omega}.2^{\cdot}\alpha 152\mathrm{z}\alpha)4.82\alpha|5r^{r}.\cdot.\prime\prime\vee\prime\prime\prime.’\nearrow$

$.2\alpha \mathrm{n}$

.

.. .

...

.

$.\cdot.\mathrm{a}\alpha 1’,\cdot 8\mathrm{z}\alpha 5.4\mathrm{z}\alpha \mathrm{r}.\epsilon_{50}$

$.2\mathrm{o}s\mathrm{o}w$

$2so$

$\iota\alpha$

150

$2\alpha\}$

$2so$

$[]\alpha$

150

$\mathrm{z}w$

$N$

$N$

(c)

$I_{\max}$

with

2000

digits.

(d)

err

with

2000

digits.

2.

テスト問題

2

の数値計算結果

lm

lr

$\mathrm{M}\cdot 50-$

$\aleph O\mathrm{O}--$

$,-^{\epsilon}\mathrm{H}\circ$ $s\mathrm{r}_{0}$

. ..

.

$\cdot$

$0\aleph\cdot 2\mathrm{S}\mathrm{O}\mathrm{N}\cdot 2\mathrm{t}\mathrm{n}$

:.

$-^{\mathrm{s}_{\mathrm{t}}}6\aleph$

0

$\backslash$

.

$.$

.

$\cdot$ $\aleph\cdot.u\mathrm{o}$ $\mathrm{N}\cdot 1\infty$

.

.

..

$s\alpha$

)

$\mathrm{N}-u$$\mathrm{O}\mathrm{w}\cdot\iota\alpha’-_{\mathrm{o}}$

)

.

.

$\sim\backslash \sim$

.

.

$\backslash$ $\backslash \backslash _{\backslash _{\backslash }}$ $\underline{\mathrm{o}\omega}$

.500

$\backslash _{\backslash \backslash }\backslash \sim\backslash \sim$

.

.

$.,$

.

.

..

$\underline{\circ \mathrm{b}}D$

$.s\infty$

$\backslash \backslash \backslash \backslash ^{\backslash }\cdot\cdot\cdot$

.

$\backslash$

$\cdot$

.

$1\mathrm{m}$

)

$\backslash \backslash \backslash _{\backslash }\backslash \cdot\backslash$ $\cdot$

.

.

$\backslash _{\backslash }\backslash$

.

$\backslash \cdot$ $\backslash _{\mathrm{b}}\sim$ $\cdot$

.

$1\mathrm{m}$ $\backslash _{\backslash }$

.

$\iota s\alpha$

}

$\backslash \backslash$ $\cdot$

.

$1S\ln$

$\backslash _{\backslash }\backslash$

$.2\alpha \mathrm{n}$ $.\lrcorner^{*}\mathrm{X}\mathrm{X}).--$

$\cdot$- $\cdot\cdot$

$.\sim-$

$\cdot-$

$i-$

,–

,

$\mathrm{m}$

0

$2\alpha’ m6\alpha 1$

$\aleph B\iota\alpha \mathrm{r}$

}

$\downarrow \mathrm{m}1\triangleleft\infty$

lffil

$\iota u\mathrm{n}2\{\mathrm{m}$

digit

number

(b)

$I_{\max}$

with

numerical verification.

$.\mathrm{z}\alpha$

$\mathrm{V}f1\infty u\iota \mathfrak{n}\mathrm{u}\dot{\ovalbox{\tt\small REJECT}}\mathrm{c}\mathrm{a}\mathrm{l}n\dot{\mathfrak{n}}r_{1\mathrm{c}\mathrm{u}}‘ j\mathrm{o}\mathrm{n}\mathrm{V}\mathrm{I}\mathrm{t}\mathrm{h}\mathrm{m}\mathrm{n}\mathrm{m}\mathrm{c}dn\dot{\mathrm{n}}\mathrm{f}\mathrm{c}\omega 0\mathrm{l}’.-.\prime\prime$

$.\cdot\prime 3\alpha\}14\alpha)$

Wltlru‘

$\mathrm{n}\mathrm{u}\dot{\mathrm{m}}\sigma d\mathrm{w}\mathrm{n}l1\epsilon \mathrm{A}0\mathrm{R}$

Vilb

$\mathrm{n}\mathrm{u}\dot{\mathrm{r}},\mathrm{c}\triangleleft\dot{\mathfrak{m}}r_{|\mathrm{c}}u|\alpha \mathrm{n}..-.\prime\prime\cdot’\cdot$

,

$\prec m$

$\backslash ^{\xi}6\aleph-.8\infty 6\iota \mathrm{n}$

,

$\cdot$

,

$\cdot$

,”’.”

$\mathrm{k}\mathrm{k}\mathrm{q}$

)

$..\iota sw|\epsilon\omega$ $\prime e,\cdot.\nearrow’’$

$/’$

$\mathrm{b}D\underline{\circ}...’12\mathfrak{W}\mathfrak{l}4\alpha\}\alpha 10$

,,

$\cdot$

,,’

$\nearrow$

.

$\underline{\circ \mathrm{b}}D$

;

.

$i^{i}./’/\nearrow.\prime\prime./^{\nearrow}$ $.16\alpha$

$\nearrow’/’$

.

$- 19\alpha)\prime’i’/$

$.\cdot 2\mathrm{t}\mathrm{x}\mathrm{K}\}1\mathrm{f}\mathrm{l}\mathrm{t}\mathrm{K}’,0$

$1\alpha)$ $\mathfrak{l}30$ $2\alpha\}$ $\mathrm{u}\mathrm{o}$

$.\mathrm{m}\alpha)5‘ 1$

$1\alpha)$

1”

$2\alpha$

,

$u\mathrm{o}$

$N$

$N$

(c)

$I_{\max}$

with

2000

digits.

(d)

err

with

2000

digits.

(6)

$\mathrm{t}\alpha n$

$1lm$

$\aleph\cdot’\alpha)u\cdot sa=$ $\aleph\cdot \mathrm{i}\mathrm{N}s\alpha 10--$

5

$‘ \mathrm{x}_{0}$

:

$\tau\aleph-f\mathfrak{X}\aleph\cdot 2\alpha$

}

$.$

:

$\sim^{\Xi}\mathrm{d}\aleph$

$SW$

;

:

$\aleph\cdot 25\Omega\aleph-2\infty$ $arrow$

.

0

$\backslash \backslash \backslash _{\backslash }$

$\mathrm{o}$

$s\infty$ $\backslash \backslash _{\backslash \backslash }\backslash$ $\backslash$

$\underline{\circ \mathrm{b}}\emptyset$ $s\mathrm{r}\mathrm{n}$

$\backslash _{\backslash }\sim$

.

$\backslash \backslash$

$\backslash _{\sim}\sim\backslash -$

$\backslash$ $\cdot 1\mathrm{R}$

$\backslash \backslash _{\wedge}\backslash$ $1\mathfrak{m}$

$\backslash _{\sim}$ $\backslash \backslash \cdot$

.

$[s\alpha)$ $\backslash \backslash \backslash _{\backslash }\backslash \backslash$

$\iota s\mathrm{r}n$

$\backslash _{\backslash }\backslash$

$\mathrm{r}$ $2(\mathrm{m}$

$4\mathrm{t}n$

un

$\mathrm{r}w$ $1\alpha \mathrm{n}$

1200 1400

$16\ln$

$1u\mathrm{r}$

20010

$\mathrm{Q}$

20

$4\mathrm{t}n\iota\infty$

$8\mathrm{t}\mathrm{n}|\alpha n12w14|n16\infty$

$1800$

$2000$

$\int_{\backslash ^{\Xi}}$

$sm$

$\tau\aleph\cdot I\mathfrak{X}\aleph\cdot 2\alpha\}$

:

$\sim^{\mathrm{g}}\dot{\mathrm{d}}$

$sw$

$\aleph\cdot 25\Omega \mathrm{N}\cdot \mathrm{A}arrow$

.

$u$

0

$0\backslash _{\backslash \backslash _{\backslash }};$

:

$\mathrm{o}$

$\underline{\mathrm{O}\mathrm{b}}D$

$|\mathfrak{m}s\omega\backslash \backslash _{\backslash \backslash }\backslash \backslash _{\sim}\backslash \sim\backslash -\backslash _{\sim}\backslash \backslash$

$\underline{\circ \mathrm{b}}\emptyset$

$.1\mathrm{R}S\mathrm{t}\mathrm{n}$ $\backslash _{\backslash _{\backslash }}\sim\backslash _{\wedge}\backslash$ $\backslash \backslash$

$\backslash \backslash _{\backslash }\backslash \backslash$

$\iota s\mathrm{t}n$

$\backslash \backslash \cdot\backslash _{\backslash }\backslash$ $.\mathrm{l}s\alpha$

$\mathrm{r}_{40}$

un

$\mathrm{r}\omega 1\alpha \mathrm{n}\prime \mathrm{m}14\alpha$

}

$\mathrm{l}\epsilon\{\mathrm{n}1u\mathrm{r}2(*\mathrm{K})$ $2(\mathrm{m}_{\mathrm{O}}204‘ n\iota \mathrm{m}8\mathrm{t}\mathrm{n}|\alpha n1\mathrm{z}w14|n16\infty \mathrm{t}\epsilon\alpha’ 2\alpha n$

digit

number

digit

number

(a)

$I_{\max}$

without

numerical verification.

(b)

$I_{\max}$

with numerical verification.

$\sim^{\mathrm{E}}\mathrm{S}.ml\iota \mathrm{n}$

.

$-\cdot-\cdot--\cdot\cdot-\cdot\cdot--\cdot\cdot--\cdots--.----’/^{\nearrow}\nearrow’\nearrow]’\prime\prime.\cdot$ $\overline{\mathrm{k}}\mathrm{q}\mathrm{J}\mathrm{g}..\cdot 1u\mathrm{n}15\alpha l|w\mathrm{o}$

$/\prime\prime\prime\nearrow F$ $\underline{\mathrm{O}\mathrm{b}}D^{\cdot}.|2\mathrm{m}\downarrow \mathrm{m}$ $\prime\prime’\nearrow’.’$

.

$\cdot$ $\underline{\circ \mathrm{b}}D.17\infty$ $/^{\nearrow}$

$/’$

$\swarrow/\swarrow$ $.14\infty$ $d\nearrow’.$

,

$-.\cdot 2\alpha \mathrm{K})16\alpha’/18w^{\nearrow^{\prime’}}50^{\cdot}\iota.\alpha\}$

’ $-.19\mathrm{l}\mathrm{n}1\mathrm{m}\nearrow\downarrow\prime\prime.\prime^{\sim’}J’$

.uKl),u

1”

$w$

150

$1\infty$ $1s\mathrm{o}$ $\mathrm{z}\alpha$

$N$

$N$

(c)

$I_{\max}$

with

2000

digits.

(d)

err

with

2000

digits.

4.

テスト問題

4

の数値計算結果

1(a),(b)

は桁数を増やしたときに行列サイズに対して区間の幅

$I_{\max}$

は同じ指数で指数

的に狭くなっていることを示している.

1

$(\mathrm{a})-(\mathrm{c})$

は精度保障付き数値計算が正当であるこ

とを示している.

1(d) は非区間の数値解の精度の振る舞いを示している

.

1

$(\mathrm{a})-(\mathrm{d})$

から

行列がたちが悪いことがわかり

,

多倍長計算が必要であることがわかる

.

一方

,

2

はテス

ト問題

2

のたちの良さを示している

. 特に図

$2(\mathrm{c})$

はこのことをよく表している

.

ここでもま

た,

精度保障す付き数値計算の正当性がわかる

.

3-4

は図

1

に似ている,

このことは,

スト問題

3,4

がたちが悪いことと,

精度保障付き数値計算の正当性も意味している

.

$1(\mathrm{c})$

,

$2(\mathrm{c}),$

$3(\mathrm{c}),$

$4(\mathrm{c})$

は精度保障付き数値計算によって,

行列のたちの悪さを測ることが可能であ

ることを示している.

3

4

はあまり異なってはいない

.

このことは

,

異なる離散化法が

もとで数値解の収束スピードが異なることを意味している. もとの積分方程式の数値計算で

スペクトル精度がでているにもかかわらず

[9],

テスト問題

4

の行列がたちが悪いということ

(7)

171

$.\underline{\mathrm{a}\mathrm{q}}.\}\mathrm{m}\prime sw$

$//\cdot.\cdot’.\cdot//$

$\dot{.}\sim\frac{\mathrm{t}6}{\mathrm{q}p}\xi\frac{\mathrm{c}}{\simeq}432p^{\prime’}/^{\prime’}’$

$\hat{\vee\zeta\}\Re}\mathit{1}500]\iota\alpha$

$\mathrm{d}i.‘ 1\mathrm{M}\mathrm{l}\mathrm{n}\mathrm{b}\mathrm{m}1\ln\propto m\cdot \mathrm{P}\mathrm{V}\mathrm{b}\mathrm{I}\mathrm{d}j\dot{\mathrm{r}}_{r^{\mathrm{v}}}1\mathrm{n}\mathrm{u}\mathrm{n}|\mathrm{b}\mathrm{m}m\mathrm{n}\mathrm{m}\mathrm{P}\mathrm{b}\mathrm{P}\mathrm{v}\mathrm{b}\mathrm{t}arrow.\nearrow \mathrm{v}u^{\mathrm{t}}\cdot.\cdot--\vee\cdots$

$\mathrm{d}\mathrm{i}*^{j}\mathrm{t}\mathrm{n}1\mathrm{K}\mathrm{P}\mathrm{v}\mathrm{b}’-t\mathrm{t}*i\mathrm{t}\mathfrak{n}\underline{\mathrm{u}\tau \mathrm{r}\mathrm{b}\mathrm{m}}\mathrm{K}-$

$\ovalbox{\tt\small REJECT} 1\mathrm{m}$

/

$\wedge\cdot$ $\downarrow$

/’

$\mathrm{s}\omega$ $.-\cdot\vee\cdot$

.

$\cdot$

.

0,0

$-^{r}.--\sim..\mathrm{r}\mathrm{r}’\backslash \cdot\text{、}’.\wedge\cdot.-=\wedge\cdot\wedge\cdot.\cdot,\sim$

.

$\frac{-}{}-10--$

$\cdot$

\rightarrow:

.2\tilde.\mbox{\boldmath$\alpha$}r

${ }$

..

,

$\cdot$

.

$\cdot$

.

$2so$

$0so$

$\iota\alpha)$

150

$2\infty$ $\mathrm{u}a$

$M$

$M$

5.

精度保証付き数値計算を用いないテスト問題

1

の並列計算 (P4

$3.2\mathrm{G}\mathrm{H}\mathrm{z}\mathrm{x}8$

)

多倍長計算が多くの計算機リソースを必要とするため

, 多倍長計算を用いた数値計算では

並列計算は避けられない

.

それで,

我々はテスト問題

1 に対して精度保障付き数値計算を用

いずにメモリーサイズが

$16\mathrm{G}\mathrm{B}$

(

$M=900$

and

5000

digit

number) の大きなサイズの並列計

算を行った

. PVM(16

CPUs

$=\mathrm{P}43.2\mathrm{G}\mathrm{H}\mathrm{z}\mathrm{x}8\oplus \mathrm{X}\mathrm{e}\mathrm{o}\mathrm{n}2.4\mathrm{G}\mathrm{H}\mathrm{z}\mathrm{x}2\oplus \mathrm{X}\mathrm{e}\mathrm{o}\mathrm{n}2.0\mathrm{G}\mathrm{H}\mathrm{z}\mathrm{x}6$

)

を用いた

際の計算時間は

48320

秒であった

.

4

結論

我々は逆問題などのいくつかの数値計算を多倍長精度で行った

.

これは,

このような数値

計算に現れる連立一次方程式の行列がたちが悪いためである

.

精度保障付き数値計算はこれ

らの扱いにくい問題を研究するのに重要な役割を果たしているが

,

多倍長計算を行わなけれ

ばならない.

多倍長計算は多くの計算機リソースを必要とするが

,

$\mathrm{P}\mathrm{C}$

クラスターを用いる

ことで

,

簡単にそのリソースを得ることが出来る

.

したがって,

我々は連立一次方程式に対

する並列化された精度保障付き数値計算のための多倍長精度の区間演算ライブラリ一を開発

した.

我々のライブラリーは

PVM

FMLIB

を元にしているので

,

$\mathrm{P}\mathrm{C}$

クラスターには都合

がよい

.

数値計算結果から我々のライブラリーが正当であることがわかる

.

謝辞

なお、

本研究の一部は、 科学研究費補助金

(

課題番号 15204007, 16340024, 16340029)

の支

援を受けて行ったものである。

参考文献

[1] L.

S.

Blackfort,

J.

Choi,

A.

Cleary, E.

$\mathrm{D}$

’Azevedo,

J.

Demmel,

I.

Dhillon,

J.

Dongarra,

S.

Hammarling,

G.

Henry,

A.

Petitet,

K.

Stanley,

D.

Walker,

and R.

C.

$\mathrm{W}\mathrm{h}\mathrm{a}1\mathrm{e}\mathrm{y}_{7}$

ScaLA-PACK

Users’

Guide,

SIAM, Philadelphia,

1997.

[2]

C.

Canuto,

Y.

M.

Hussaini,

A.

Quarteroni,

A.

T. Zang,

Spectral Methods in

Fluid

(8)

[3] H. Fujiwara,

Numerical

Method for Integral Equation

of

the

First

Kind under

Multiple-Precision

Arithmetic,

Theoret. Appl.

Mech.

Japan

52

(2003)

193-203.

[4] A. Geist, A. Beguelin, J. Dongarra, W.

Jiang,

R.

Manchek,

V.

Sunderam,

$\mathrm{P}\mathrm{V}\mathrm{M}:$

Par-allel Virtual

Machine,

A

Users’ Guide

and

Tutorial

for

Networked

Parallel Computing,

Scientific

and Engineering Computation,

The

MIT

Press,

Cambridge,

1994.

[5]

M.

Grimmer,

K.

Petras,

N.

Revol,

Multiple Precision

Interval

Packages: Comparing

Different Approaches,

Numerical Software

with Result

Verification,

Lecture Notes in

Computer Science,

2991

(2004)

64-90.

[6]

W.

Gropp,

E.

Lusk,

A. Skjellum, Using MPI:

Portable Parallel

Programming with the

Message-Passing Interface second

edition,

The

MIT

Press,

Cambridge, 1999.

[7]

H.

Imai,

T.

Takeuchi,

Direct Simulation

of

an

Integral of the First

Kind,

in: Y.-C.

Hon,

M.

Yamamoto,

J.

Cheng,

J.-Y. Lee (Eds.),

Proceedings

for International Conference

on

Inverse

Problems

Recent Developments in Theories and

Numerics,

World

Scientific,

Singapore, 2003,

247-254.

[8] H. Imai, T.

Takeuchi,

Some advanced

applications of the spectral

collocation

method,

GAKUTO

International Series. Mathematicai Sciences

and Applications

17

(2001)

323-335.

[9]

H. Imai, T.

Takeuchi,

H. Fujiwara, Y. Iso, Direct

numerical

computation

of

integral

equations

of the

first kind

by

IPNS

in preparation.

[10] H.

Imai,

T. Takeuchi,

M.

Kushida,

On

Numerical Simulation of Partial Differential

Equations in

Infinite

Precision,

Adv. Math.

Sci.

Appl.

9

(2)

(1999)

1007-1016.

[11] D. E.

Knuth,

The

Art

of Computer Programming, Addison-Wesley,

1981.

[12]

M. T.

Nakao,

Numerical

Verification Methods

for

Solutinos

of

Ordinary and Partial

Differential

Equations,

International

Workshops

on

Numerical

Methods and Verification

of Solutions, and

on

Numerical

Functional

Analysis, Numer. Funct.

$\mathrm{A}\mathrm{n}\mathrm{a}\mathrm{l}.\sim \mathrm{O}\mathrm{p}\mathrm{t}\mathrm{i}\mathrm{m}$

.

$22$

(3-4)

(2001)

321-356.

[13] M. T.

Nakao,

N. Yamamoto,

Numerical

verification,

Nippon Hyoronsha, Tokyo,

$199\mathrm{S}$

(in

Japanese).

[14]

S.

Oishi,

Verifed

Numerical

Computation,

CORONA PUBLISHING

$\mathrm{C}\mathrm{O}.,$

Tokyo,

2000

(in Japanese).

[15]

N.

Revol, F.Rouillier,

Motivations

for

an

arbitrary

precision interval

arithmetic and the

MPFI

library,

Reliab.

Comput.

11

(2005)

1-16.

[16]

D.

M. Smith,

A

FORTRAN

Package

For

Floating-Point Multiple-Precision

Arithmetic,

ACM

Trans. Math.

Software 17

(1991)

273-283.

図 1. テスト問題 1 の数値計算結果
図 2. テスト問題 2 の数値計算結果 lr lm $\mathrm{M}\cdot 50-$ $\aleph O\mathrm{O}--$ $,-^{\epsilon}\mathrm{H}\circ$ $s\mathrm{r}_{0}$
図 4. テスト問題 4 の数値計算結果 図 1(a),(b) は桁数を増やしたときに行列サイズに対して区間の幅 $I_{\max}$ は同じ指数で指数 的に狭くなっていることを示している
図 5. 精度保証付き数値計算を用いないテスト問題 1 の並列計算 (P4 $3.2\mathrm{G}\mathrm{H}\mathrm{z}\mathrm{x}8$ )

参照

関連したドキュメント

Yamamoto: “Numerical verification of solutions for nonlinear elliptic problems using L^{\infty} residual method Journal of Mathematical Analysis and Applications, vol.

[r]

⑥ニューマチックケーソン 職種 設計計画 設計計算 設計図 数量計算 照査 報告書作成 合計.. 設計計画 設計計算 設計図 数量計算

解析の教科書にある Lagrange の未定乗数法の証明では,

[Co] Coleman, R., On the Frobenius matrices of Fermat curves, \mathrm{p} ‐adic analysis, Springer. Lecture Notes in

(注)本報告書に掲載している数値は端数を四捨五入しているため、表中の数値の合計が表に示されている合計

、肩 かた 深 ふかさ を掛け合わせて、ある定数で 割り、積石数を算出する近似計算法が 使われるようになりました。この定数は船

Kiihleitner, An omega theorem on differences of two squares, $\mathrm{I}\mathrm{I}$ , Acta