• ベストアンサー

数値解析について

私は某大学に今年から入学したものです。図書館で数値解析についての本を読んでいたら疑問が浮かび上がりました。お手数ですが教授が教えてくれないのでお願いします。 1.次の式の値を精度よく計算するには、どのように計算したらよいのでしょう。(絶対値が小さいx) (1)(1+x)^1/2-(1-x)^1/2 (2)1-cosx 2.対角優位行列Aはなぜ正則であるのですか。 3.対角優位行列はなぜLU分解可能でのですか。 お手数ですがお願いしますm(_ _)m

質問者が選んだベストアンサー

  • ベストアンサー
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

対角優位行列 = 優対角行列 = 「どの行においても対角成分の絶対値が他の成分の絶対値の和より大きい」ですね. これが正則であることを示すときに, 多分わかりやすいのは A が正則 ⇔ x≠0 なら Ax≠0 を示すことだと思います. 以下簡単に: ベクトル x の絶対値最大の成分が x[i] であると仮定します (さらに x_i > 0 と仮定してよい). このときに Ax の第i成分 sum(j=1, ..., n) a[i, j] x[j] = a[i, i] x[i] + sum(j = 1, ..., n, j ≠ i) a[i, j] x[j] ≠ 0 であることを x[i] ≧ |x[j]| と |a[i, i]| > sum(j = 1, ..., n, j ≠ i) |a[i, j]| から示すことができます. 従って Ax ≠ 0 となるため A は正則となります.

その他の回答 (2)

回答No.2

計算機の浮動少数は有限桁の精度しか持っていません。大きさがほとんど等しい二つの数の引き算を行うと、精度が低下する「桁落ち」が発生します。  (1+x)^1/2-(1-x)^1/2 = 2/((1+x)^1/2+(1-x)^1/2)  1-cosx = 2sin^2(x/2) は数学では恒等式ですが、数値計算では右辺の形の方が桁落ちが発生しない望ましい形ということになります。

  • age_momo
  • ベストアンサー率52% (327/622)
回答No.1

>教授が教えてくれない 先生、怒るかあきれるかしたんじゃないですか。 1.テーラー級数もしくはマクローリン級数を熟読してください。数値解析には欠かせない、基本的なものです。精度良くという事なら通常、省略する項まで計算すればいいんじゃないでしょうか。 (1)1+x/2-x^2/8+x^3/16-(1-x/2-x^2/8-x^3/16)=x+x^3/8 (2)1-(1-x^2/2+x^4/12)=x^2/2-x^4/24 2,3は 正則 ≡ 行列式が0じゃない ≡ LU分解可能 同じことですね。 2×2の行列のことを思い出してください。 a b c d 正則じゃないためにはad-bc=0 対角優位とはadがbcより大きい行列の事をだったと思います。明らかに正則でLU分解可能ですね。

関連するQ&A

  • 数値解析の問題について

    対角優位行列Aは正則であることの証明はどのようにしてできますか??背理法を考えたのですが分かりませんでした。アドバイスお願いします。

  • 行列の固有ベクトルの解法

    現在行列の固有値と固有ベクトルをもとめるプログラムを作成しています。 手順としては、入力行列をハウスホルダー法により三重対角行列に変換し、その後QR法で対角化を行い固有値を求めます。 固有ベクトルはLU分解を使用して固有値ごとに求めていこうと考えました。 現状固有値を求めるプログラムは作成できました(そして正しく求められていることも確認しました)。そして行列のLU分解を行うプログラムまで作成できたのですが、LU分解後の行列から固有ベクトルを求める方法がわかりません。 詳しく説明します Ax = λx を (A - Iλ)x = 0 として、この(A - Iλ)をLU分解しました。 すると式は LUx = 0 となり 最終的に Ux = 0 をとく問題になります。 ここで行列Uは上三角行列なので、1次の連立方程式を解くように、行列Uの右下の要素を使って計算を始めていくのですが、自分がなにか勘違いをしているのだと思うのですがこの方法で計算すると固有ベクトルが全て0になってしまいます。  行列U     x       0 | 2 3 4 5 | |x1|   =  |0| | 0 4 2 9 | |x2|   =  |0| | 0 0 7 5 | |x3|   =  |0| | 0 0 0 8 | |x4|   =  |0| このような図式になり、固有ベクトルであるxを求めていくのですが、x4から順にもとめても0にしかならないんです。 下記のサイトを参考に学んでいたんですが、この部分が分からずにいます。 http://hooktail.org/computer/index.php?KL%C5%B8%B3%AB2 どこを勘違いしているんでしょうか? アドバイスをお願いします。  

  • 行列

    |-1  0  2|   |-1  1  1| |-1  0  2| 行列Aを対角化可能ならば、正則行列Pを求めてP^(-1)APを対角行列にせよ。という問題で、 自分で計算し、 Φ(x)=x(x-1)^2 となって 固有値はx=0,1 ですよね? そしてx=1のとき、W1の基底が1つ、たとえば (1 0 1)t   と (0 1 0)t そしてx=2のとき、W2の基底が2つでてきました。たとえば (2 1 1)t これらをくっつけて、Pを |1 0 2| |0 1 1| |1 0 1| としてさらにP^(-1)をもとめてもP^(-1)APが対角行列になりません! 何回もやったので計算間違いはないはずなのですが、どこがいけないのでしょうか・・・ ちなみに答えはないのですが、基底が3つ出てくるのに対角化できないことってあるのでしょうか?? 確認をおねがいします!

  • 数値解析の手法(差分法)について

    現在、とある2元の1階偏微分方程式(解はu,vでそれぞれ右と左に進行する波)を数値解析によって解こうと考えています。 数値解析の手段として、差分法がよく用いられると思いますが、 現在、私は、場所に関してはuは後退差分、vは前進差分を使い、 時間に関しては前進差分を使って解いています。 ネットでは場所に関しては中心差分、時間に関してはルンゲ=クッタやリープフロッグなどが 使われていることが多く、私もこの2つを用いて解いてみました。 偏微分方程式には線形項が含まれていたため、 線形問題に対する制約であるΔt/Δx << 1は最低満たすように刻み幅をいろいろ取り、 計算時間も辞さず計算機を動かしてみましたが、 ノイズが消えず、解析解に限りなく近づくには至りませんでした。。 Δt/Δx=0.0001なども試したのですが・・・ そこで、諦めて違う差分法を試し、 場所に関して、uは後退差分、vは前進差分を使い、 時間に関しては前進差分を使って見たところ、 Δt/Δx=0.01程度で解析解に近い、なかなか精度の良い数値解を得ることが出来ました。 2次の差分では上手くいかず、1次の差分だとわりかし上手くいく・・・ 精度的には中心差分やルンゲ=クッタなどの方がいいと思うのですが・・ 正直不思議でなりませんでした。。。 最初に試した差分法のコードミスかと思い、何回もコードを確認し直しましたが、 やはり解析解に近づくには至りませんでした。 こんなことってあるのでしょうか?? 差分法でも場合によって使い分ける必要があるということでしょうか・・? その場合分けするときの指標など、知っておられる方、教えて頂けると助かります。 問題によって

  • 指数関数を含む連立方程式:効率的な数値解法

    X : 未知の n×m 実行列 (2 <= m < n) A : 既知の m×m 実正則行列(m次正則行列) と置くとき, X = e(X) A …(1) が成り立つことがわかっています.但し,e(X)は,Xの各要素xをその指数関数exp(x)で置き換えたn×m 実行列を表すこととします.式(1)の右辺はe(X)とAの積です. このとき,式(1)をXについて解きたいと考えています.恐らく,代数的に解くことは無理で,数値解法(数値アルゴリズム)を利用するほかないと思います. この問題の場合,どのような数値解法が効率的でしょうか? 数値解法に疎いので,アドバイスを頂ければ嬉しいです.

  • 逆行列(LU分解)を求める数値的なテクニック

     ある行列の逆行列をLU分解で求めるプログラムを使用しています。その行列の成分の大きさの最大値と最小値の差が10の30乗ほどあります。コンピュータで計算する場合、極端に大きな数字や小さな数字のまま計算すると正しく計算できないことがあります。AA-1=Eなので、行列の各成分をX倍すれば、求めたい逆行列A-1のX倍の逆行列が求まります。これをX分の1にすれば、求めたい逆行列を求めることができます。  すなわち、各成分の値がコンピュータで処理するのに適していない場合、ある種の補正によって、計算が可能となり、出てきた逆行列はその補正とは反対の操作をすることで求めたい逆行列を求めることができます。  そこで質問です。  コンピュータで逆行列を計算するのに適した行列の成分の値の大きさはいくつ程度でしょうか。  またその適した値にするテクニックとしてはどのようなものがあるでしょうか。

  • なぜ正規行列で対角化するの??

    アホな質問です。 対角化するとき、エルミート行列あるいは実対象行列のときはユニタリー行列Uあるいは直行行列を使って対角するような問題ばかりなのですが、なぜ、普通に任意の正則行列Pをつかって対角化しないでしょうか? ユニタリー行列を探すには、固有ベクトル見つけたあと、グラムシュミットで正規直交基底をつくってやらんきゃならんわけですよね。単に固有ベクトルならべてつくるPより、面倒だと思うのですが? 教科書にはそういうときはユニタリで対角化できるみたいに書いてあるんで普通の正則行列Pでも対角化自体はできんですか? その後においてどういう利点があるんでしょうか? 確か前どっかで聞いたことあったような・・Uが直行しているのでなんかの計算で便利なんでしたっけ?何かをわざわざ計算しなくてもいいから楽?ってどっかで見たか聞いたことあったような・・・。わかりやすく大学初学年にもわかりやすい程度でお願いします・・。m(__)m

  • 行列について教えてください。

     今、行列についての勉強をしているのですが、次のような内容がわからないので、わかる範囲で教えてください。また、それが記載されていて詳しく書かれている本やホームページを紹介してください。このことで少し困っています。  (1)QZ法 (2)コレスキー分解 (3)LU分解 (3)ハウスホルダ法 (4)ヘッセンベルグ行列 (5)一般(化)固有値問題  (5)については「数値解析」の本にも少し載っていたのですが、私には理解ができませんでした。それぞれについての導き方やどういうのもの(意味があるのか)なのか。また、どういうときに用いるのかについて教えてください。  それではよろしくお願いします。

  • 連立一次方程式の解法プログラム

    数値解析で A(3,3)、B(3)、X(3)としたときに AX=B の計算でXを求めたいのですが Aの対角項が0なのでLapackやGaussの消去法が使えません 何か有効な数値計算法を教えていただきたいです。お願いします。

  • 固有値、対角行列の順

    2 -2 1 -1 3 -1 1 -2 2 といったような3*3行列があって正則行列Pを求め P^-1AP(対角行列)をもてめるのですが。 固有値は1、5で固有ベクトルが求まり、正則行列Pが 求まり、P^-1APもでます。 固有ベクトルが三つ(P1、P2、P3)出ますが、正則行列Pは左からP1、P3、P2みたいに順番はどうでもいいのでしょうか? またPが求まるとP^-1APは求まりますが、 α 0 0 0 β 0 0 0 γ  のようになって計算するとα=1、β=1、γ=5になります。が、これは固有値が並んでいまして、α、β、γの順が違っていても正解なのでしょうか? 例えば、5,1,1とか ご教授願います。