編集部ピックアップ

ゴルフお悩み相談箱
ゴルフお悩み相談箱

コースでのナイスプレーには正しい知識と練習が必須!飛ばない、曲がる、ゴルフの悩みを解決

気になるキーワード

検索語キーワードランキング

1位:
up
2位:
up
3位:
keep

PR

連立方程式が解ける条件とは

例: 紅葉 行楽

検索オプション 質問する

質問

質問者:honisu 連立方程式が解ける条件とは
困り度:
  • すぐに回答を!
いま、FORTRANで連立方程式を解きたいと思っています。そこで、どんな方程式なら解けるのかということを人に聞いたところ、次の(1)と(2)の場合しか解けないと言われました。

(1)マトリクスの形で表現できるもの
(2)未知数が1つだけのもの

これは本当ですか?(1)と(2)以外の場合は解けないのですか?教えてください。

また、(1)と(2)しか解けない場合でも、そうでない場合でも、その理由を簡単に説明してください。

よろしくお願いいたします。
質問投稿日時:05/04/24 00:28
質問番号:1348594
この質問に対する回答は締め切られました。
最新から表示回答順に表示良回答のみ表示

回答

 

回答者:shkwta No.1です。補足への回答です。

不等号の向き(方程式が多すぎると解けない)は合っていますが、いくつか不適当なところがありました。

独立で矛盾しない方程式がN個を超えてあることはありませんので、[イ]を

[イ]独立な方程式がM個ある

と訂正します。
また、最後の部分で

A:係数の行列(N行M列)

は(M行N列)の誤りです。

さて、マトリクスにならないということは、二次以上の方程式であるか、非線形関数を含んでいるということだと思います。これが代数的に解ける見通しがない場合は、反復計算を使うことになります。反復計算にはいろいろな方法があります。たとえば、連立方程式が

x1 = g1(x1,x2,...,xN)
x2 = g2(x1,x2,...,xN)
...
というように表される場合は、適当な初期値x1,x2,...,xNから出発して次のx1,x2,..,xNを求める反復計算が考えられます。これは収束するとは限りません。

また、連立方程式が
f1(x1,x2,..,xN) = b1
f2(x1,x2,...xN) = b2
....
と表わされる場合、x1,x2,...,xNに適当な初期値を入れて求めた値とb1,b2,...,bNの差を残差e1,e2,...,eNとします。

ここで偏微分 ∂f1/∂x1, ∂f1/∂x2, ..., ∂fN/∂xN を求めるとこれらは行列になります。数式で求められない場合は数値微分によります。このとき、
(∂fn/∂x1)s1 + (∂fn/∂x2)s2 + … + (∂fn/∂xN)sN = en (n=1,2,...,N)
となるようなs1,...,sNを偏微係数を係数とする連立一次方程式を解いて求め、xk-sk(k=1,2,...,N)を次の近似値とするニュートン法は、最初にかなり良い近似値を選べば高速高精度です。

解が実数の範囲でないときは、複素数での計算が必要になります。その他、初期値の選び方や精度の検討、反復をどんな条件によりどこで打ち切るかの検討、収束しない場合の判定とエラー表示の検討が必要です。
種類:回答
どんな人:一般人
自信:自信あり
回答日時:05/04/24 05:26
回答番号:No.3
この回答へのお礼ご回答ありがとうございました。

回答

良回答10pt

回答者:k_riv FORTRANで解くと言うことなので,多元連立1次方程式に限定すれば,代数的に解けるもの,解が存在するものは全て解けます。

別にマトリックス表現をしなくても,代数解法をそのままプログラミングすれば,解けます。つまり,解き方が分かっている連立方程式は,紙と鉛筆と時間さえあれば筆算で解けますね!そのときの解法をそのままプログラムにすれば解けると言うことです。ここで,マトリックスで表現するというのは,コンピュータの「最も解きやすい形で表現する」,位の意味です。

例えば,有限の元を持つ連立方程式でないと解けません。無限だと,代数的にも解けません。

例えば,多元連立1次方程式というのは,連立の数だけ未知数があります。3元連立方程式には3個の未知数があります。当然,連立の数よりも未知数の多い連立方程式は代数では解けません。これは,FORTRANという言語の問題でなく代数的な問題です。

例えば,0による除算を含む場合は,エラーになって解けません。ただし,0による除算を含まないような形に変形することで,出来るようになります。これも,代数的な問題でしょうね。

例えば,解がない場合。これも「代数的に解けない」に含まれますよね。

結局,代数的に解けないと解けないのです。逆に言うと,代数的に解ければ解けます。

これは,私の経験則ですが,専門的にどうなるかは,別の専門家の意見を聞いてみてください。
種類:アドバイス
どんな人:経験者
自信:自信あり
回答日時:05/04/24 02:05
回答番号:No.2
この回答へのお礼ご回答ありがとうございました。

回答

良回答20pt

回答者:shkwta (1)(2)のような単純な判断にはなりません。
実数または複素数の場合は、次のように考えます。

[ア]未知数がN個ある。
[イ]独立で、矛盾しない方程式がM個ある。

この場合、M>N なら解けません。M≦Nなら解けます。ただし、M<Nの場合は、不定方程式といって、解の中に任意の値をもつ変数が入ります。
(例)2つの未知数x,y について1つの式 x+y=1 がある場合、解はtを任意の値として x=t, y=1-t

「独立」の意味は、ある方程式から別の方程式を導くことができないということです。たとえば、式1と式2から式3が導ける場合、これらは独立ではありません。
(例)x+y+z=3, x-y-z=1, y+z=1 は独立ではありません。

方程式が矛盾する場合は解けません。
(例)x+y=3, x+z=4, z-y=5 は矛盾しています。

変域が限られている(たとえば整数)場合は、特殊な取り扱いが必要です。また、二次以上の方程式では、解が複数ある場合や、複素数なら解があるが実数では解がないという場合があります。

連立一次方程式で、未知数がN個、方程式がM個 の場合は、係数を行列で表わして、
AX=B
A:係数の行列(N行M列) X:未知数の列ベクトル(N行1列) B:定数項の列ベクトル(M行1列)
と書けます。マトリクスとは行列のことです。

行列式とか、行列の階数というものを計算して、解の有無を判定します。どんな場合に解がありどんな場合に解がないのか、という議論は次のページに詳しく書いてあります。
http://next1.cc.it-hiroshima.ac.jp/MULTIMEDIA/linearalg02/node7.html
種類:回答
どんな人:一般人
自信:自信あり
回答日時:05/04/24 01:51
回答番号:No.1
参考URL: http://next1.cc.it-hiroshima.ac.jp/MULTIMEDIA/linearalg02/node7.html
この回答への補足詳しく説明していただきありがとうございます。

補足します。私の扱っている連立方程式はM=Nです。したがって、理論上は解けるはずです。ただし、かなり複雑な方程式なので、マトリクスの形にはなりません。このような場合でも解けるのですか?教えてください。

また、回答文中に

>この場合、M>N なら解けません。M≦Nなら解けます。

とありますが、この不等号の向きは逆だと思うのですが、どうなんでしょうか?

よろしくお願いいたします。
この回答へのお礼この回答にお礼をつける(質問者のみ)
最新から表示回答順に表示良回答のみ表示

この質問に関連するQ&A

[PR] お役立ち情報