タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

プログラミングと数学に関するmisshikiのブックマーク (12)

  • [数学×Python]再帰呼び出しをマスターしよう

    再帰に対して多くの人が持つであろう苦手意識を払拭(ふっしょく)するために、再帰の基から、その考え方とプログラミングの方法を見ていく。動的計画法を利用した最小コストの計算法などについても紹介する。 連載目次 前回は、積分の数値計算法を見ました。今回は、「計算」から少し趣を変えて、再帰呼び出し(以下、必要がなければ「再帰」と略記します)のPythonプログラミングを見ていきます。 再帰とは関数の定義の中でその関数を呼び出すプログラミングの方法です。自分自身を呼び出すようなイメージなので「訳が分からない」と再帰に苦手意識を持つ人も多いようですが、基は高校で学んだ「漸化式(ぜんかしき)」をそのままコードとして表すだけです。漸化式も名前はいかめしいですが、要するに「芋づる式」に、順に値を求めていくことです。今回は、漸化式と再帰の基的な考え方を押さえた後、応用例として、メモ化により計算量を減らす

    [数学×Python]再帰呼び出しをマスターしよう
    misshiki
    misshiki 2022/03/17
    “、再帰の基本から、その考え方とプログラミングの方法を見ていく。動的計画法を利用した最小コストの計算法などについても紹介”
  • 積分法の数値計算をプログラミングしてみよう

    連載目次 前回は、微分法の数値計算を行いました。今回は、積分の数値計算法を見ていきます。まず、高校で学んだ台形公式を使った積分の数値計算を行い、次により精度のよいシンプソンの公式を使った数値計算を行います。また、乱数を使ってデータのサンプリングを行うモンテカルロ法も紹介します。Pythonの文法やライブラリに関してはNumPyのlinspace関数の利用と、乱数の利用を取り上げます。 今回の練習問題としては、正規分布の-2σ~2σ までの累積確率を求めるプログラム、曲線の長さを求めるプログラム、マルコフ連鎖モンテカルロ法(メトロポリス法)による正規分布のサンプリングを行うプログラムを取り上げます。 上に記した各種の方法は、中学・高校の数学で全て理解できるものです。聞き慣れない用語が幾つか登場しているかもしれませんが、実際のところ面積や割合を求めるために総和の計算をしているだけです。気軽に読

    積分法の数値計算をプログラミングしてみよう
    misshiki
    misshiki 2022/01/20
    特に前半は思ったより簡単な内容。台形公式/シンプソン公式/モンテカルロ法での積分についてプログラミングから学べる。練習問題でMCMC(マルコフ連鎖モンテカルロ法)のメトロポリス法も学べる。
  • 数学×Pythonプログラミング入門

    中学や高校で学んだ数学を題材にして、Pythonによる数学×プログラミングを学んでみよう。数学の教科書に載っている定理や公式だけに限らず、興味深い数式の例やAI機械学習の基となる例を取り上げながら、数学的な考え方を背景としてプログラミングを学べる連載。

    数学×Pythonプログラミング入門
  • ゼロから感染症シミュレーション ~理論,Pythonでの実装~ - Qiita

    誤りがありましたらご指摘よろしくお願いいたします!! この記事を書くにあたり参考にさせていただいた文献は最後に参考文献としてまとめさせていただきました. 1. 始めに 今回は感染症の数理モデルであるSIRモデルについて扱う. SIRモデルは世界初の感染症数理モデルであり,1927年に提案された[1]. 以下では,SIRモデルの理論の解説,シンプルなPythonでのシミュレーションの実装を行う.(より面白いシミュレーションは参考文献[3]が超分かりやすかったでおすすめさせていただきます.) 2. SIRモデルの理論 2.1 モデルの規則 SIRモデルの規則は次の通りである. (1) 初期状態として,人口全体を健康Susceptible(S), 感染者Infected(I), 免疫獲得者Recovered(R)の3グループに分ける. (2) SはIから感染し得る.Sが微小時間$\Delta t

    ゼロから感染症シミュレーション ~理論,Pythonでの実装~ - Qiita
    misshiki
    misshiki 2021/12/20
    “SIRモデルの理論の解説,シンプルなPythonでのシミュレーションの実装を行う.”
  • 微分法の数値計算をプログラミングしてみよう

    連載目次 前回は、データの可視化をテーマに、さまざまなグラフの描画を行いました。今回は「変化」を捉えるために使われる微分法について、数値計算のプログラミング方法を見ていきます。 まず、微分の定義を思い出しながら、プログラムとして表現する方法を紹介します。次に、微分方程式の数値計算を行います。関連事項として、ルンゲ・クッタ法による微分方程式の解法についても紹介します。今回はPythonの文法やライブラリに関しての新出事項は特にありませんが、いくつかのアルゴリズムを通して、プログラミングの力を高めていきます。 今回の練習問題としては、勾配降下法により最小値を求めるプログラム、2変数の微分方程式をルンゲ・クッタ法で解くプログラム、偏微分の数値計算を行うプログラムの3つを取り上げます。 微分方程式やルンゲ・クッタ法は中学・高校の数学のレベルを少し超えますが、数値計算は簡単な四則演算だけでできてしま

    微分法の数値計算をプログラミングしてみよう
    misshiki
    misshiki 2021/11/25
    “微分の数値計算を行って導関数をグラフ化”
  • 中学数学だけでフェルマーの小定理をプログラミングしてみよう

    この連載では、中学や高校で学んだ数学を題材にして、Pythonによるプログラミングを学びます。といっても、数学の教科書に載っている定理や公式だけに限らず、興味深い数式の例やAI機械学習の基となる例を取り上げながら、数学的な考え方を背景としてプログラミングを学ぶお話にしていこうと思います。 目標: フェルマーの小定理をプログラミングしてみる 数学が苦手な人でも「素数」については聞き覚えがあると思います。素数とは1より大きく、1と自分自身しか約数を持たない数のことでしたね。つまり、2,3,5,7,11,13……が素数です。素数は中学の初歩的な数学から登場し、素因数分解やそれを利用した約分など、数式を取り扱う上での基の基となっています。 もちろん、それだけではありません。例えば、公開鍵方式と呼ばれる暗号化の方法(RSA暗号)などにも広く応用される実用的な「数」でもあります。一方で、無限に

    中学数学だけでフェルマーの小定理をプログラミングしてみよう
    misshiki
    misshiki 2021/07/26
    “ウォーミングアップとして...Pythonプログラミングの初歩を振り返る。演算子/変数/関数の使用方法をまとめる。数式をプログラムとして表すための練習問題”
  • 中学・高校数学で学ぶ、数学×Pythonプログラミングの第一歩

    中学・高校数学で学ぶ、数学×Pythonプログラミングの第一歩:数学×Pythonプログラミング入門 「Pythonの文法は分かったけど、自分では数学や数式をプログラミングコードに起こせない」という人に向けて、中学や高校で学んだ数学を題材に「数学的な考え方×Pythonプログラミング」を習得するための新連載がスタート。連載コンセプトから、前提知識、目標、格的に始めるための準備までを説明する。 連載目次 この連載では、中学や高校で学んだ数学を題材にして、Pythonによるプログラミングを学びます。といっても、数学の教科書に載っている定理や公式だけに限らず、興味深い数式の例やAI機械学習の基となる例を取り上げながら、数学的な考え方を背景としてプログラミングを学ぶお話にしていこうと思います。 今回は、それに先だって、プログラミングを学ぶ上で数学を使うことのメリットや、Pythonでどのよう

    中学・高校数学で学ぶ、数学×Pythonプログラミングの第一歩
    misshiki
    misshiki 2021/07/05
    “「Pythonの文法は分かったけど、自分では数学や数式をプログラミングコードに起こせない」という人に向けて、中学や高校で学んだ数学を題材に「数学的な考え方×Pythonプログラミング」を習得するための新連載”
  • アルゴリズム・AtCoder のための数学【前編:数学的知識編①】 - Qiita

    こんにちは、大学 1 年生になったばかりの E869120 です。 私は競技プログラミング趣味で、AtCoder や日情報オリンピックなどに出場しています。ちなみに、2021 年 4 月 7 日現在、AtCoder では赤(レッドコーダー)です。 記事では、アルゴリズムの学習や競技プログラミングで使える数学的な部分を総整理し、それらについて解説したいと思います。前編・中編では数学的知識、後編(2021/4/26 公開予定)では数学的考察の側面から書いていきます。 【シリーズ】 アルゴリズム・AtCoder のための数学【前編:数学的知識編①】 ← 記事 アルゴリズム・AtCoder のための数学【中編:数学的知識編②】 アルゴリズム・AtCoder のための数学【後編:数学的考察編】 1. はじめに 21 世紀も中盤に入り、情報化社会(いわゆる「IT 化」)が急激に進行していく中、

    アルゴリズム・AtCoder のための数学【前編:数学的知識編①】 - Qiita
  • 11月新刊情報『Pythonではじめる数学の冒険』

    Pythonではじめる数学の冒険 ―プログラミングで図解する代数、幾何学、三角関数』 Peter Farrell 著、鈴木 幸敏 訳 2020年11月16日発売予定 380ページ ISBN978-4-87311-930-4 定価3,300円(税込) 数学を8年間、コンピュータサイエンスを3年間教えたことのある著者が、自らの経験に基づき、これからの時代に必要な数学とプログラミングの能力を身につけてもらいたいと筆をとった意欲作。定義や命題から入る伝統的なアプローチではなく、プログラミングによる視覚的アプローチで直感的な理解を促します。数学の視点からプログラミングを眺め、また逆にプログラミングの視点から数学を眺めることで、退屈な計算問題は、さまざまな工夫が可能なプログラミングの課題になり、プログラミングの文法は、数学の問題を解く上での強力な武器となり、それぞれの新たな魅力に気づかされるきっかけ

    11月新刊情報『Pythonではじめる数学の冒険』
    misshiki
    misshiki 2020/10/26
    “2020年11月16日発売予定”
  • 競技プログラミングに関係する数学の整理 ~文系出身や数学苦手erが、もっと競プロを楽しむために~ - テルの競プロメモ

    まえがき この記事の目的 意図する対象読者 今回の整理の仕方(記事の見方) 注意 競プロに関係する数学題) 言葉(文系でも多分聞いたことはある)編 言葉(文系だと聞いたことないかも)編 言葉(離散数学)編 「式変形」編 「図形っぽいやつ」編 筆者のバックグラウンド 経歴、仕事など まえがき この記事では、競技プログラミングに関係する数学用語・概念と、それがどんな単元(分野)に属するものかを整理(一覧化)します。 競技プログラミングの問題に出てくる用語・概念をはじめ、競技プログラミングの解説記事などに出てくる用語・概念も、思いつく限り挙げています。 「この記事の数学的な部分、どのぐらい信用できるの?」とか、「数学苦手と言ってもどのくらい苦手なの?」といった疑問への参考としては、筆者のバックグラウンドを記事の最後で紹介したので、気になる方は先にそちらを読んでください。 この記事の目的 文系

    競技プログラミングに関係する数学の整理 ~文系出身や数学苦手erが、もっと競プロを楽しむために~ - テルの競プロメモ
    misshiki
    misshiki 2020/08/24
    “言葉(文系でも多分聞いたことはある)編/言葉(文系だと聞いたことないかも)編/言葉(離散数学)編/「式変形」編/「図形っぽいやつ」編”
  • GitHub - google/TensorNetwork: A library for easy and efficient manipulation of tensor networks.

    misshiki
    misshiki 2020/02/17
    “A tensor network wrapper for TensorFlow, JAX, PyTorch, and Numpy.”
  • 【書籍まとめ】データサイエンス初心者が1年間で読んだ本 - Qiita

    プログラミング経験ゼロから、1年間で読んできたPython数学、統計学、資格、機械学習、深層学習などの主な書籍をまとめています。Qiitaには別の諸先輩方が記載している書籍まとめ記事がいっぱいありますが、そもそもプログラミング自体も知らない当の素人が試行錯誤して読んできたをここに備忘録的にもまとめておきます。 バックグラウンド 大学院では脳神経科学の研究室にいた生物系 物理、微分積分、線形代数、統計学などは大学生のときに基礎科目として学んだ程度 プログラミングはそれすらない当のゼロ 新卒で臨床試験の開発部署に(プログラミング、データ解析等とは無縁) 医療画像診断や臨床統計学に興味を持ち始めたのがデータサイエンス学習へのきっかけ ------Python------ 独学プログラマー プログラミング学習への第一歩。Pythonというより、Pythonを通じて、まずはプログラミングとは

    【書籍まとめ】データサイエンス初心者が1年間で読んだ本 - Qiita
  • 1