Maxima

行列の外積

Maximaには外積を与える関数が存在しないので定義しておく 縦3行の行列にしか対応していないが、まぁ基本的にはそれしかやらないので。 cross(x, y) := [x[2]*y[3] - x[3]*y[2], x[3]*y[1] - x[1]*y[3], x[1]*y[2] - x[2]*y[1]]; ・12/16追記 cross(x, y) :=…

Maximaで出力した式をCで使う(追記)

Maximaで出力した式をCで使う の続き。一体何を変換してくれているのかわからなかったけれど、 cform.lispの中身を読めばすぐだった。以下cform.lispより抜粋 '(($POW "pow") ($EXP "exp") (%SQRT "sqrt") (%SIN "sin") (%COS "cos") (%TAN "tan") (%ACOS "a…

Maximaで出力した数式をCで使う

Maximaで数式を出力したものをそのままCopyすると、2乗とかの部分が「^2」表記になってしまう*1。 これでは他のプログラムにぶち込もうにも対応していないので困っていたところ。 わざわざMaximaで式を出すっていうのは結構な長さの式の場合が多く、置換して…