プログラミングのための数学

  • 著作者名:Paul Orland
  • 翻訳者名:松田晃一
    • 書籍:3,498円
    • 電子版:3,498円
  • B5変:712ページ
  • ISBN:978-4-8399-7306-3
  • 発売日:2021年06月23日
  • mixiチェック
  • このエントリーをはてなブックマークに追加

内容紹介

プログラマーが知っておきたい「数学」をPythonで学ぼう

ソフトウェア開発において数学のスキルがますます重要になっています。時代をリードする企業はデータサイエンスや機械学習を取り入れ活用し、ゲーム開発、コンピューターグラフィックスやアニメーション、画像や信号処理、価格設定、株式市場分析など、数学の知識が多くのシーンで役立ちます。

本書では、プログラミングに必要となる数学:線形代数、微積分、機械学習の基礎を学び、実際のソフトウェア開発で活用できるPythonの主要ライブラリの使い方を習得します。実際のコーディングはJupyter Notebookを通して学びます。
難解な教科書とはならないよう、数学的概念を実世界に当てはめた例題をたくさん取り上げます!


1章 プログラムで数学を学ぶ

[第1部] ベクトルとグラフィックス
2章 2次元ベクトルで描画する
3章 3次元にする
4章 ベクトルやグラフィックスを座標変換する
5章 行列で座標変換を計算する
6章 より高い次元へ一般化する
7章 連立1次方程式を解く

[第2部] 微積分と物理シミュレーション
8章 変化の割合を理解する
9章 移動する物体をシミュレーションする
10章 文字式を扱う
11章 力場をシミュレーションする
12章 物理シミュレーションを最適化する
13章 音をフーリエ級数で分析する

[第3部] 機械学習への応用
14章 データに関数を当てはめる
15章 ロジスティック回帰でデータを分類する
16章 ニューラルネットワークを訓練する

付録A Pythonのセットアップ
付録B Pythonのヒントとコツ
付録C OpenGLとPyGameによる3次元モデルのロードとレンダリング


本書は、プログラミング経験がある程度あり「数学スキルを再確認したい」「数学の応用についてプログラミングを通じて学びたい」と考えている人のための本で中学・高校で習った数学の知識があれば大丈夫です。
例題に沿って、すべての練習問題に挑戦することで、本書を最大限に活用することができます。

商品を選択する

フォーマット 価格 備考
書籍 3,498
PDF 3,498 ●電子書籍について
※ご購入後、「マイページ」からファイルをダウンロードしてください。
※ご購入された電子書籍には、購入者情報、および暗号化したコードが埋め込まれております。
※購入者の個人的な利用目的以外での電子書籍の複製を禁じております。無断で複製・掲載および販売を行った場合、法律により罰せられる可能性もございますので、ご遠慮ください。

電子書籍フォーマットについて

  

備考

Paul Orland(ポール・オーランド)
起業家、プログラマー、数学の愛好家。マイクロソフトでソフトウェアエンジニアとして勤務した後、石油・ガス業界のエネルギー生産を最適化するための予測分析システムを構築するスタートアップ企業Tachyusを共同設立。Tachyusの創立CTOとして機械学習と物理学ベースのモデリングソフトウェアの製品化を主導し、後にCEOとして5大陸の顧客にサービスを提供するまでに会社を拡大させた。イェール大学で数学の学士号を、ワシントン大学で物理学の修士号を取得している。


[翻訳]松田晃一(まつだこういち)
博士(工学、東京大学)。NEC、ソニーコンピュータサイエンス研究所、ソニーなどを経て、大妻女子大学社会情報学部情報デザイン専攻 教授。著書に『Pythonライブラリの使い方』、『p5.jsプログラミングガイド』(カットシステム)、『学生のためのPython』(東京電機大学出版局)、『WebGL Programming Guide』(Addison-Wesley Professional)、訳書に『生成Deep Learning』、『詳解OpenCV3』、『行列プログラマー』(オライリー・ジャパン)、『デザインのためのデザイン』(ピアソン桐原)など多数。

目次

第1章 プログラムで数学を学ぶ
1.1 お金持ちになれる問題を数学とソフトウェアで解く
1.2 数学の勉強をしない方法
1.3 鍛え上げられた左脳を使う
まとめ

[第1部] ベクトルとグラフィックス
第2章 2次元ベクトルで描画する
2.1 2次元ベクトルを描画する
2.2 平面ベクトル演算
2.3 平面上の角度と三角関数
2.4 ベクトルの集合を座標変換する
2.5 Matplotlib で描画する
まとめ
第3章 3次元にする
3.1 3次元空間にベクトルを描く
3.2 3次元のベクトル演算
3.3 内積: ベクトルの揃い具合いを測る
3.4 外積: 向き付き面積を計算する
3.5 3次元物体を2次元でレンダリングする
まとめ
第4章 ベクトルやグラフィックスを座標変換する
4.1 3次元物体を座標変換する
4.2 線形変換
まとめ
第5章 行列で座標変換を計算する
5.1 線形変換を行列で表現する
5.2 さまざまな形状の行列を解釈する
5.3 行列を用いてベクトルを平行移動する
まとめ
第6章 より高い次元へ一般化する
6.1 ベクトルの定義を一般化する
6.2 異なるベクトル空間を探索する
6.3 より小さなベクトル空間を探す
6.4 まとめ
第7章 連立1次方程式を解く
7.1 アーケードゲームを設計する
7.2 直線の交点を求める
7.3 1次方程式をより高次元で一般化する
7.4 1次方程式を解いて基底を変換する
まとめ

[第2部] 微積分と物理シミュレーション
第8章 変化の割合を理解する
8.1 石油量から平均流量を計算する
8.2 時間ごとに平均流量をプロットする
8.3 瞬間流量を近似する
8.4 石油量の変化を近似する
8.5 時間ごとの石油量をプロットする
まとめ
第9章 移動する物体をシミュレーションする
9.1 等速運動をシミュレーションする
9.2 加速度をシミュレーションする
9.3 オイラー法を深く掘り下げる
9.4 より小さな時間ステップでオイラー法を実行する
まとめ
第10章 文字式を扱う
10.1 数式処理システムを用いて正確な導関数を求める
10.2 数式をモデル化する
10.3 文字式が計算できるようにする
10.4 関数の導関数を求める
10.5 微分を自動的に行う
10.6 関数を積分する
まとめ
第11章 力場をシミュレーションする
11.1 ベクトル場を用いて重力をモデル化する
11.2 重力場をモデル化する
11.3 アステロイドゲームに重力を加える
11.4 ポテンシャルエネルギーを導入する
11.5 勾配を計算しエネルギーから力を導く
まとめ
第12章 物理シミュレーションを最適化する
12.1 発射体のシミュレーションをテストする
12.2 最適到達距離を計算する
12.3 シミュレーションを強化する
12.4 勾配上昇法を利用し到達距離を最適化する
まとめ
第13章 音をフーリエ級数で分析する
13.1 音波を組み合わせたり分解したりする
13.2 Pythonで音を再生する
13.3 シヌソイド波を音に変える
13.4 音を組み合わせて新しい音を作る
13.5 音をフーリエ級数に分解する
まとめ

[第3部] 機械学習への応用
第14章 データに関数を当てはめる
14.1 関数の当てはまり具合を測定する
14.2 関数の空間を探索する
14.3 勾配降下法を使い最も良く当てはまる線を求める
14.4 非線形関数を当てはめる
まとめ
第15章 ロジスティック回帰でデータを分類する
15.1 実データで分類関数をテストする
15.2 決定境界を可視化する
15.3 分類問題を回帰問題として扱う
15.4 ロジスティック関数の空間を探索する
15.5 最も良いロジスティック関数を見つける
まとめ
第16章 ニューラルネットワークを訓練する
16.1 ニューラルネットワークでデータを分類する
16.2 手書き文字の画像を分類する
16.3 ニューラルネットワークを設計する
16.4 Pythonでニューラルネットワークを構築する
16.5 勾配降下法を用いてニューラルネットワークを訓練する
16.6 バックプロパゲーションを用いて勾配を計算する
まとめ

付録A Pythonのセットアップ
A.1 すでにPythonがインストールされているかをチェックする
A.2 Anacondaのダウンロードとインストール
A.3 Pythonをインタラクティブモードで使う
付録B Pythonのヒントとコツ
B.1 Pythonでの数値と数学
B.2 Pythonのコレクション型データ
B.3 関数を使う
B.4 Matplotlib でデータをプロットする
B.5 Pythonによるオブジェクト指向プログラミング
付録C OpenGLとPyGameによる3次元モデルのロードとレンダリング
C.1 第3章の八面体を再現する
C.2 視点を変える
C.3 ユタ・ティーポットの読み込みとレンダリング
C.4 練習問題

数学記法リファレンス
 

この商品を買った人はこんな商品も買っています


最近チェックした商品

Tポイント利用手続き

         Tポイント利用手続きに関する同意事項

                                株式会社マイナビ出版

株式会社マイナビ出版が提供するマイナビBOOKSにおいてTポイントご利用続きをされる方は、以下に掲げるお客様の個人情報の取り扱いについてご確認の上、ご同意下さい。

マイナビBOOKSにおいてTポイントサービスをご利用いただいた場合に、当社から、次に掲げる<提供情報>を、<提供目的>のためにカルチュア・コンビニエンス・クラブ株式会社(以下「CCC」といいます)へ提供します。

  <提供目的>:CCCの定める個人情報保護方針及びマイナビBOOKSにおけるT会員規約第4条に定める利用目的で利用するためTポイントサービスを利用するため
  <提供情報>:
   1)お客様が【マイナビBOOKS】の正当な利用者であるという情報
   2)ポイント数・利用日
   3)その他、Tポイントサービスを利用するにあたり必要な情報

  <提供方法>: 電磁的記録媒体の送付またはデータ通信による。ただし、提供するデータについては暗号化を施すものとする。

なお、CCCに提供された、以下の情報の利用については、CCCの定める個人情報保護方針及びT会員規約 に沿って取り扱われます。
上記の情報提供の停止をご希望される場合には、【マイナビBOOKS】におけるTポイント利用手続きの解除を実施していただく必要があります。
Tポイント利用手続きの解除、およびTポイントサービスにおける個人情報に関するお問い合わせ先は、以下のとおりです。
お客様お問い合わせ先:Tサイト(http://qa.tsite.jp/faq/show/22612)

 なお、Tポイント利用手続きの解除が完了しますと、マイナビBOOKSにおけるTポイントサービスをご利用いただけなくなりますので、予めご了承ください。

Tポイント利用手続きを行いますか?