内容紹介
科学計算用の新しい言語Juliaの言語仕様、機能、使い方を紹介!
Juliaは、数値計算、科学計算用に開発された高速な言語。そもそもの目的が、Matlab並みに高機能で高速で、近代的なオープンソース言語が欲しいという意図で開発されたものです。非常に高速であることが最大の特徴で、PythonやRといった既存のオープンソース言語の不満を解消するものとなっています。構文も数式を書く感覚で書くことができ、数学と親和性が高いです。クックブックなので、欲しい情報のあるページから読むことができます。また、Juliaが得意とする機能を多数紹介しており、Juliaの魅力と威力を存分に体感できる一冊です。サンプルコードはすべてGitHubからデータ可能。翻訳版はJulia 1.2対応。
このような方におすすめ
研究者、学生、データサイエンティスト、Pythonユーザ、Rユーザ
目次
詳細目次
まえがき
0章 Julia言語入門(日本語版補遺)
0.0 Juliaの特徴
0.1 効率の良い実行機構
0.2 配列
0.3 関数とその使い方
0.4 Juliaによる「オブジェクト指向」プログラミング
0.5 パラメータ化型
0.6 共用型(Union)
0.7 マクロと文字列マクロ
0.8 その他の言語機能
1章 Juliaのインストールと設定
はじめに
レシピ1.1 Juliaをバイナリパッケージでインストールする
レシピ1.2 JuliaをIDEで使う
レシピ1.3 Juliaをテキストエディタで使う
レシピ1.4 JuliaをLinuxでソースからビルドする
レシピ1.5 JuliaをAWSクラウド上のCloud9 IDEで使う
レシピ1.6 Julia起動時の動作を変更する
レシピ1.7 Juliaをマルチコアで使う
レシピ1.8 Juliaのインタラクティブモードを使いこなす
レシピ1.9 Juliaで計算結果を表示する
レシピ1.10 パッケージの管理
レシピ1.11 JuliaをJupyter Notebookで使う
レシピ1.12 JuliaをJupyterLabで使う
レシピ1.13 ターミナルしか使えないクラウド環境でJupyter Notebookを使う
2章 データ構造とアルゴリズム
はじめに
レシピ2.1 配列中の最小要素のインデックスを取得する
レシピ2.2 行列乗算を高速に行う
レシピ2.3 カスタム擬似乱数生成器を実装する
レシピ2.4 正規表現を使ってGitログを解析する
レシピ2.5 標準的でない基準でデータをソートする
レシピ2.6 関数原像の生成 -辞書とセットの機能を理解する
レシピ2.7 UTF-8文字列を扱う
3章 Juliaによるデータエンジニアリング
はじめに
レシピ3.1 ストリームを管理し、ファイルに読み書きする
レシピ3.2 IOBufferを使って効率的なインメモリストリームを作る
レシピ3.3 インターネットからデータを取得する
レシピ3.4 簡単なRESTfulサービスを作ってみる
レシピ3.5 JSONデータを処理する
レシピ3.6 日付と時刻を扱う
レシピ3.7 オブジェクトをシリアライズする
レシピ3.8 Juliaをバックグラウンドプロセスとして使う
レシピ3.9 Microsoft Excelファイルを読み書きする
レシピ3.10 Featherデータを扱う
レシピ3.11 CSVファイルとFWFファイルを読み込む
4章 Juliaによる数値演算
はじめに
レシピ4.1 行列処理を高速化する
レシピ4.2 条件文のあるループの効率的な実行
レシピ4.3 完全実施要因計画の生成
レシピ4.4 級数の部分和によるπの近似
レシピ4.5 モンテカルロシミュレーションの実行
レシピ4.6 待ち行列の解析
レシピ4.7 複素数を用いた計算
レシピ4.8 単純な最適化を書いてみる
レシピ4.9 線形回帰で予測する
レシピ4.10 Juliaのブロードキャストを理解する
レシピ4.11 @inboundsを使って高速化する
レシピ4.12 ベクトルの集合から行列を作る
レシピ4.13 配列ビューを使って使用メモリ量を減らす
5章 変数、型、関数
はじめに
レシピ5.1 Juliaのサブタイプを理解する
レシピ5.2 多重ディスパッチで動作を切り替える
レシピ5.3 関数を値として使う
レシピ5.4 関数型でプログラミングする
レシピ5.5 変数のスコープを理解する
レシピ5.6 例外処理
レシピ5.7 名前付きタプルの使い方
6章 メタプログラミングと高度な型
はじめに
レシピ6.1 メタプログラミングを理解する
レシピ6.2 マクロと関数生成を理解する
レシピ6.3 ユーザ定義型を作ってみる -連結リスト
レシピ6.4 基本型を定義する
レシピ6.5 イントロスペクションを使ってJuliaの数値型の構成を調べる
レシピ6.6 静的配列を利用する
レシピ6.7 変更可能型と変更不能型の性能差を確認する
レシピ6.8 型安定性を保証する
7章 Juliaによるデータ分析
はじめに
レシピ7.1 データフレームと行列を変換する
レシピ7.2 データフレームの内容を確認する
レシピ7.3 インターネット上のCSVデータを読み込む
レシピ7.4 カテゴリデータを処理する
レシピ7.5 欠損値を扱う
レシピ7.6 データフレームを使って分割‐適用‐結合を行う
レシピ7.7 縦型データフレームと横型データフレームを変換する
レシピ7.8 データフレームの同一性を判定する
レシピ7.9 データフレームの行を変換する
レシピ7.10 データフレーム変換を繰り返してピボットテーブルを作成する
8章 Juliaワークフロー
はじめに
レシピ8.1 Revise.jlを用いてモジュールを開発する
レシピ8.2 コードのベンチマーク
レシピ8.3 コードのプロファイリング
レシピ8.4 コードのログを取る
レシピ8.5 JuliaからPythonを使う
レシピ8.6 JuliaからRを使う
レシピ8.7 プロジェクトの依存関係を管理する
9章 データサイエンス
はじめに
レシピ9.1 Juliaでデータベースを使う
レシピ9.2 JuMPを使って最適化問題を解く
レシピ9.3 最尤推定を行う
レシピ9.4 Plots.jlを使って複雑なプロットを描く
レシピ9.5 ScikitLearn.jlを使って機械学習モデルを作る
10章 分散処理
はじめに
レシピ10.1 マルチプロセスで計算する
レシピ10.2 リモートのJuliaプロセスと通信する
レシピ10.3 マルチスレッドで計算する
レシピ10.4 分散環境で計算する
索引
続きを見る