No.3ベストアンサー
- 回答日時:
#2で用いられている記号を拝借して、
t = y / x
c = t^2 / (4 + t^2)
x' = (1 + 2c)x
y' = cy
ここで、tを介さずにcをx、yで表すと
c = (y/x)^2 / [4 + (y/x)^2]
分母分子に (x/2)^2 を掛けると
c = (y/2)^2 / [x^2 + (y/2)^2]
と書くことができます。
この c が何を意味するのか?ということを、
初等幾何的に捉えてみましょう。
直角三角形ABCにおいて、角Cが直角、BC = x、AC = yとします。
BとACの中点Mを結び、角MBC = αとします。
ここで、(sinα)^2 という量を考えます。
(sinα)^2 = (MC / BM)^2 = MC^2 / BM^2 = MC^2 / (BC^2 + MC^2)
= (y/2)^2 / [x^2 + (y/2)^2]
これは初めに求めた c の式に一致していますね。
すなわち、図形上では c は (sin∠MBC)^2 という
意味が与えられていることになります。
次に、x'、y'の持つ意味を考えてみましょう。
辺ABから見て点Cと反対の側に、
∠DBM = α(したがってって∠DBC = 2α)となるような点Dを適当に取ります。
つまりαを2倍に広げると、斜辺ABを乗り越えてしまう、ということです。
線分BDの端Dを動かしてBDを伸ばしたり縮めたりすると、
どこかに必ず∠ADBが直角になるところがありますから、
その点を改めて点Dと名づけることにしましょう。
結論から言うと、この新しい直角三角形
(もとの直角三角形よりは細長いですね)の
辺BD、ADが、それぞれ初めに書いた
BD = (1 + 2c)x = [1 + 2・(sinα)^2]x
AD = cy = (sinα)^2・y
で表されるのです。
以下、このことを証明します。
CからBMに垂線CHを下ろし、
さらに延長してBDと交わる点をEとし、EとAを結びます。
直角三角形BCMと垂線CHに着目すると、
∠HCM = αであることが分かります。
次に、∠EBH = ∠HBC = α、CE ⊥ BHより、
BHは二等辺三角形BECの対称軸であり、
BE (= BC) = x、またHはCEの中点です。
これとMがACの中点であることから、
三角形AECにおいて、中点連結定理により AE // MH となります。
したがって AE ⊥ EC 、∠DEA (= ∠DBM) = α です。
さて、直角三角形AECにおいて、AC = y、∠ACE = αより、
AE = y・sinαとなります。
さらに直角三角形ADEにおいて、∠DEA = αより、
AD = AE・sinα = (y・sinα)・sinα = (sinα)^2・y
ED = AE・cosα = (y・sinα)・cosα
となります。これでADのほうは証明されました。
BDに関しては BD = BE + ED = x + (y・sinα・cosα)
となりますが、まだ目標の形になっていません。
ここで、αをどのように決めたかを思い出すと、
tanα = (y/2) / x、すなわち y = 2x・tanα = 2x・sinα / cosα
であるので、これを代入すると
AE = x + (2x・sinα / cosα)・sinα・cosα
= x + 2x・(sinα)^2 = [1 + (sinα)^2]x
となり、めでたく証明されました。
結局このアルゴリズムは、直角三角形BCAを、
斜辺を共有する扁平な直角三角形BDAの話に置きかえることによって、
斜辺の長さを求めている、という解釈を付けることができます。
できれば出典を教えていただけると嬉しいです。
zabuzaburodさん、回答ありがとうございます。
アルゴリズムの背景が良く理解できました。
zabuzaburodさんの言われているように
「直角三角形BCAを、
斜辺を共有する扁平な直角三角形BDAの話に置きかえることによって、
斜辺の長さを求めている、という解釈を付けることができます」ですね。
以下直角三角形BDAを新たな直角三角形BCA
として計算を繰り返しているわけですね。
さて、このアルゴリズムの出典は以下の書物によります。
-------------------------------------------------
書名:アルゴリズム事典
著者:奥村 晴彦
出版:技術評論社 1991年3月
この本のP190には文献として次の記述がありました。
Jon Bentley. More Programming Pearls. Addison-Wesley,1988. 156ページ
-------------------------------------------------
最後に、回答を下さった皆さんありがとうございました。
No.2
- 回答日時:
kony0さんのご指摘通り,
(第n項)x,y>0 に対し,
t=y/x
c=t^2/(4+t^2)
x'=(1+2c)x ・・・(*)
y'=cy
で定義される(第n+1項)x',y'(ともに正)は,
1) (x')^2+(y')^2=x^2+y^2=一定値α^2=(xo)^2+(yo)^2 (α>0)
2) y→y' は真に単調減少で lim(y')=0 (n→∞)
⇒ [1),2)より] x→x' は真に単調増加で lim(x')=α (n→∞)
が示せます.
さらに付け加えれば, (*)式の補正係数=1+2c=(4+3t^2)/(4+t^2) は
r=√(x^2+y^2)=x√(1+t^2)
の √(1+t^2) の部分をテイラー展開した時の
1+(1/2)t^2-(1/8)t^4+(1/16)t^6+・・・
のうち,上からt^4までの項を有理式で(常に下から)近似した形(**)になっていて, t^4までは完全に一致し, 誤差はt^6 のオーダーです(首位t^6の係数は正). これが(t<1 を一度満たすと)収束が速い理由でしょう.
ただし, t=y/x が初期に1よりかなり大きいと(t>>1), 初めは収束が遅いようです[t<1 になるまでは有限回だが, やや遅い].
なお, 漸化式から分かるように, t>1の時も常にyは真に単調減少し, xは真に単調増加で, 有限回で減少関数 t=y/x は1未満に達し, xは急速に極限値 α=√{(xo)^2+(yo)^2} に収束しますので, 任意の初期値 xo, yo に対して収束することがいえます.
[補足]『(常に下から)近似した形(**)』は, 漸化式から示せる 1),2) から既知のことですが, t>1も含め,全てのt>0に対し, 直接
√(1+t^2)>1+2c=(4+3t^2)/(4+t^2) [誤差はt^6以上のオーダー]
が示せます. これにより, 補正係数(1+2c)に関して,全てのステップでc>0で良い理由が直接確認されます.[xの補正量が常に正.]
ところで, xに注目しましたが, y→0の収束の速度を見た方が賢いんでしょうかね.
また, 計算を間違ってないか,是非ご検証下さい.
この回答への補足
先ほどの記述で間違いがありました。次のように訂正します。
【誤】
級数展開した式がどのようにして、この陰関数に表現されるのでしょうか?
【正】
級数展開した式がどのようにして、この有理関数に表現されるのでしょうか?
oshiete_gooさん、回答ありがとうございます。
このアルゴリズムで問題なく解が得られる過程はよく理解できました。
このアルゴリズムの本来の目的は、小規模なシステムで四則演算だけで平方根を求める場合に使われるようです。
oshiete_gooさんの記述で
√(1+t^2)>1+2c=(4+3t^2)/(4+t^2)
の部分が良く理解できません。級数展開した式がどのようにして、この陰関数に表現されるのでしょうか?
また、xに関してはこのように変換した場合、なぜ
y'=cy
と置くと良いのでしょうか?
このように置けば繰り返し過程の中で常にx^2+y^2=一定値、は理解しているのですが。
No.1
- 回答日時:
・操作によりx^2+y^2の値が固定されていること(式計算面倒なのでしていませんが^^;)
・3)で求められるtは0<t<1を満たすため、5)よりyは単調減少(非増加ではなく、真に単調減少)。あとy>0も言えます。これによりyの極限値は0。
ということで、xの極限値は斜辺の長さになる。
というシナリオじゃないんでしょうか?
kony0さん回答ありがとうございました。
そうですね、kony0さんの回答の通りですね。
さて、私の質問の仕方が本来の意図を得ていなかったようです。
改めて質問します。
1)から5)の手順で斜辺の長さの近似値が得られます。
この手順(アルゴリズム)は、どのようにして得られたのでしょうか?
その過程,背景を知りたいのです。なにか手がかりは無いでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 三角比の相互関係「sinA^2+cosA^2=1」が直角でなくても成り立つ理由について。 これは、三 8 2022/03/31 09:22
- 数学 チャート式数学(黄)i.aの問158について 3 2022/10/20 12:10
- 数学 三角形の面積を求めよ 斜辺が11cm、底辺が14cmの二等辺三角形で 昨日解答をしてもらいましたが、 3 2023/03/11 22:03
- 数学 直角二等辺三角形についてです。 直角二等辺三角形ABCを(角A=90度)頂角Aから底辺BCに垂直に線 3 2023/06/05 23:05
- 数学 2つの角と1つの辺から辺の長さを求める。 色々やったんですけど 結局解けなかったので質問します。 x 10 2023/05/12 08:59
- 数学 小5 面積問題 6 2023/01/16 18:14
- 数学 点Oを中心とし、半径が5である円Oがある。この円周上に2点A、B をAB=6となるようにとる。また、 5 2023/08/16 23:32
- 数学 三角形ABCの辺BCを4 : 3に内分する点をTとし、点Tを接点として辺BCに接する円が点Aで直線A 3 2023/02/12 21:03
- 数学 2つの角と1つの辺から辺の長さを求める。 色々やったんですけど 結局解けなかったので質問します。 x 5 2023/05/15 13:23
- 数学 三角関数と分数関数について 2 2022/08/10 22:39
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
sin²θとsinθ²と(sinθ)²って全部...
-
sinωTをTで積分。
-
底辺と角度から、高さを求める。
-
eの積分について
-
sinのマイナス1乗の計算方法を...
-
簡単な偏微分についての質問です。
-
極限の問題
-
(sinθ)^2とsin^2θの違い
-
どんな整数であってもsin(nπ)=0...
-
数IIIの極限
-
2つの円の一部が重なった図
-
y=sin^( -1) x の(-1)って...
-
周期の最小値?
-
近似値
-
sin1°
-
e^(-x)*|sinx| これを積分する...
-
全空間で積分の意味
-
『楕円球体の三重積分を極座標...
-
関数の連続性ε-δ論法
-
sin(ωt) = (1/2j) * {e^(jωt) -...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
sin²θとsinθ²と(sinθ)²って全部...
-
底辺と角度から、高さを求める。
-
sinのマイナス1乗の計算方法を...
-
積分 ∫√(4-x^2)dxについて
-
2つの円の一部が重なった図
-
sinωTをTで積分。
-
数学I 1列目が問題です。 2列目...
-
sin1の1って一体・・・
-
周期の最小値?
-
数学 sin1/2は何を表しているの...
-
e^(-x)*|sinx| これを積分する...
-
(sinθ)^2とsin^2θの違い
-
大学受験時のsin,log,lim,xの表記
-
三角関数の答えが1以上になるの...
-
これsin75°を求めよで答え √6+...
-
なぜ2sinθ=1になるんですか?
-
sinx=cosxの解き方。
-
『inv』って
-
『楕円球体の三重積分を極座標...
-
極限の問題
おすすめ情報