Macsyma(/ ˈ m æ k s ɪ m ə / ; 「Project MACのSYmbolic MAnipulator」)[1]は、現在でも広く使用されている最も古い汎用コンピュータ代数システムの1つです。もともとは1968年から1982年にかけてMITのProject MAC で開発されました。
1982 年、Macsyma はSymbolicsにライセンス供与され、商用製品となりました。1992 年、Symbolics Macsyma は Macsyma, Inc. に分社化され、同社は 1999 年まで Macsyma の開発を続けました。そのバージョンは、 MicrosoftのWindows XPオペレーティング システム で現在も利用可能です。
MIT Macsyma の 1982 年バージョンは、学術界や米国政府機関で引き続き利用可能であり、米国エネルギー省(DOE) によって配布されています。このバージョンである DOE Macsyma は、 Bill Schelterによって保守されていました。Maxima という名前で、1999 年にGPLの下でリリースされ、現在も積極的に保守されています。
発達
このプロジェクトは1968年7月にCarl Engelman、[2] William A. Martin (フロントエンド、式表示、多項式演算)、Joel Moses (簡約器、不定積分: ヒューリスティック/Risch)によって開始されました。Martinは1971年までプロジェクトを担当し、Mosesはその後10年間プロジェクトを運営しました。Engelmanと彼のスタッフは1969年にMITRE Corporationに戻るために去りました。[1]一部のコードは、Knut Korsvoldの簡約器など、以前の研究から来ています。[3] [4]その後、コア数学エンジンに大きく貢献したのは次の人々です。[5] Yannis Avgoustis (特殊関数)、David Barton (代数方程式の解法)、Richard Bogen (特殊関数)、Bill Dubuque (不定積分、極限、べき級数、数論、特殊関数、関数方程式、パターンマッチング、符号クエリ、Gröbner、TriangSys)、 Richard Fateman (有理関数、パターンマッチング、任意精度浮動小数点)、 Michael Genesereth (比較、知識データベース)、Jeff Golden (簡約器、言語、システム)、 RW Gosper (定和、特殊関数、簡約、数論)、Carl Hoffman (一般簡約器、マクロ、非可換簡約器、 MulticsおよびLispMへの移植、システム、ビジュアル方程式エディタ)、Charles Karney (プロット)、John Kulp、Ed Lafferty (常微分方程式の解法、特殊関数)、Stavros Macrakis (実部/虚部、コンパイラ、システム)、Richard Pavelle (指示テンソル計算、一般相対論パッケージ、常微分方程式と偏微分方程式)、David A. Spear ( Gröbner )、[6] [7] Barry Trager (代数積分、[8] 因数分解、Gröbner [9] )、 Paul S. Wang (多項式因数分解とGCD、複素数、極限、定積分、FortranとLaTeXコード生成)、David YY Yun (多項式GCD)、ゲイル・ザカリアス(グレブナー)[9] [10] 、リッチ・ジッペル(冪級数、多項式因数分解、数論、組合せ論)。
Macsyma はMaclispで書かれており、場合によっては、数値計算、効率的なコンパイル、言語設計の分野でLispのこの方言を改良する主な動機となりました。Maclisp 自体は主にPDP-6 および PDP-10コンピュータで実行されましたが、Multics OSおよびLisp Machineアーキテクチャでも実行されました。Macsyma は、当時の Lisp プログラムの中でも最大規模 (最大規模) の 1 つでした。
商業化
1979年、当時カリフォルニア大学バークレー校の教授だったリチャード・フェイトマンの要請に応えて、MITはMacsymaコードの暫定ライセンスを提供した。これは、フェイトマンのグループが書いたMaclispの方言であるFranz Lispを使用した新しいVAX-11/780コンピュータですぐに利用された。MITは、適切なライセンスの交渉が完了したらライセンスを取り消すという条件で、カリフォルニア工科大学を皮切りに、バークレー校のVAX Macsymaのバージョンを約50の大学に渋々ライセンスした。実際、これはSymbolicsとの交渉が完了したときに起こった(下記参照)。Symbolicsは、VAXが自社のLispマシンと競合するハードウェアであったため、VAX製品のライセンスに消極的で、そのため5年間VAXソフトウェアを抑制した。カリフォルニア大学バークレー校は、Motorola 68000ベースのシステム、特にSunワークステーションにMacsymaのコピーを導入した。Symbolicsは、これらも抑制した。同時に、Fateman は Macsyma の (現在は取り消されている) 一時ライセンスをより永続的なものに変更する作業に取り組みました。
最終的に、 1982年に米国エネルギー省はMITに対し、高価格と再配布禁止の制限を主張することを認めつつ、コピーを国立エネルギーソフトウェアセンター(NESC)ライブラリに公開するという要件を課しました。これは、Symbolicsへの技術移転を保護することを意図していました。(このような制限は2002年頃に解除されました。)このいわゆるDOE Macsymaは、MITでNIL lispと呼ばれるCommon Lisp以前の方言で書き直され、Berkeley VAX Unixが一般的であった学術界では人気のないシステムであるVAX/VMS上に不完全に実装されていました。DOE Macsymaは、ずっと後のオープンソースのMaximaシステムの基礎となりました。
1981年、モーゼスと、MITのスタッフでありMacsymaを工学や科学に応用することを提唱していたリチャード・パヴェルは、Macsymaを商用化する会社を設立しようとした。パヴェルはMacsymaを使った科学論文を多数執筆していた。論文を手に、パヴェルとモーゼスは、Macsymaのスタートアップ企業への資金提供に関心を示したいくつかのベンチャーキャピタル企業にアプローチした。潜在的な取引が最終決定に近づく中、MITは突如、MITの職員がMITの開発から直接利益を得るべきではないと決定した。1982年初頭、MacsymaはMITからArthur D. Little , Inc. (ADL)にライセンス供与され、同社はMacsymaのブローカーとなり、1982年後半にはすぐにSymbolicsにMacsymaのライセンスを供与した。モーゼスはADLによって退陣させられ、パヴェルはSymbolicsのMacsyma部門の責任者となった。Symbolicsがコードに興味を持っているのではなく、Lisp Machineビジネスの競合企業であるLMIのソフトウェアカタログからMacsymaを排除することに興味を持っていることは明らかだった。 Symbolics と Arthur D. Little の間のビジネス契約では、Macsyma の総売上の 15% を ADL にロイヤルティとして支払うことが義務付けられていました。このロイヤルティにより、MIT と ADL は MACSYMA の繁栄を望んでいるのではないかという憶測が広まりました。Macsyma の開発は Symbolics で継続されましたが、Macsyma の売上とLisp マシンの売上を合わせた売上が 2 年以内に Symbolics の総売上の 10% に達したにもかかわらず、Symbolics は Lisp マシンの販売を主な事業と見なしていました。Symbolics の多くの人々の抵抗にもかかわらず、Macsyma は80 年代前半から中頃に 、バークレーのFranz Lisp を使用するDEC VAX コンピュータと Sun ワークステーション向けにリリースされました。
しかし、Symbolics 社以外のコンピュータでの Macsyma の販売をめぐる問題が、最終的に Macsyma の売上の減少につながりました。1986 年前半、Macsyma の売上は、成長産業であるにもかかわらず、1985 年前半よりも低くなりました。Wolfram社の SMP プログラムとWaterloo Maple は、この時点で成長していましたが、記号数学では MACSYMA がこれらの他のパッケージをはるかに上回っていました。
Pavelle は 1986 年の初めまで Symbolics で Macsyma 部門を運営していました。1986 年後半、売上を削減し Symbolics の従業員との対立を避けるため、Richard Petti が Macsyma 事業のマネージャになりました。Macsyma は人員を削減しましたが、営業部隊とマーケティングを拡大し、顧客が求める機能に開発者をより集中させました。(たとえば、1970 年代に MIT で実装された Spear-Zacharias ( Gröbner ) 基底アルゴリズムは、1987 年まで Macsyma の出荷版には搭載されませんでした。) 1987 年には、Macsyma の年間収益はほぼ 2 倍になりました。MACSYMA はよりユーザーフレンドリになりました。ドキュメントとオンラインヘルプが再編成され、拡張されました。一部のコマンド名はより覚えやすいものに変更されました。システムは Common Lisp に移植されました ( Kent M. Pitmanによる)。ペティは、シンボリックスの経営陣に対し、Macsyma は「戦略的事業部門」であり、その業績と潜在力に基づいて資金を投入すべきであり、主力のワークステーション事業の見通しに基づいて資金を投入すべきではないと主張した。しかし、シンボリックスは、この急成長期の後に Macsyma の人員を削減した。シンボリックスは、自社の 30 倍の規模を持つワークステーション事業の損失を補填するために、Macsyma を小さなドル箱として利用しようとした。
Macsyma の最大の製品的弱点は数値解析であった。記号計算をマスターするのは至難の業であったが、はるかに大きなエンジニアリング市場やローエンドの科学市場でシェアを獲得するには数値解析能力が不可欠であった。 MIT では Macsyma は IMSL (現在はPerforce Softwareの製品) 数値ライブラリへのリンクを持っていたが、Macsyma が Symbolics に移管された際にこのリンクは切断された。Symbolics の Lisp 開発者は一般に数値解析は Lisp アプリケーションには重要でない古い技術であると信じていたため、それに投資することを拒否した。Macsyma ( PC版) の倍精度演算は Fortran の約 6 倍遅かった。また、Macsyma の行列はリストのリストとして実装されていたため、主要なアルゴリズムの速度がさらに 5 ~ 10 倍低下した。Macsyma にはLU 分解などの数値線形代数の基本的なアルゴリズムがあまりなかった。
1987年から1988年にかけて、MacsymaグループはGold Hill Lispを使ってPC Macsymaを作ろうとした。(それ以前に、SymbolicsはLispマシンの販売との競合を避けるため、標準コンピュータ用のLispコンパイラを作る自社のプロジェクトを中止していた。これは議論を呼ぶ動きで、一部の報告によると、経営陣の承認なしに行われた。Symbolicsは同じ理由で、SunのワークステーションでLispを利用できるようにするためのSunとの協力も断った。) Gold Hill Lispは不安定すぎ、その脆弱なアーキテクチャのため、Gold Hillはバグを解消できなかった。これはMacsymaにとって致命的な失敗だった。つまり、1988年半ばにAppleコンピュータでMathematicaが登場したとき、MacsymaはPCで対応できなかったのだ。Macsymaは、 SymbolicsのCLOE Lispを使って1989年8月にWindows PCで登場した。しかし、Macsymaのスタッフは少人数すぎ、 Mathematicaのようなグラフィックス、ノートブックインターフェイス、より優れた数値計算機能を追加するために必要なスキルの組み合わせが不足していた。
1989 年までに、Symbolics が貧弱な製品戦略のために内部崩壊し、Macsyma もそれに巻き込まれることは Petti にとって明らかでした。(製品の問題: (1) Symbolics のソフトウェアは MIT クラスのソフトウェア開発者向けに設計されており、他者への十分な譲歩がされていませんでした。(2) Symbolics の世界クラスのソフトウェアは、非常に高価なハードウェアに依存していたため、市場でのシェアを失っていました。(3) 1980 年代半ばにVLSIハードウェアに移行した際、Symbolics は 36 ビットワード サイズから40 ビットに変更しましたが、この変更の膨大な開発コストは市場に正当化されませんでした。) Macsyma は MIT の協力が得られなかったため、買収チームを編成できませんでした。1986 年以来、製品問題についてかなり沈黙を守っていた Petti は、1988 年後半に Symbolics にソフトウェアのみの戦略またはボード レベルの戦略を採用するよう説得しようとしましたが、4 年間で 4 人目の社長はそれを聞き入れませんでした。1990 年に Petti は Symbolics を離れ、新興企業に転職しました。
マクシマ株式会社
Macsyma, Inc. は、1992年にRussell Noftsker (会長、 Symbolicsの共同設立者) と Richard Petti (社長、Symbolics で Macsyma を一時期立て直した人物) によって、資金を集め、経営難に陥っていた Symbolics から Macsyma の権利を購入して設立されました。[11]市場は急速に成長していましたが、1991年と1992年初頭の Macsyma の売上は依然として急速に落ち込んでいました。記号数学ソフトウェアにおける Macsyma の市場シェアは、1987年の 70% から 1992 年には 1% に落ち込んでいました。1993年までに市場の成長は鈍化し、市場はMathematicaと Maple に標準化されました。1990年代を通じて、競合他社の開発スタッフは Macsyma Inc. の 4~8 倍に上りました。
1995年初頭、同社は多くの改良を加えたMacsyma 2.0.5を出荷した。Westerの大規模な記号計算テストでは、Macsyma 2.0.5はMapleより10%、Mathematicaより15%優れたスコアを記録した。[12] Macsyma 2.0.5は数値計算がまだ非常に遅かったが、数値解析と線形代数ルーチンのポートフォリオが大幅に強化された。(1996年にMacsymaはLAPACKを追加し、ほとんどの数値線形代数の速度が大幅に向上した。)
当時の開発チームには、Jeff Golden (言語、コンパイラなど)、Bill Gosper (特殊関数、合計)、Howard Cannon (ユーザー インターフェイス、最適化)、および数名のコンサルタントが含まれていました。Bill Dubuque は、積分、方程式の解決、データベース、および最適化に取り組みました。Christopher Stacy と David H. Wood は、MATLABの言語と行列機能を追加しました。他の開発者は、数値解析、グラフィックス、およびヘルプ システムに大きく貢献しました。
同社は、4 ~ 8 倍の規模のスタッフを擁する企業をいつまでも凌駕し、市場の勢いを逆転させることはできませんでした。競合他社がすべての主要顧客を固め、新製品への切り替えには学習時間というコストがかかり、市場の成長が鈍化したため、市場シェアは 2% を超えて増加しませんでした。また、1992 年または 1993 年から、Mathsoft は1,000 万ドルを非常に低価格のダイレクト メールに費やす戦略を採用し、記号数学市場の残りの成長の多くを獲得しました。ちょうど Macsyma Inc. が世界クラスの製品の再構築に苦戦していたときでした。
1999年、Macsymaは、以前にSymbolicsを買収していた持株会社Tenedos LLCに買収された。持株会社はMacsymaを再リリースまたは再販していないが、MacsymaはSymbolicsによってWindows XPまでのMicrosoft Windowsバージョン向けに配布され続けている。[13]
利用可能なバージョン
また、 Maximaと呼ばれるGPLライセンスのバージョンもあります。これはDOE Macsyma の 1982 バージョンに基づいており、その後William Schelterによって Common Lisp 用に改良され、機能強化されました。現在も開発が進められており、いくつかのCommon Lispシステムでコンパイルできます。Linux、Microsoft Windows、Mac OS Xおよびその他のシステム用のダウンロード可能な実行可能ファイル(グラフィカル ユーザー インターフェイスを含む) が利用可能です。 Maxima には、1982 年から 1999 年までの商用開発期間中に追加された多数の機能の多くは含まれていませんが、現在の無料のオープン コードベースには多数の追加機能、いくつかの代替フロント エンドが含まれており、いくつかの Common Lisp エンジンで動作します。これにより、Macsyma と Maxima の間には互換性がない部分がありますが、Macsyma 代数言語で書かれたプログラムは、わずかな変更を加えるだけで、どちらのシステムでも実行できることがよくあります。
1982 年頃の ITS Macsyma が利用可能で、ほとんどのファイルはMAXSRCというディレクトリに収められています。
参考文献
- ^ ab Moses, Joel (2008 年 5 月)。「Macsyma: 個人史」(PDF)。コンピュータ代数のマイルストーン。ジョエル・モーゼス(2012)「Macsyma:個人史」、Journal of Symbolic Computation、47(2):123–130、doi:10.1016/j.jsc.2010.08.018も参照。
- ^ 「Carl Engelman Memorial Fund」(PDF)。The FINITE STRING Newsletter。American Journal of Computational Linguistics、第9巻、第3-4号、1983年7月~12月。2003年4月28日時点のオリジナル(PDF)からアーカイブ。
- ^ Richard J. Fateman、「MACSYMA の一般簡略化: 哲学と操作」、Macsyma ユーザーズ カンファレンス1979 全文、セクション 2
- ^ Knut Korsvold、「非数値代数のためのオンラインプログラム」、SYMSAC '66記号および代数操作に関する第 1 回 ACM シンポジウムの議事録、 p. 1301-1314 doi :10.1145/800005.807963
- ^ Maccone, Claude (2012). 数学的 SETI: 統計、信号処理、宇宙ミッション。Springer。p. 75。ISBN 978-3-642-27436-7。
- ^ Spear, David (1977 年 7 月)。「可換環理論への構成的アプローチ」。1977 年 MACSYMA ユーザーズ カンファレンスの議事録。
- ^ Mora, Teo (2005) 第 26 章 Spear、多項式方程式システムの解法 II: Macaulay のパラダイムと Gröbner テクノロジー。ISBN 9780521811569。
- ^ Trager, Barry (1984). 代数関数の積分。博士論文、MIT、ケンブリッジ、MA (論文)。マサチューセッツ工科大学。hdl : 1721.1/15391。
- ^ ab Gianni, Patrizia ; Trager, Barry; Zacharias, Gail (1988). 「グレブナー基底と多項式イデアルの一次分解」Journal of Symbolic Computation . 6 (2–3): 149–167. doi :10.1016/S0747-7171(88)80040-3.
- ^ ザカリアス、ゲイル (1978 年 6 月)。「可換多項式環の一般化されたグレブナー基底」。MIT、マサチューセッツ州ケンブリッジの学士論文。
{{cite web}}:欠落または空|url=(ヘルプ) - ^ Maccone, Claudio (2012-08-30). 数学的 SETI: 統計、信号処理、宇宙ミッション。Springer Science & Business Media。ISBN 9783642274374。
- ^ 「CA システムの数学的能力の批評」。ウェスターの1995年のレビューと1999年のレビュー
- ^ Macsyma ホームページ、http://www.symbolics-dks.com/Macsyma-1.htm
外部リンク
- リチャード・ペティによる商用 Macsyma の歴史の要約 2003 年 10 月 30 日
- マクシマ・サーガ リチャード・ペティ、2003年11月2日
- シンボリックス・マクシマ
