質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.48%

  • FORTRAN

    61questions

    FORTRAN(フォートラン)は科学時術計算に向いた手続き型プログラミング言語です。 並列計算の最適化が行いやすい特性上、数値予報および気候モデルなどの大規模な計算を行う分野のスーパーコンピュータで使われています。

シュレーディンガー方程式を近似的に解くプログラムの作成について

受付中

回答 1

投稿

  • 評価
  • クリップ 1
  • VIEW 1,468

azul

score 2

前提・実現したいこと

量子力学のシュレーディンガー方程式を近似的に解く数値計算プログラムを作りたいと考えています。

発生している問題・エラーメッセージ

具体的には、変分原理に基づいて、求めたい物理量を最小にするような波動関数を、変分法によって近似計算したいのですが、どのようなアルゴリズムにすればいいのか分かりません。

該当のソースコード

どのようなアルゴリズムにすればいいのか不明なため、まだソースコードは書いていません。

試したこと

インターネット上を検索すると様々な試行関数がありますが、どういう形にすればいいのか悩んでいます。また、変分パラメーターを変化させて、コンピューターで数値計算する際に、事前に自分の手で積分などを行わないとならないようですが、積分を自動的にソフトウェアで実行することは可能なのかどうか、微分や積分もプログラムで数値計算可能なのか調べていますが、良く分かりません。ルンゲクッタ法やニュートン法なども調べましたが、上手く適用できません。

補足情報(言語/FW/ツール等のバージョンなど)

Self Consistent Field法という手法もあるようですが、どのようにプログラミングすればいいのか、皆目見当が付きません。現時点では、科学技術計算用のプログラミング言語であるFortranを使用しようと検討中です。参考となる文献(可能ならば、日本語で)や、ソースコード、アルゴリズムに関して、教えて頂けますと大変助かります。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

0

以下は参考になりますか?
水素原子の波動関数

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2016/05/23 09:24

    ありがとうございます。

    ただ、言葉が足りませんでしたが、水素原子ではなく、電子が2個以上の原子に対する波動関数を近似的に求めるプログラムを作りたいと考えております。
    水素原子の場合、原子核(陽子)と電子1個の2体問題なので、解析的に厳密に解けますが、電子が2個以上の場合は、3体問題(より一般的には多体問題)となってしまい、解析的には厳密解を得られません。
    従って、近似波動関数として試行関数を用いて、変分法によって変分パラメーターを変化させて、変分原理によって近似的に数値計算を行う手法が用いられることが、様々な文献やインターネット上の情報から分かっています。
    しかし、その具体的なアルゴリズム、ソースコードが分からず困っている次第です。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.48%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 解決済

    ループ処理内の分岐処理のアルゴリズムを組むのが苦手

    プログラミングを生業としている人間がこんなことを書くのは恥ずかしい話かもしれませんが。タイトルの通りです。 // そもそもteratailにこういう投稿がふさわしいのかどうか 具

  • 受付中

    if文について

    細かい事なのですが、 if(条件)a=b; 単文には波括弧は要りませんよね しかしif(条件){a=b; c=d;   }だと波括弧を使います。 これを{a=b,c=d;}にしても

  • 解決済

    c言語の基礎文法などをやった後に読むべき本

    c言語で基礎文法を終わらせて、インターネットに関することをやりたい時(たとえばtwitterに接続して情報を取得するなど)はどのような勉強をすれば良いのでしょうか?

  • 解決済

    [java]バブルソートに関する質問です

    こんにちは。 現在独学でjavaを勉強しています。 バブルソートについての問題を行っているのですが、 ソートがうまくいきません・・・ 下記にソースを記載させていただきま

  • 解決済

    このプログラムの仕組みがよくわかりません

    学校の課題で出たプログラムなんですが、各メソッドで何が行われていて、コンパイルの結果のようになるのかがわかりません。 コンパイルするときには、元から作っていた乱数が出るプログラム

  • 解決済

    プログラムを自動開発できるAIって

    ShoheiTaiさんのつぶやきで思い出しました。 以前、こんな議論を見かけました。 最近、ソフトウェア特許を専門に扱っている弁理士の先生と話していて「AIによる自動プログ

  • 解決済

    C++独学 おすすめの書籍や勉強方法を知りたいです

    プログラミング初心者です。VisualStudio2015を使い、独学でC++の勉強を始めています。 VisualC++を学ぶため、入門書に書かれたサイコロゲーム作りをしています。

  • 解決済

    pythonで使えるコードが書いてある書籍やサイト

    python中級者です。他人が書いた優秀なコードを使えるようになりたいので、pythonで他人が書いた効率のいいコード、優秀なコードが書いてある書籍やサイトがあったら教えていただけ

同じタグがついた質問を見る

  • FORTRAN

    61questions

    FORTRAN(フォートラン)は科学時術計算に向いた手続き型プログラミング言語です。 並列計算の最適化が行いやすい特性上、数値予報および気候モデルなどの大規模な計算を行う分野のスーパーコンピュータで使われています。