06. Maximaを活用する!


  
(1) はじめに
 数式をコンピュータを用い記号的に代数的に処理するソフトウェアの総称して数式処理システムComputer algebra systemCAS)といいます。一般的なコンピュータの計算が数値として処理するのに対して、数式処理システムでは、代数的処理が可能な範囲内で、代数的に処理します。最近のシステムでは、数値的な演算が可能なものも多く、統合計算システムと呼ぶに相応しいものも存在します。
 Maxima(マキシマ)は、プログラム言語Lispで記述されたフリーの数式処理システムの一つです。現在も活発に開発が続けられており、商用のMathematica と比べても劣らない機能や性能を持っています。このMaxima はマサチューセッツ工科大学のプロジェクトによって開発され、米国エネルギー省によって配布されていた Macsyma の1982年のバージョンに基づいています。 

(2) Maxima の機能
 Maxima は文法的にはALGOL に、意味的にはLisp にそれぞれ類似のプログラム言語を備えており、プログラミングや計算機代数の教育用としても使えるようになっています。他の数式処理システムと同様にMaxima も高度な記号処理機能を備えており、有理数や倍長整数や多倍長浮動小数点の演算を可能にしています。また、浮動小数点数や配列の処理をより効率の良いFORTRAN などで処理するためのプログラム書き出しもサポートされています。 
 
(4) Maxima のコマンドとその応用例 

   整数が素数か否かを即座に判定する関数や、ある整数と互いに素であるような整数の個数を求める関数などを利用します。
 
   ディオファントスの方程式 ax+by=c の特殊解 (x0,y0) と一般解 (x,y) を求める関数 dio(a,b,c) を作成します。 
 
 *3. 連分数展開について
   2の平方根 sqrt(2) や黄金比 (1+sqrt(5))/2 を連分数に展開します。
 
  *4. フィボナッチ数とその応用
   フィボナッチ数の紹介します。そして応用として、黄金螺旋にi近似した曲線を Maxima よるプログラムによって描きます。  
 
 *5. 高次方程式の解
   高次方程式の解を求める方法としては数値的解法代数的解法超越的解法があります。これらのうち、Maxima の対象となる方法は前者の 2 つについて考えます。
 
    円環面(トーラス)と呼ばれているドーナツ状の曲面をいろいろな視点から観察できるプログラムを紹介します
  
(5) おわりに
 このサイトで使用している数式処理ソフト Maxima は、下記の参考図書①付録CD-ROMから無償で入手してインストールしたものです。みなさんも、この機会に試してみてはいかがでしょうか。そして、プログラミングの醍醐味を味わってみてください。
 
【参考図書】
 ① 「はじめての数式処理ソフト_Maximaで楽しむ数式計算と物理グラフィック」(BLUE BACKS) 竹内 薫(著) 講談社
      【注】 この図書には、maxima-5.12.0 が収録されているCD-ROMが付いています。
 ② 「Maximaで学ぶコンピュータ代数」 赤間 世紀(著) 工学社
      【注】 この図書の「付録CD-ROM」には、本書のサンプル・プログラムが収録されています。
  ③ 「はじめてのMaxima」 横田 博史(著) 工学社
 

 
  プログラミング・数学教育・旅行アルバム・国際交流の記録・クラウドコンピューティング.など、多彩な内容がそろっています。
   あなたがご覧になりたい記事を見つけてください。  
 

【お願い】 私のホームページについて あなたのご感想をお寄せください。⇒ 【ご感想記入のページ】 (ここをクリックしてください。)