コンピュータを使って,物理,数学,工学上の問題を解く手法.解が解析的手法では得られない場合や厳密解の直感的意味が良く分からないときなどに威力を発揮する.
パソコン生活の中で通常出会うようなソフトウェアと違って、誤差を小さくすることに細心の注意が払われる。また、しばしば膨大なステップ数の計算を行うため精度を下げずに早くする方法も求められている。効率の良い計算を行うための手法の研究それ自身が一つの学問分野を成している。
ニュートン法とは、実数値関数の根を数値的に計算する代表的なアルゴリズムです。 実数値関数の根を求めるとは、例えば以下のような方程式の解を求めることです。 $$ x^{3} + x - 8 = 0 $$ 関数の根とは、f(x) = 0になるxの値のことです。たとえば、中学校の数学の方程式の授業では、x2 - 4 = 0を解け、というような問題が出ます。答えは、x = 2またはx = -2のときです。これらの点が、関数f(x) = x2 - 4の根になります。 方程式の解き方には、解析的に解くやり方と数値的に解くやり方があります。解析的に解く方法は、数式をきちんと立て、その数式を変形して正確な解を…
二重ばね振り子の運動方程式をオイラーラグランジュ方程式から導出し、それを基に数値計算を行います。まずラグランジアンを計算します。図を用意するのが面倒だったので、二重振り子の場合と同様の変数設定をしていると考えてください。ただし質点はばねでつながれていますのでは時間変化します。運動エネルギーは \begin{align} T&=\frac{1}{2}m_1(\dot{x_1}^2+\dot{y_1}^2)+\frac{1}{2}m_2(\dot{x_2}^2+\dot{y_2}^2)\\ &=\frac{1}{2}[m_1[(\dot{l_1}\cos\theta_1-l_1\dot{\thet…
数学の具体的な計算にPythonを使って、数学もPythonも同時に学んでしまいましょう。今回はPythonを使って、拡散方程式と呼ばれる偏微分方程式を調べたいと思います。偏微分方程式の数値的解法の導入、本記事で使っている記法の詳細については以下の記事で解説しています:pianofisica.hatenablog.comあわせて読んでみてください。 拡散方程式 熱核 熱核を用いた解 差分方程式 Pythonによる実装 解析解との比較 (adsbygoogle = window.adsbygoogle || []).push({}); 拡散方程式 上に引用した過去記事では、輸送方程式を考え、その…
数学の具体的な計算にPythonを使って、数学もPythonも同時に学んでしまいましょう。今回はPythonを使って、偏微分方程式の解を数値的に求めてみたいと思います。常微分方程式については以下の記事で扱っています:pianofisica.hatenablog.comあわせて読んでみてください。 偏微分方程式 輸送方程式(右進行波) 数値計算 変数の離散化 差分方程式 Pythonによる実装 計算精度の改善:前進差分・後退差分・中心差分 (adsbygoogle = window.adsbygoogle || []).push({}); 偏微分方程式 一般に、未知関数とその導関数を含んだ方程式…
数学・物理学の具体的な計算にPythonを使って、数学・物理学もPythonも同時に学んでしまいましょう。前回の記事pianofisica.hatenablog.comでは、Pythonを使って振動を表す運動方程式(2階常微分方程式)の解を数値的に求めました。またpianofisica.hatenablog.comでは、数値解によって記述される質点の運動の様子をアニメーションによって可視化してみました。今回の記事はこれらの続編・応用で、複数の質点が互いにバネでつながれた、いわゆる連成振動について取り上げてみたいと思います。 バネにつながれた1質点の運動(単振動) 解析的解法 数値的解法 バネに…
数学・物理学の具体的な計算にPythonを使って、数学・物理学もPythonも同時に学んでしまいましょう。前回の記事pianofisica.hatenablog.comでは、Pythonを使って振動を表す運動方程式(2階常微分方程式)の解を数値的に求めました。今回の記事では、その数値解によって記述される質点の運動の様子をアニメーションによって可視化してみたいと思います。本記事は以下の記事の続編的な位置付けになります。あわせて読んでみてください:pianofisica.hatenablog.com pianofisica.hatenablog.com 単振動の運動方程式とその数値解 アニメーショ…
数学・物理学の具体的な計算にPythonを使って、数学・物理学もPythonも同時に学んでしまいましょう。今回はPythonを使って、振動を表す運動方程式(2階常微分方程式)の解を数値的に求めてみたいと思います。最初にもっとも基本的な調和振動子を考え、徐々にそこから外れた場合について考察を進めてみます。本記事は以下の記事の続編的な位置付けになります。あわせて読んでみてください:pianofisica.hatenablog.com pianofisica.hatenablog.com 1次元調和振動子(復元力:変位の1次) 非線形な振動子(復元力:変位の3次) 非線形な振動子(復元力:変位の1次…
<最適化問題の概要> <最短経路問題の解説> <動的計画法の解説> |まとめ(最適化問題、最短経路問題、動的計画法) 数値計算は、コンピュータを利用して数値的な方法で数式やデータを解析し、問題の解決や最適化を行う手法です。 ここでは、数値計算の中で重要な要素となる「最適化問題」、「最短経路問題」、「動的計画法」の3つをそれぞれ解説していきます。 【令和5年度】 いちばんやさしい 基本情報技術者 絶対合格の教科書+出る順問題集 作者:高橋 京介 SBクリエイティブ Amazon <最適化問題の概要> 最適化問題とは、特定の目的を達成する際に、与えられた制約条件の下で最適な解を見つける問題のことで…
|待ち行列理論の概要 >ケンドール記法の解説 >M/M/1モデルの解説 |待ち行列理論のイメージの仕方 |「数値計算の待ち行列理論」における「ケンドール記法」と「M/M/1モデル」の実践的な活用 >ケンドール記法の実用例 >M/M/1モデルの実用例 ここでは、「数値計算」において重要な一環となる「待ち行列理論」について、その概要や「ケンドール記法」、「M/M/1モデル」、「待ち行列理論イメージの仕方」について解説します。 【令和5年度】 いちばんやさしい 基本情報技術者 絶対合格の教科書+出る順問題集 作者:高橋 京介 SBクリエイティブ Amazon |待ち行列理論の概要 待ち行列理論は、さ…
|数値解析の概要 |ニュートン法について解説 |ニュートン法のアルゴリズムについて解説 |「ニュートン法」の活用法 【令和5年度】 いちばんやさしい 基本情報技術者 絶対合格の教科書+出る順問題集 作者:高橋 京介 SBクリエイティブ Amazon 「数値計算」は、数学的な問題をコンピュータを用いて近似的に解析する手法を指します。 数値計算は実世界の複雑な問題に対して厳密な解法が存在しない場合や、解が複雑な数式で表される場合に有用です。 ここでは、「数値解析の概要」「ニュートン法の解説」「ニュートン法のアルゴリズムの解説」について解説します。 令和05年 イメージ&クレバー方式でよくわかる 栢…
Exposedは、JetBrainsによって開発されたKotlin専用のORMライブラリとのことです。 Android以外の環境であって、Roomが使えない場合に使いたいと思いました。 kotlinのORMライブラリで、定番で軽量のものがあれば教えてください。 Exposedの歴史と、他の類似ライブラリとの比較もお願いします。 Exposedの使い方を教えてください。 update()の引数に、条件式のブロック{ Users.id eq 1}がありますが、このような条件式について詳しく教えてください。 フィールドの指定にUsers.ageのような表現を用いていますが、これはどのようなオブジェク…
教科書の「不等流計算」は理解できるが、実務で汎用される「準二次元不等流計算」がなかなか理解し難い方に向けて、記事を書きました。 多分相当わかりやすいと思いますので、河川行政に関わる方やコンサルの方に読んで頂きたいです。 全4回の第4回目です。 第1回:河川技術者向け基礎講座 準二次元不等流計算1/4:不等流計算の基礎 - 趣味で計算流砂水理 Computational Sediment Hydraulics for Fun Learning 第2回:河川技術者向け基礎講座 準二次元不等流計算2/4:一般断面の不等流計算 - 趣味で計算流砂水理 Computational Sediment Hy…
たつきち シュレーディンガー方程式について教えて 某AI シュレーディンガー方程式とは シュレーディンガー方程式は、量子力学における基礎的な方程式の一つです。1926年にオーストリアの物理学者エルヴィン・シュレーディンガーによって提唱されました。 この方程式は、微分方程式の形で表され、量子系の波動関数と呼ばれる関数を時間とともにどのように変化していくかを記述します。波動関数は、量子系の状態を表すものであり、その絶対値の二乗が、その量子系が特定の位置にいる確率を表します。 シュレーディンガー方程式は、以下の式で表されます。 iħ(dψ/dt) = Hψ ここで、 i は虚数単位 ħ は換算プラン…
はじめに こんにちは。セキュリティエンジニアの田村と千原です。この記事は 2 人で共同執筆しております。 この記事はFFRIセキュリティに興味はあるものの、大学や専門学校で非情報系の事を学んでいる、もしくは、セキュリティやコンピュータの事前知識をあまり持っていない方向けの記事です。 そのような方の中には、セキュリティの事前知識が無いのに選考に応募してもよいのだろうか、入社したとしてその後の業務について行けるのだろうか、といった疑問を持つ方もいらっしゃるのではないでしょうか。 実は当社には、数学・物理をはじめとした非情報系出身の社員がセキュリティエンジニアとして多く在籍しています。本記事を執筆し…
SciPyは、Pythonの科学技術計算用のオープンソースライブラリです。主に数値解析、統計、最適化、信号処理などの分野で使われています。 SciPyは以下のような特徴を持っています。 - 数値計算機能SciPyは、線形代数、微分積分、常微分方程式、代数方程式の数値解法などの機能を提供しています。NumPyと連携して、高速な数値計算を実現できます。 - 統計解析機能t検定、回帰分析、主成分分析など、統計解析に必要な機能が豊富に用意されています。データ解析の際に重宝されます。 - 最適化機能線形/非線形最適化、制約付き最適化、シミュレーテッドアニーリングなど、様々な最適化アルゴリズムを使えます。…
Numpyは、Pythonにおいて科学計算や数値計算を行うためのライブラリです。Pythonの標準ライブラリだけでは、大規模な数値計算を行うのが難しいため、Numpyが登場しました。自分でつくるディープラーニングなどの書籍でも、Numpyを使用してつくってましたね。 Numpyの主な特徴は以下の通りです: 1. 高速な数値計算Numpyは、CやFortranで書かれた高速なコードを呼び出すことで、Pythonの標準ライブラリに比べて高速に数値計算を行えます。これにより、大規模な数値計算を効率的に実行できます。 2. 多次元配列の処理Numpyは、1次元から n 次元までの配列を扱うことができ、…
手元に『ビジュアルリーマン予想入門』なる魅惑的な本がある。そのラストチャプターが「素数で輝く」なる瞠目の数値計算の章だ。 リーマン予想では下記のようなゼロ点集合ρが存在すると主張する。 Θはゼータ関数の解を与える実数である。これを使って、上記の本では関数Φを定義する。 この関数がを計算するとその頂点のx座標が素数とほとんど一致していることを示している。マンゴルトの公式の可視化というわけだ。 ある意味、素数というシンプルな数をゼータ関数のゼロ点の値という複雑な数から、再構成するわけである。 閑話休題。非力な自分が相手取るのは下式の数値の行方だ。nは自然数。 この極限の行き着く先がどうなるか。マン…
折り紙の世界において、いわゆる22.5度系*1は、折り鶴やアヤメといった伝承作品から前川淳さんの悪魔、神谷哲史さんのエンシェントドラゴンまでも含む巨大なカテゴリーです。折りやすいことや多彩な造形ができるのが魅力で、今後も多くの作品が生み出されることでしょう。 著名な折り紙作家の22.5度系の作品を折ったことのある方は、折り図の最初の数ステップで、基準点を折りだす作図的な折り方をした経験があると思います*2。 こういう作品では、大抵は正方形の一辺をa + b√2 : c (a,b,cは整数) に分ける点を折り筋の基準としています*3。例えば、筆者の猫の基準点は1+√2 : 4です。 筆者は、22…
CPUとは、コンピューターの中核を担う重要なデバイスです。以下のように詳しく説明します。 CPUとは、Central Processing Unitの略称で、コンピューターの頭脳に相当する部分です。CPUは、コンピューターに命令を与え、プログラムを実行し、データの処理を行う役割を担っています。 CPUの主な機能は以下のようなものがあります。 1. 命令の解釈と実行 - CPUは、メモリに格納されているプログラムの命令を読み取り、解釈して実行します。これにより、コンピューターはさまざまな処理を行うことができます。 2. 演算処理 - CPUは、データに対して加減乗除などの演算処理を行います。これ…
前回の記事で私はこんなことを書きました. Lean で数値計算ができるようになればもっと多くの層が取り込めることが期待できるのですが,現状では難しそうです. seasawher.hatenablog.com 改めて考えてみると,数値計算は丸め誤差と打ち切り誤差がどうしてもついてまわるため形式証明とは相性が悪いはずで,Lean で数値計算ができるようになってもあまり嬉しくないかもしれません.ちょっと勘違いをしていました.すみません. 私個人としては静的型付け言語で数値計算をしたいなと思っている *1 ので,数値計算も Lean でやりたいモチベがあるんですが,Julia でやるより特段便利になる…
あのの、205ミリの紙コップでもの同じサイズじゃないものが今はようけあるし、新聞の数値計算も誤りがあるんで。 えっとの、今年売り上げ1位が500台として、去年は357台とする。去年との比率が40パーセントや。 今年売り上げ2位が400台とする。去年は307台とする。去年との比率が30パーセントになるやろ。 すると今年も去年も売り上げのランキングは同じよの。 せやけど、去年との比率とかを混ぜると分からんようになり、去年に2位のところが1位で、今年に抜かれたような内容の記事があったで。 去年との比率が大きいなるとそうなりやすいが、確かそこまで比率に差がなかったような気がしたで。せやから本来は間違え…
河合塾のテキストの予習をしていたら週末はあっという間に終わってしまいました。 何とか一週間分の予習の貯金を作れた... 予習でテキストを一通りやってみましたが、テキストにも難易、というかかかる時間の違いがかなりありました。以下、(誰のためにもならない、)基礎シリーズテキストの個人的評価を載せておきます。 ※誤った情報が含まれている場合があります。 国語 トップレベル古文論述 易 古文1~2題なのでそこまで時間はかからない 古文論述実戦演習 やってない 漢文総合 易 他のテキストに比べて明らかに文字がでかい トップレベル現代文論述 難 記述式の現代文で、かなり時間がかかる 現代文(共通テスト実戦…
Pythonは単なるプログラミング言語ではない Pythonの特徴 - シンプルで読みやすい Pythonの活躍分野 - データ分析の必須ツール Pythonの無限の可能性 Pythonは私たちの生活を変える可能性を秘めている Pythonは単なるプログラミング言語ではない Pythonは単なるプログラミング言語ではありません。それは私たちの生活を劇的に変えるツールなのです。この言語は、科学、人工知能、データ分析、自動化など、さまざまな分野で優れた能力を発揮します。例えば、天文学者たちがPythonを使って新たな惑星の発見に成功したり、医療分野でPythonベースのAIシステムが診断精度を飛躍…
リッジ回帰(Ridge Regression)とは リッジ回帰で値を予測するPythonの実装 コードの解説 1. 使用するライブラリのインポート 2. 仮データの準備 3. データの分割: 4. リッジ回帰モデルの作成と学習 5. モデルの評価 リッジ回帰の利用が向いている領域 1. 金融分野 2. 医療分野 3. マーケティング分野 4. 気象予測 5. エネルギー分野 まとめ リッジ回帰(Ridge Regression)とは リッジ回帰は、線形回帰の一種であり、特に多重共線性(複数の説明変数が強く相関している場合)があるデータセットに対して有効です。例えば、家の価格を予測するときに、部…
さて、みんなは仕事や家事育児の分担についてどのような考えを持っているだろうか。 この話題は、常に生活に密着していて散々揉めてトラブルの原因になる。うんざりしている人も多いことだろう。なぜ揉めるのか、それは、既婚の夫婦は基本的にみんな「パートナーより重労働をしたくない」からだ。自分の方が負担が大きいと感じると、損をしている気分になる。そして『その労働をこなすためのエネルギー・負荷力を正確に理解していない』と、解決が難しくなる。 この記事は、そういった夫婦の問題について正確なデータを元に解決策になるよう作成している。この記事は、2023年9月の記事<分担に役立つ!家事、育児、仕事の労働指数データ(…