Professional Maxima
これから Maxima を使おうとする人にとって、ひょっとすると役に立つかもしれない文書を掲載しています。
お知らせ

[2008/9/21] 名案が浮かばないので、「Maxima Frontier」を正式名称にします。

[2008/8/23] 「今日の Maxima」と言う名称は既に使われているようですので、別の名称に変えようと思います。とりあえず「Maxima Frontier(仮)」で。

[2008/8/16] 新シリーズ「今日の Maxima」「Maxima Frontier(仮)」がスタートしました。

今後の予定
当面新シリーズ「Maxima Frontier」の充実に力を注ぎたいと思います。
Q and A
[Q] 内容は基礎なのになぜタイトルは Professinal Maxima なのですか。
[A] Mathematica のようなアマチュア用ソフトウェアと区別するためにプロフェッショナルとしました。
[Q] TeX ソースはどこにありますか。
[A] 現状での TeX ソースはあまりに稚拙なため公開していません。
[Q] かなりイタイ間違いを発見したのですが、どうすれば良いですか。
[A] そっとしておいてください。

◉ Professional Maxima
コメント
まだ改善すべき点は多々あると思いますが、Maxima の基本的な使い方をまとめた文書(俗に言う入門書)が一応完成したので公開します。
◉ Maxima Command Tour
  • macoto.pdf[2008/05/04](概ね 1.3 MB 前後)
コメント
コマンドリファレンス風文書「Maxima Command Tour」を作成中です。当分完成しそうにないので、作りかけのものをアップしておきます。内容だけでなくデザインも含め、あらゆる面で未完成です。未完成のため、印刷できないようにオーナー・パスワードを設定しています。どうしても印刷したい人はこのページのソースを参考にしてください。
◉ Maxima Frontier

[2010/02/26]単位分数分解 ..... 欲張りアルゴリズムによって、単位分数分解を求める関数を作成してみました。NEW

(%i2) unit_frac_decomp_g(7/101);
                                1    1     1
(%o2)                          [--, ---, ------]
                                15  379  574185

[2009/10/12]式の一部を抽出 ..... 式の中から、特定の部分を抽出する関数を作ってみました。

(%i2) 'integrate((x + 7) * log(x + 9) + sin(2 * x), x);
                     /
                     [
(%o2)                I ((x + 7) log(x + 9) + sin(2 x)) dx
                     ]
                     /
(%i3) pickup(%, log);
(%o3)                            [log(x + 9)]

[2009/08/30]平方完成 ..... 多項式を引数にとり、平方完成形を返す関数を作ってみました。

(%i2) f(x) := 3*x^2 - 4*x + 5;
                                       2
(%o2)                       f(x) := 3 x  - 4 x + 5
(%i3) elim_2nd(f(x), x);
                                       2 2   11
(%o3)                           3 (x - -)  + --
                                       3     3

[2009/08/05]恒等式 ..... 恒等式を解く(係数に未知数を含む恒等式に対して、その未知数を決定する)関数を作ってみました。

(%i2) (x - 1)*(2*x - 3) + A = B*(x + 2)*x + C*(x + 1);
(%o2)           A + (x - 1) (2 x - 3) = (x + 1) C + x (x + 2) B
(%i3) solve_identity(%, x);
(%o3)                    [[A = - 12, B = 2, C = - 9]]

[2008/08/21]極大・極小(2 変数の場合) ..... 2 変数関数の極値(極大・極小)を求めるバッチファイルを作ってみました。

(%i2) rmmpt_two(2*x - 4*y - x^2 - y^2);
Relative Maximum Point: 
                                  [1, - 2, 5]

(%o2)                                done

[2008/08/19]極大・極小(1 変数の場合) ..... 1 変数関数の極値(極大・極小)を求めるバッチファイルを作ってみました。

(%i2) rmmpt(x^3 - x^2);
Relative Minimum Point: 
                                    2    4
                                   [-, - --]
                                    3    27

Relative Maximum Point: 
                                    [0, 0]

(%o2)                                done

[2008/09/15]Monte Carlo 法 ..... 乱数を用いた数値積分法である Monte Carlo 法を用いて、円周率の近似値を計算してみました。

[2009/08/25]文字の出現頻度(一般化) ..... 前回(↓)作成した、アルファベットの出現回数を集計する関数を一般化し、アルファベット 2 文字(aa、ab、ac、ad、ae、...)の出現頻度を調べてみました。

[2008/09/09]文字の出現頻度 ..... 不思議の国のアリスとタイムマシンについて、文字の出現頻度を調べてみました。

[2008/09/07]Fibonacci 数(Binary Method) ..... Binary Method を用いて Fibonacci 数を求める関数を作ってみました。

[2008/08/31]Fibonacci 数(再帰呼び出し) ..... 再帰呼び出しを用いて Fibonacci 数を求める関数を作ってみました。

[2008/08/27]Simpon の公式 ..... Simpson の公式を導いてみました。

[2008/08/23]エラトステネスの篩 ..... エラトステネスの篩で素数表を作成し、それを利用して素因数分解する関数を作ってみました。

[2008/08/17]レプユニット ..... 素数レプユニットについて調べようと努力してみました。

[2008/08/14]Lucas テスト ..... Mersenne 数が素数か否かを判定する Lucas テストの実験です。

[2008/08/12]完全数 ..... Maxima を使って完全数を探そうとしてみました。

コメント
Maxima の利用例を掲載していこうとするシリーズです。いずれの文書も B5 用紙 2 ページ程度で、しかも、(幸か不幸か)高度な知識は全く不要なため、すぐに読むことが出来ます。
関数一式
Maxima Frontier の各文書で作成した関数を一つのファイルにまとめておきました。ご自由のご利用ください。【ダウンロード】(2010 年 2 月 26 日版)
おまけ
Maxima Frontier では、Maxima の処理を記述したファイル(素朴なマクロパッケージ)を掲載する際、listings.sty を用いています。好みの問題もあり、あまり参考にならないかもしれませんが、その方法を、簡単にまとめておきました。【ココをクリック】