開平法

開平法（かいへいほう、）とは、正の数の平方根の小数表示を求めていくアルゴリズムである。開平や開平算、開平計算とも。平方根を求めることを開平するという。開法の一種。

 開平法の原理 
与えられた正の数の正の平方根の小数表示を求めるために、ここではまず漸化式を立てて、一般的な求値法を求める。そして、求値の明確化のために、開平法と呼ばれる筆算の原理を導出する。以下は十進法表示の場合だが、他の位取り記数法でも同様な計算で求められる。ここで述べるのと基本的には同じ方法で、立方根を求める開立法や、もっと一般に  乗根を求めることも可能である。

 問題の定式化 
与えられた  に対し、 の位  を求める：

 の首位を  とする。つまり、 は  を満たす最小の  とする。また便宜上   とする。

 の  の位より上（かみ）の位  は分かっているとし、 の位  を求めるとする。すなわち

とおく。
 は 
を満たす最大の 、すなわち
 … (1)
を満たす最大の  である。これを見つける。
 の値は  から  までの 10 通りなので、順に試していけば  は求まる。
 のとき、 より

 のとき、

 より

右辺の計算値により、 の値の見当を付けることができる。
これにより  が求まれば、
{{math|p  10p + a}}
の値が分かるから、

を満たす最大の  を見つければよい。

このようにして、帰納的に   の値が求まる。

 漸化式の簡略化 
不等式(1) を簡略化する。「」を基数  と合わせるため  とする。そのため

とおくと、不等式(1) は
 … (1')
である。


     … (2)
(1') を満たす最大の  を求めるために、 の整数部分  を、 から求める。

 とおくと、




 の整数部分は、 の  の位を  とすると、 に等しい。したがって、

     … (3)
(2), (3) から、(1') を満たす最大の  を求めていく。

 筆算による効率化 
 から不等式(1') を満たす最大の  を求めていくには、筆算による帰納的計算が明確である。
                                                                                                                  ↓    ↓                                                     
 から  を引き、負とならない最大の  を求める。（主算）
次の  を求めるために、 を求めておく。（副算）

 具体的な計算方法 
例として、ここでは  の正の平方根  の小数表示を求める。初期値は、
, , , , , , , , , ,  

 漸化式による求値 
 より、
まずは  を求める。

 より 

 を満たす最大の  は、 である。
次に、 を求める。

 を満たす最大の  は、 である。
 を求める。

 を満たす最大の  は、 である。
同様の計算を繰り返すと、各項の値は次の表のようになる。
305504226316344310734074612970381383847432692−113435413474494849−220837220474584270411−300362639004745824745817−40030431110047458342847500766−50019561024004745835218983340964︙︙︙︙︙︙
 の値から

である。

 筆算による求値 
 の値は、先述の筆算による方法（開平法）によりさらに簡単に計算できる。本節は、これまでに登場した漸化式の原理により筆算の手順を説明するが、筆算の手順だけを知りたいのであれば、漸化式による説明の箇所を読み飛ばしても差し支えない''
 の正の平方根  の小数表示を求める。

まず、 の値を、小数点から2桁ずつ「ブロック」に分けて書く。

各ブロックは、 の下線部に該当する。
左側に縦2つ等しい値を書き、積が左端のブロック (5) を超えない最大の値 (2) を見つける。ブロック (5) の上に見つけた値 (2) を書く。左の筆算を立て、下に和の計算結果 (4) を書く。ブロック (5) の下に、左の筆算の、和でなく積の計算結果（この場合は和と同じ ）を書く。筆算を立て、差の計算結果 (1) をその下に書く。
                                                                                 積が以下の最大値→←左の筆算の積                        和→          ←差
 より 。 より、 を満たす最大の  は 。この時 。次の計算のために、,  を計算しておく。
差の計算結果 (1) の右隣りに、上のブロック (63) を下ろす。左の筆算の末位に縦2つ等しい値を書き、積が下ろしてできた数 (163) を超えない最大の値 (3) を見つける。ブロック (63) の上に見つけた値 (3) を書く。左の筆算を立て、下に和の計算結果 (46) を書く。下ろしてできた数 (163) の下に、左の筆算の積の計算結果 (129) を書く。筆算を立て、差の計算結果 (34) をその下に書く。
                                                                                                                          ブロックを下ろす                                            積が以下の最大値→←左の筆算の積                           和→            ←差 
。 を満たす最大の  は 。この時 。次の計算のために、,  を計算しておく。
同様の計算を（ まで）行うと、次のようになる。

これより

である。

検算してみると、

となり

が確かに成り立つ。

 珠算による開平法 
珠算による開平法として次の方法がある。
倍根法
半九九法
 根の定位 
根の定位の仕方は次のようになる。
平方が整数のとき：平方の一の位から左へ2桁ずつ区分して、その区分できた回数が、根の桁数となる。
平方が帯小数のとき：平方の一の位から左へ2桁ずつ区分して、その区分できた回数が、根の整数の桁数となる。
平方が小数のとき：平方の  を2桁ずつ区分して、その区分できた回数が、根の小数点以下の  の桁数となる。

 倍根法 
例：
平方の一の位から左へ2桁ずつ区分して、根の桁数が2桁であることを調べる。（根の定位による）最後の区分された数  に含まれている平方根  を求めて、初根  を置き、初根  の  乗 () を  から引く。初根  の  倍の  を、左に置き、その  で残りの平方を割って、次根  を初根の隣りに置く。次根  の  乗 () を引く。平方根は  である。

 半九九法 
例：
平方の一の位から左へ2桁ずつ区分して、根の桁数が2桁であることを調べる。（根の定位による）最後の区分された数  に含まれている平方根  を求めて、初根  を置き、初根  の  乗 () を  から引く。残りの平方  を  で割る。（初根の  乗を引いたあと、いつも残りの平方を  で割る） で割った平方の残りを、初根  で割って次根  を求める。次根  の半九九  を引く。平方根は  である。

 脚注 

 関連項目 
ネイピアの骨 - ネイピアの骨を使った場合の開平法
開立法

 外部リンク 


Category:算術
Category:初等数学
Category:数学に関する記事