2023年2月23日木曜日

wolframscript

Wolfram Engine からの続き

ChatGPTは,因数分解ができないので,Wolfram Alphaと連携すればよいという話について。

ChatGPT数学が苦手である。Stephen Wolframもそう言っている。BingChatに聞いてみると,WolframAlphaのAPIを使う必要があるようだ…というかそんなことは先刻承知。それにはライセンスが必要なので少々ためらう。何か他の方法はないものかと眺めていると,wolframscriptというWolfram言語のコマンドライン版が見つかった。

とりあえずインストールしてみようと(すでに当初の目的から話がずれつつある),確かめてみれば,自分のMacBook Air M1には既にインストール済みだった。以前,JupyterでWolfram言語を使うためにWolfram Engineを導入した時にインストールしていたらしい。うかつなことだ。

最近,Mathematica本体を立ち上げるのが億劫な場合,コマンドラインでフリーのMathicsを使うことが多かった。ただ機能はかなり制限されている。今回,はじめて wolframscript を実行してみると,Mathicsよりは大分制限が少ないというか,インストール済みのMathematica 12.0 の機能がフルに使えるのかもしれない。そこで次のような単独で実行可能なスクリプトも組めるのだった。拡張子は .wls である

#!/usr/local/bin/wolframscript


(* ::Package:: *)


n=ToExpression[$ScriptCommandLine[[2]]]

Print[RandomInteger[{1,6},n^2]]

コマンドライン引数(文字列変数)が,$ScriptCommandLine[[2]]以下で取得できる。これを整数型に変換するために,ToExpression[] 関数を使った。これで,プログラム外から与えた変数に対して,Wolfram言語での処理が可能になる。

[2]WolframScript(Wolfram言語&システム ドキュメントセンター

0 件のコメント: