WLJS Notebookを使ってWolfram言語を動かす
以前に、Wolfram EngineにJupyterでアクセスしたり、VisualBasicでアクセスして実行する方法を試しました。VisualBasicでは、VBのコードを書く必要があったので、簡易に使うにはJupyterかなと思っていたのですが、もっと簡単な方法を提供してくれている人がいたので、それについて書きますね。
それは「WLJS Notebook」です。「WLJS」はおそらく「Wolfram Language JavaScript」を指しているんだと思います(あくまでも想像)。
JavaScriptでWolfram Engineにアクセスして実行できるスタンアロンに近いノートブックをが実現されています。
開発したのは、ドイツ・アウグスブルグ大学のKirill Vasin氏というロシア出身の物理学者です。
これはかなり優れものです。
WLJSのページはこちら
結構頻繁にアップデートされていて、「この開発に彼は相当時間を使っているんだろうなー」と感じます。
Windowsで、ダウンロードして実行するまでを書きます。
Wolfram Engineは既にインストールされていて、Windowsで実行できる状態にあるとします。
これはつまり、Windowsのスタートメニューから「wolframscript (Wolfram Engine 13.x)」を選択すると、次の画面になることを指しています。
- まずは、WLJSのサイトからインストーラーをダウンロードします。画面の「Getting Started」をクリックします。
- Wolfram Engineのバージョンに注意してください。この記事を書いている時点では、13.0.1が推奨となっています。
-
少し下にスクロールするとインストーラーをダウンロードするリンクがあるので、今回は「Windows」を選択してダウンロードします。
(2024/12/18にダウンロードしたときには、v0.6.4だったのに、この記事の時点2023/12/26ではv0.7.0になっていました。かなり、頻度が高いです。ただ、アップデート機能があるので大丈夫 <<商用製品みたい)
- インストーラーをダブルクリックします。「認識されないアプリだよ」とWindows Defenderが怒ってきますが、ここはまずはアプリを信用するということで、「実行」します。
- インストール、セットアップしているときには、ずらずらとログが書きだされていきます。しばらく時間がかかるので、待ちます。ログ画面は、WLJSを実行中は閉じないので、終わったかどうか判断しにくいですが。
- インストールが終わると次の画面が表示されます。これがメイン画面です。もう動きます。
- 「File」->「New」を選択します。ファイル名は何かの辞書に基づいているのか、「xxxxxxd.wln」という名前がつけられます。
- 画面が次のようになります。「Type Wolfram Expression / .md / .html / .js」と書かれたところをクリックします。
- 入力プロンプトが表示されます。
-
単純な「1+1」ではつまらないので、Wolfram言語らしく全微分をしてみます。
Dt[a x + b, x]
-
セルの右側の三角マークをクリックします。きちんと答えが返ってきました。いい感じ。
- 次のセルに移るには「+」をクリックします。
-
グラフも書けるらしいので、次をやってみます。
Plot[Sin[x], {x, 0, 6 Pi}]
-
セルの右側の三角マークをクリックします。きちんと答えが返ってきました。いい感じ。
すぐに書けた。 -
VisualBasicの時にはうまく出力できなかった凡例はどうか。
Plot[{Sin[x], Sin[2 x], Sin[3 x]}, {x, 0, 2 Pi}, PlotLegends -> "Expressions"]
やはりこれは難しいか。前の時も思ったんですが、Wolfram Engine自体が受け付けていないのかも。
- 「PlotLegends」がなければ、うまく書けた。
-
できるとは書いてあるが、3Dのプロットはどうか。
Plot3D[Sin[x + y^2], {x, -3, 3}, {y, -2, 2}]
-
デフォルトの表示範囲は少し問題があるが、実は、Mathematicaのように回転や拡大縮小はできる。素晴らしい!(軸目盛がないのは、これを書かせるのはやはり厳しんだろうな。。。)
- さて、このノートブックを保存することはできるのか。
このコマンドでは、自動生成されたファイル名の「wln」ファイルに保存されます。
-
WLJSが「ローカルのWeb機能+JavaScript」という仕組みであるため、作成したwlnファイルを取得するには「ダウンロード」を行います。
(実は、実体をローカルから取り出すことも可能。場所は、「ユーザーのフォルダー>AppData>Roaming>wljs-frontend>Examples」にあります。)
このwlnファイルは、WLJS用で、ダブルクリックするとWLJSが起動します。Mathematicaのnb形式ではないのでMathematicaで開くことはできないようです。
いっぱい試してみたわけではないですが、数式的な処理であれば、それなりに使えるのではないかと思いました。まあ、Mathematicaの置き換えにはなりませんね。
本人も書いています。「何年にもわたり、何十人もの人が開発したソフトを置き換えるものを1人で開発できるわけはない」。まさしくその通り。