世界を動かす技術を、日本語で。

ジュリアによる微積分

概要

  • Calculus with Julia は、Julia言語を使った微積分学習ノート
  • Julia はオープンソースで、簡単な構文と強力な計算能力を持つ
  • グラフ・数値・代数的視点を重視した「Harvardスタイル」の教育方針
  • 計算例や演習問題 が豊富で、自己採点形式の回答も用意
  • Quarto book 形式で公開、貢献や修正も歓迎

微積分学習ノート:Calculus with Julia 序文

  • Calculus with Julia は、Julia言語を活用した微積分の学習ノート
  • Julia は、オープンソースかつ習得しやすい構文を持つプログラミング言語
  • 「Getting started with Julia」セクションで、インストール方法やカスタマイズ手順を案内
  • 「Julia interfaces」セクションで、Juliaとの様々なインターフェース方法を解説
  • Harvardスタイル「4つの視点」 (グラフィカル・数値・代数・言語的)を重視
  • Juliaを使い、 グラフィカル・数値・一部代数的側面 を具体的に説明
  • Mathematica, Maple, Sage などのコンピュータ代数システム(CAS)との比較
  • WolframAlpha や Siri など、柔軟な非形式的構文での利用例
  • CASは代数的・記号的な処理を得意とし、数値的な側面も可視化
  • このノートでは主に 数値的計算 をJuliaで行い、代数的処理は補助的に導入
  • 手計算による記号的操作 の重要性も強調
  • 技術の活用 を重視し、言語仕様に煩わされず直感的な操作を目指す
  • Juliaの 自然な構文 により、電卓感覚で計算開始が可能
  • 計算概念を限定 し、入門微積分の多くの問題に十分対応
  • action(function, arguments...) 形式の関数呼び出しで計算を簡素化
  • 主要なアクションの組み合わせで、微積分の基本問題に対応可能
  • 各ページは 特定の概念に集中 し、書籍の章節のような構成
  • 各ページ末尾には 演習問題 と 自己採点式の回答 を用意
  • 参考文献 や他教材(Strang, Knill, Schey, Hass 他)からのアイデアを活用
  • CalculusWithJuliaパッケージ により、よく使う関数やパッケージを簡単に利用可能
  • ノートは Quarto book形式 で公開
  • Quartoで PDF化も可能 だが、最適化は不十分でファイルサイズは大きめ
  • PDF版のダウンロード も用意
  • 貢献歓迎 :「Edit this page」リンクからトピック追加や修正、誤字指摘が可能
  • @fangliu-tju による校正・誤り指摘への特別な謝辞
  • Juliaのインストール はjuliaupユーティリティなどで簡単
  • インストール手順は Juliaコマンドの概要 セクションに記載
  • Calculus with Julia バージョン0.27、2026年8月31日制作

Hackerたちの意見

大学のDSPコースのためにJuliaを始めたんだけど、いいイントロに出会ったよ。プログラミングの初めての紹介としては、ペースがすごく良いね!

└

教えてるのかな?大学のDSPモジュールでは、Matlabのポイント&クリックの演習だったよ。

(応用)数学を教えるなら、Julia以上の言語はないな。証明が関わるものにはLeanがいいけど、線形代数を教えるなら、構文だけでもJuliaを選ぶ理由になるよ。最適化、特にJuMPが扱うような分野では、他の言語よりもJuliaで教える方が楽だと思う。

└

「kind」じゃなくて「best*」って言いたかったんだ。

└

あなたがHNに2024年のJuliaの状況について投稿したから、知識があると思うし、もしかしたらその改善点について教えてくれるかもね。2022年のJuri Vishnevskyの長いディスカッションで表現された問題に関して、Juliaの改善点は何か気になるんだ。まあ、他の言語やツールも進化してるから、その点が問題だと思う。例えば、この投稿の著者が言ってたけど、「Symbolicsに移行するのはためらってる。微積分の具体的な部分(極限や積分)があまり競争力がないから。」

大学以外でJulia使ってる人いる?5年前にちょっと触ってみたけど、良い感じだったし、概念的にも面白かった。でも、学外での普及や話題は全然見なかったな。

└

ECMWFやASML、Pumas、JPMorgan Chaseなど、いろんな企業が使ってるってオープンに言われてるよ。俺は日常的に使ってるけど、職場では標準的な言語ではないんだ。

└

5年前にLessWrongの投稿で見たことがあるよ:https://www.lesswrong.com/posts/Y6TtPfcKiHjK9Bmoa/sleeping-j... それがHN以外でJuliaが言及された唯一の時だった。ML時代にはJuliaの自動微分にすごくワクワクしてたな。数学のバックグラウンドが弱いプログラマーが基本的な微積分を急にやらなきゃいけなくなったから(あの時代の開発者はチェーンルールが脳に焼き付いてる)。でも、MLコミュニティはPythonに落ち着いて、パフォーマンスが問題ならC++でライブラリを書いてた。結局、LLMのイベントホライズンに吸い込まれて、みんなLLMが最も良いトレーニングデータを持ってる言語で「コーディング」するようになった。

└

MicrosoftがVRハードウェア用に幾何光学パッケージを作ったって聞いたことあるよ。

└

これらの人たち、https://juliahub.com/case-studies

└

もう何年も毎日使ってるし、仕事でも使ってるよ。最近は、他の言語と共有できるライブラリとしてコンパイルできるから便利だね。言語としてもすごくプラグインしやすい(双方向で)。今のところ、相互運用性に関しては最高の言語の一つだと思うよ。

└

うん、いくつかの会社で使ったことあるよ。プロダクションでも全然問題なく動くし、アプリのどこかに数学的最適化が必要な場合や、カスタムでパフォーマンスの良いアルゴリズムを書く必要があるときに特に役立つよ。かなり柔軟性があって、Pythonのスクリプトみたいな動的コードにも使えるし、最適化されたデータパイプラインも書ける。サーバーとしても結構いい感じで動くし(最近は非同期処理も調子いいよ)。採用状況は分からないけど、確実に使えるよ。

Hacker Newsで議論の続きを見る