タグ

数学とPythonに関するs_ryuukiのブックマーク (17)

  • 【コード付き】二次元放物形の偏微分方程式の数値解法【Python】 - LabCode

    記事では、二次元放物形偏微分方程式の数値解法について、分かりやすい具体例とともに掘り下げていきます。Pythonを活用したアプローチ方法を学びます。 記事を通して偏微分方程式の数値解法の1つを会得しましょう! 注) 差分法の一部の話だけにとどめています。誤差や境界条件などの詳細な議論は冗長化を避けるためにご紹介していません。 偏微分方程式の数値解法とは 偏微分方程式の数値解法は、偏微分方程式(PDE: Partial Differential Equations)の解を近似的に求めるための手法のことを指します。これらの方程式は、多くの場合、解析的な解が見つけられないため、数値的な手法が必要となります。以下に、主な数値解法をいくつか紹介します。 有限差分法(Finite Difference Method): 空間や時間を離散的なグリッドに分割し、微分を差分に置き換えることにより近似しま

  • 【Python】プログラムでフーリエ変換を理解しよう!【FFT, 標本化定理, ナイキスト周波数】 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]

    こんにちは。早く業務に慣れたい開発チーム入社1年目の髙垣です。 急ですが皆さん。ふと、音をフーリエ変換したい時ってありませんか? ありますよね。 でも、「フーリエ変換って学校で計算式で習ったけど、結局は何をしているんだ?」となることありませんか? そこで今回は計算式なんてほっといて、Pythonを使ってフーリエ変換が何をやっているのか体験してみましょう! 環境構築 下記リポジトリをクローンしてください https://github.com/takaT6/fft-tutorial クローンができたら下記のライブラリをインストールしてください↓ pip install numpy matplotlib japanize_matplotlib japanize_matplotlib はmatplotlibに日語を書き込めるようにするライブラリです。 日語化をするにはフォントを入れたり、設定フ

    【Python】プログラムでフーリエ変換を理解しよう!【FFT, 標本化定理, ナイキスト周波数】 | Raccoon Tech Blog [株式会社ラクーンホールディングス 技術戦略部ブログ]
  • Python・数学・Bing AIでそれぞれSatisfactoryの代替レシピガチャの確率を求めてみた。 - t-hom’s diary

    今回は私が遊んでいるゲーム Satisfactoryのなかのガチャ要素で狙ったものを引きあてる確率を求めてみた。 Satisfactoryは異星に工場を発展させていく生産シミュレーション系のゲームである。 詳しくは以下の記事で紹介しているので気になる方はチェックしてみて欲しい。 thom.hateblo.jp ただし面白すぎて生活に支障が出ても責任は負いかねるのであしからず。 さて、このゲームでは部品を組み合わせて製品を作っていくのだが、通常のレシピとは別に代替レシピというものが存在する。 代替レシピはこの世界に転がっている墜落した降下ポッドから入手できるハードドライブというアイテムを分析器にかけることで手に入る。 このように3つの代替レシピが提示され、そのうち1つを選択して入手する形である。 ハードドライブの分析結果は87通り存在し、うち85種類がレシピ、のこり2つはインベントリスロット

    Python・数学・Bing AIでそれぞれSatisfactoryの代替レシピガチャの確率を求めてみた。 - t-hom’s diary
  • [統計学]モンテカルロ積分の証明と実践

    概要 モンテカルロ積分の証明を忘れていたことに気づいたので証明を行う. モンテカルロ積分とは乱数を用いた積分手法である. 定義・性質 以下の積分を確率変数を用いて行うことを考える 関数: g(x). 積分: \theta = \int_0^1 g(x) dx. 確率変数: X : X \backsim U(0,1). このとき, \theta について以下が成り立つ. \mathbb{E}[g(X)] = \int_0^1 g(x) \cdot \frac{1}{1-0} dx = \theta. すなわち, \mathbb{E}[g(X)] を推定すればよい. ここで以下の無作為標を考える. X_1, \cdots ,X_m \quad \text{Where} \quad X_i \backsim U(0,1). このとき以下の確率収束が成り立つ. \begin{align*} \h

    [統計学]モンテカルロ積分の証明と実践
  • コンピュータにおける三角関数の実装 - Qiita

    コンピュータにおける三角関数の実装 ※この文章は主に Intel社の文献 1 をもとに記述しています。 歴史的な話 1980年代に開発された Intel 8087 プロセッサーでは、sin cos を含む数学関数がハードウェア実装された。 現在の Intel や AMD の x86_64 アーキテクチャ CPU にも、互換性を維持する目的で実装され続けている。(x87) しかしながら、最近のプログラミング言語で sin cos を呼び出しても、 これらの x87 命令が使用されることはなく、ソフトウェア的に計算が行われる。 それには、x87 命令の実装に使用されたアルゴリズムに、速度や精度上の欠点があるため、と言われている。 1 から引用 In the 1990s Intel replaced the 8087's CORDIC-based approximations of the el

    コンピュータにおける三角関数の実装 - Qiita
  • Pythonで数学の勉強:代数基礎(数式と関数) - Qiita

    数式と関数 目的など よくわからなかった大学の数学Pythonを使って再勉強する。(今ならMathematica並のことができるぜ) 数学自体が目的ではなく現実の問題を解くために数学の知識を利用したい。 なるべく例題を入れつつ、解答は例題に特化したものではなく汎用的なものにする。 どこがsympyの領域なのかを明確にすべくfrom sympy import *とはしない。 import sympy as sym sym.init_printing() Pi = sym.S.Pi # 円周率 E = sym.S.Exp1 # 自然対数の底 I = sym.S.ImaginaryUnit # 虚数単位 # 使用する変数の定義(小文字1文字は全てシンボルとする) (a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z) = sym.symbol

    Pythonで数学の勉強:代数基礎(数式と関数) - Qiita
  • 歯車を描く - Qiita

    歯車ってカッコいいですよね。大小ざまざまな歯車が組み合わさって連動して動いている時計のムーブメントなんて、いくらでも眺めていられる気がします。 記事の目的 歯車をプログラミングで描いてみます。歯車の種類はいろいろありますが、平歯車に絞ってチャレンジします。上の画像にあるような、我々一般人が歯車と聞いて最初に思い浮かぶタイプの歯車です。上のような、それっぽい感じの歯車が、それっぽくかみ合っているアニメーションを生成するところがゴールです。 一応世界標準のISO規格を意識した上で進めますが、準拠と言うにはほど遠い、「なんちゃって歯車」です。 歯車を作る まずは歯車を1つ描いてみることにします。 必須の3要素 さて、平歯車を作るにあたって、決めなければいけないところは多々ありますが、最も大事なのは以下の3点です。 m: モジュール(歯のサイズ) z: 歯の数 α: 圧力角 それぞれ順番に説明して

    歯車を描く - Qiita
  • 2015年センター試験数学IAを全てプログラム(Python)で解く - Qiita

    この記事はなんなの 「センター試験程度であれば、数式と文章を愚直にプログラムに落としこむことさえできれば、昨今のツールを用いて、何も閃かずとも機械的に問題を解くことが出来る」ということの主張 科学計算ライブラリ(特にSympy)の布教 将来、働き先がなくなったとき、「私、私こういうことができるんです!!」って言えばどこかが拾ってくれないかなあ、という夢 使用するもの Python (3系) Scipy.org に載っている科学計算ライブラリ全て(タグが足りない!!) 共に、2015年6月現時点での最新版を使用します(特に、Scipyは今年1月に実装された最新版の機能を使用するので注意してください)。 数々のライブラリを一つ一つインストールするのはすごく面倒です。面倒なので、有名どころを固めたパッケージのようなものが複数存在します。 個人的にはいつもAnacondaを使ってまとめてインストー

    2015年センター試験数学IAを全てプログラム(Python)で解く - Qiita
  • Sage チュートリアル v10.4

    Sageチュートリアルへようこそ# Sageは,代数学,幾何学,数論,暗号理論,数値解析,および関連諸分野の研究と教育を支援する,フリーなオープンソース数学ソフトウェアである. Sageの開発モデルとテクノロジーに共通する著しい特徴は,公開,共有,協調と協働の原則の徹底的な遵守である. 我々の目的は言わば実用車の制作であって,車輪を再発明することではない. 総合目標としているのは,Maple,Mathematica,Magma,MATLABに代りうるフリーかつオープンソース化された実用システムの開発である. Sageがどんなものか,短時間で知りたければ,まずこのチュートリアルを読んでみていただきたい. HTML版とPDF版のどちらを読んでもいいし,Sageノートブックを経由することもできる(チュートリアル内容を対話的に実行するには,ノートブックで Help , 続けて Tutorial を

  • 超簡単!Pythonを使って中学・高校レベルの数学問題を解いてみた - paiza times

    秋山です。 PythonはNumpyとかSympyとか、数値計算が得意なライブラリが充実しています。もちろん中学・高校の数学で習うレベルの計算もすぐにできちゃいます。 というわけで今回はPythonでプログラミングをして、中学・高校で習う数学の問題を解いてみました。 Pythonが使えるようになれば、中学・高校レベルの数学では困らずに済む。かもしれない。 ■中学2年生レベル ◆連立方程式 ◇問題 x + y = 3 x + 3y = 13 のとき、xとyを求めよ。 Numpyを使って、連立方程式を行列計算で解いてみました。 ■中学3年生レベル ◆2次方程式 ◇問題 x^2 - 10x + 24 = 0 のとき、xを求めよ。 昔の授業では (x - 4)(x - 6) = 0 x = 4 , 6 このような解法を習ったと思います。 この問題は、NumpyのPolynomialを使って式を作り

    超簡単!Pythonを使って中学・高校レベルの数学問題を解いてみた - paiza times
  • 最適化におけるPython(PuLP版) - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに Python-MIP版の記事を作成しました。モデラーとしてPuLPよりPython-MIPの方がメリットが多いので、ぜひ、下記の記事も参考にしてください。 最適化におけるPythonPython-MIP版) 概要 私は、業務で、組合せ最適化技術を用いたソフトウェア開発(例えば、物流における輸送コストの最小化など)を行っています。以前は、C++やC#を用いて、最適化のモデルを作成していましたが、最近ではPythonを用いることが多いです。 ここでは、最適化におけるPythonについて紹介します。 Pythonのメリット Pyt

    最適化におけるPython(PuLP版) - Qiita
  • Numpy, Scipy, MATLABの便利関数を実装したC++の行列演算ライブラリnumpycpp - MyEnigma

    自動車業界MBDエンジニアのためのSimulink入門-4週間で学ぶSimulink実践トレーニング- (MBD Lab Series)posted with カエレバ久保孝行 TechShare 2012-11-19 Amazonで探す楽天市場で探すYahooショッピングで探す 目次 目次 はじめに 関数(APIs) reshape isdiag vstack hstack kron block_diag 参考資料 MyEnigma Supporters はじめに PythonのNumpyやScipy、 またはMATLABなどを使って、 プロトタイプを作成し、 そのシステムをC++に移植しようとすると、 C++の行列演算ライブラリEigenの関数(API)の少なさに 悲しくなることがあります。(NumpyやMATLABがすごいだけなのですが...) Eigen そこで、NumpyやSci

    Numpy, Scipy, MATLABの便利関数を実装したC++の行列演算ライブラリnumpycpp - MyEnigma
  • 見積りで考える内積 - Qiita

    内積は計算方法としてはそれほど難しいものではありませんが、色々な応用があるためイメージしにくい計算です。幾何学的な意味付けがありますが、そのようには解釈しにくい計算にも応用されます。例として、日常的にも触れる機会の多い計算書(見積りなど)を取り上げます。NumPyによる計算を添えます。 行列で何を計算しているのかいまいち実感が湧かないという方へのヒントになることを目指しています。 シリーズの記事です。 見積りで考える内積 ← この記事 関数で考えるコベクトル 関数で考える行列 関数で考える双対性 コベクトルで考えるパーセプトロン

    見積りで考える内積 - Qiita
  • CodeIQについてのお知らせ

    2018年4月25日をもちまして、 『CodeIQ』のプログラミング腕試しサービス、年収確約スカウトサービスは、 ITエンジニアのための年収確約スカウトサービス『moffers by CodeIQ』https://moffers.jp/ へ一化いたしました。 これまで多くのITエンジニアの方に『CodeIQ』をご利用いただきまして、 改めて心より深く御礼申し上げます。 また、エンジニアのためのWebマガジン「CodeIQ MAGAZINE」は、 リクナビNEXTジャーナル( https://next.rikunabi.com/journal/ )に一部の記事の移行を予定しております。 今後は『moffers by CodeIQ』にて、 ITエンジニアの皆様のより良い転職をサポートするために、より一層努めてまいりますので、 引き続きご愛顧のほど何卒よろしくお願い申し上げます。 また、Cod

    CodeIQについてのお知らせ
  • NumPy・SciPyによる高速化の実力を見る - Qiita

    あらまし 以前の記事でNumPy・SciPyの高速化にまつわる事柄を書きました: NumPyを用いた数値計算の高速化 : 基礎 NumPy・SciPyを用いた数値計算の高速化 : 応用その1 NumPy・SciPyを用いた数値計算の高速化 : 応用その2 ホントに早くなってるの?ちゃんと調べてみましょう. 調査方法 Pythonによるオレオレ実装と比較します. 速度よりシンプルさを重視した実装との比較なので正当な評価とは言い難いかもしれません. Pythonはanaconda3, 時間計測にはIPythonの%timeitを使用します. --実行環境-- OS : Ubuntu16.04 LTS 64bit Python : anaconda3-4.1.1 CPU : Intel Corei5 3550 (4-core / 4-thread) リストの初期化 たとえば行列の初期化です.

    NumPy・SciPyによる高速化の実力を見る - Qiita
  • NumPy・SciPyを用いた数値計算の高速化 : 応用その1 - Qiita

    対象 Python及びNumPy初心者に向けて書いています. 「C言語は使えるけど最近Pythonを始めた」とか「Pythonらしい書き方がよくわからない」に該当する物理系の数値計算を目的とした方には特に有用かもしれません. また, 自分の不勉強のために間違った記述があるかもしれません. ご容赦ください. あらまし 内容はNumPyを用いた数値計算の高速化 : 基礎のつづきです. ndarrayのユニバーサル関数や演算を用いて可能な限りforループを使わずに基礎的な数値計算を実装していきます. 今回からSciPyも仲間に加わります. 以下ではNumPy・SciPyの関数の詳しい実装についてはあまりコメントしていないので, わからないことがあったら是非リファレンスを読んでみてください. 言わずもがな, 車輪の再発明をしないことがとっても大事です. 微分 物理の基礎方程式には微分がつきものです

    NumPy・SciPyを用いた数値計算の高速化 : 応用その1 - Qiita
  • 2016年東大数学をPythonで解く - Qiita

    はじめに この記事は、Python Advent Calendar 2016 11日目の記事です。 ここでやること 去年のPython Adevent Calendarではセンター試験の数学ⅡBを扱いましたが、今年は東大数学(文系)を扱っていきます。 ※ この記事で扱う問題は、河合塾(総合教育機関・予備校)/ 2016年度国公立大二次試験・私立大入試解答速報から引用しています。 環境 Python 3.5.0 Anaconda 3-2.4.0 Sympyの基的な使い方 Sympyとは? Pythonの記号計算ライブラリ 公式ドキュメント : http://www.sympy.org/en/index.html語資料 : http://www.turbare.net/transl/scipy-lecture-notes/packages/sympy.html Symbols - 変数

    2016年東大数学をPythonで解く - Qiita
  • 1