言語エンジンeng_langの環境設定

HOME <- system("echo ${HOME}", intern=T)
setup_file <- paste(HOME,"/bin/eng_lang_setup.R",sep="")  
source(setup_file)
## === knitr, (reticulate,) eng_lang are go. ===

1. maxima の実行例

(linel:70)$                  /* 行長を指定(コメント例) */
exp1 : (x+y)^2;              /* 式の定義 */
exp2 : expand(exp1);         /* 式exp1を展開 */
(display2d:false)$           /* 表示形式の変更 */
factor(exp2);                /* 式exp2を因数分解 */
solve(x^2-2*x-1=0,x);        /* 2次方程式の求解 */
solve([a*x+b*y=e,c*x+d*y=f],[x,y]);  /* 連立方程式の求解 */
/* 作図例 */
draw2d(   terminal='png, file_name="test1_files/fig1",
          title="Two simple plots",
          xlabel="x",ylabel="y",grid=true,

          color=red,key="A sinus",
          explicit(sin(x),x,1,10),
          color=blue,line_type=dots,key="A cosinus",
          explicit(cos(x),x,1,10)
)$
## ~/bin/go TMP/tmp_lang/chunk-1.mx  > TMP/tmp_lang/chunk-1.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-1.mx")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-1.mx
## linel:70
## exp1:(x+y)^2
##                                       2
##                                (y + x)
## exp2:expand(exp1)
##                             2            2
##                            y  + 2 x y + x
## display2d:false
## factor(exp2)
## (y+x)^2
## solve(x^2-2*x-1 = 0,x)
## [x = 1-sqrt(2),x = sqrt(2)+1]
## solve([a*x+b*y = e,c*x+d*y = f],[x,y])
## [[x = -(d*e-b*f)/(b*c-a*d),y = (c*e-a*f)/(b*c-a*d)]]
## draw2d(terminal = 'png,file_name = "test1_files/fig1",
##        title = "Two simple plots",xlabel = "x",ylabel = "y",
##        grid = true,color = red,key = "A sinus",
##        explicit(sin(x),x,1,10),color = blue,line_type = dots,
##        key = "A cosinus",explicit(cos(x),x,1,10))
## "/var/www/html/LANG/TMP/tmp_lang/chunk-1.mx"
test1_files/fig.pngのグラフ
test1_files/fig.pngのグラフ

on3ライブラリー

2. ライブラリ on3lib の呼び出しとヘルプ-1

batchload("/home/inoue/.maxima/max-init.mac")$
on3lib(21);   /* on3ライブライリーの呼び出し */
on3help();  /* ヘルプ */
if false then (
  functions  /* on3ライブラリの関数一覧 */
  )$
if false then (
  print("--- 1. on3simp_ex ---------"), on3simp_ex(),
  print("--- 2. on3std_ex ----------"), on3std_ex(),
  print("--- 3. on3decomp_ex -------"), on3decomp_ex(),
  print("--- 4. on3ev_ex -----------"), on3ev_ex(),
  print("--- 5. on3diff_ex ---------"), on3diff_ex(),
  print("--- 6. on3integ_ex --------"), on3integ_ex(),
  print("--- 7. on3solve_ex --------"), on3solve_ex(),
  print("--- 8. on3dim2_uni2 -------"), on3dim2_uni2('noplot,'noview),
  print("--- 9. on3dim2_exp2 -------"), on3dim2_exp2('noplot,'noview),
  print("---10. on3pw_ex -----------"), on3pw_ex()
)$
## ~/bin/go TMP/tmp_lang/chunk-2.mx  > TMP/tmp_lang/chunk-2.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-2.mx")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-2.mx
## batchload("/home/inoue/.maxima/max-init.mac")
## file_search1: /home/inoue/.maxima/max-init.mac not found in file_search_maxima.
##  -- an error. To debug this try: debugmode(true);
##                   /var/www/html/LANG/TMP/tmp_lang/chunk-2.mx

3. on3env() : on3ライブラリーのロードとlispファイルの書き出し

batchload("/home/inoue/Maxlib-20/on3lib21.mx")$   
on3env()$
on3('ex)$
max_save()$ /* lisp ファイル /tmp/max_save.lisp に書き出す */
## ~/bin/go TMP/tmp_lang/chunk-3.mx  > TMP/tmp_lang/chunk-3.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-3.mx")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-3.mx
## batchload("/home/inoue/Maxlib-20/on3lib21.mx")
## on3env()
## --  <on3env>  logbegin -- 
##     maxima_tempdir = TMP/tmp_maxima  figs_dir = figs 
## on3('ex)
##  === on3('ex) : on3 関数の使用例 === 
## ▼ 基本動作 
## ★ ◎  on3(0,1,3,co) = 0  
## ★ ◎  on3(1,1,3,co) = 1  
## ★ ◎  on3(3,1,3,co) = 0  
## ★ ◎  on3(x,1,3,co) = on3(x,1,3,co)  
## ★ ◎  on3(3,1,b,co) = on3(3,1,b,co)  
## ★ ◎  on3(x,minf,inf,oo) = on3(x,minf,inf,oo) 
##      <- ( = 1 であるが,on3decomp()の仕様のため無処理とする) 
## ▼ inf/minf の取扱 
## ★ ◆ 不一致 ◆ on3(inf,1,inf,co) 
##     = 0 
##  <- ans = 1 
## ★ ◎  on3(inf+1,1,inf,co) = 0  
## ▼ 変数式の取扱 
## ★ ◎  on3(a,a-1,a+3,co) = 1  
## ★ ◎  on3(a+3,a-1,a+3,co) = 0  
## ★ ◎  on3(t-u,t-u,(-u)+t+3,co) = 1  
## ★ ◎  on3((-u)+t+3,t-u,(-u)+t+3,co) = 0  
## ▼ on3()関数のリスト変換,eval評価 
## ★ ◎  on3(x^2,1,4,co,list) = [on3,x^2,1,4,co]  
## ★ ◎  on3(x^2,1,4,co,eval) = on3(x,1,2,co)+on3(x,-2,-1,oc)  
## ★ ◎  on3(log(x),1,2,cc,eval) = on3(x,%e,%e^2,cc)  
## ★ ◎  on3(sin(x),1/2,1,cc,eval) = on3(x,%pi/6,%pi/2,cc)  
## ★ ◎  on3(sin(2*x+%pi/4),1/2,1,oo,eval) = on3(x,-%pi/24,%pi/8,oo)  
## max_save()
## save("/tmp/max_save.lisp", all) 
## "/var/www/html/LANG/TMP/tmp_lang/chunk-3.mx"
  • 注:上記の実行結果の前に◎印があるものは,実行結果が作成者の意図した結果に一致することを示す。一致しない場合は,作成者の意図した結果を ans = … で示す。

4. 関数 on3() : 区間の定義と判定

on3()$
on3('ex)$
## ~/bin/go TMP/tmp_lang/chunk-4.mxl  > TMP/tmp_lang/chunk-4.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-4.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-4.mxl
## on3()
##      --on3('help)--
##      機能: 変数zが不等式 zl <= z < zr (lc=co) のとき1を返しそのたのとき0を返す
##      文法: on3(z,zl,zr,lr,...)  lrは開(o)閉(c)を表す. 追加引数としてlist,evalが可能
##      例示: 
##      on3(z,zl,zr,co);  変数zが不等式 zl <= z < zr のとき1を返しそのたのとき0を返す
##      on3(0,1,3,co);           -> 0    on3(1,1,3co) -> 1  on3(3,1,3,co) -> 0
##      on3(2,1,3,co);           -> 1
##      on3(x,1,3,co);           -> on3(x,1,3,co)  判定不能の場合は定義式を返す
##      on3(a,a-1,a+3,co);       -> 1
##      on3(x^2,1,4,co,list);    -> [on3,x^2,1,4,co]      (リスト形式に変換)
##      on3(log(x),1,2,cc,eval); -> on3(x,%e,%e^2,cc)     (evalによる評価変換)
##      メモ: findstr('on3) -> on3 を含む関数名一覧を標示する 
##      --end of on3('help)--
##       
## on3('ex)
##  === on3('ex) : on3 関数の使用例 === 
## ▼ 基本動作 
## ★ ◎  on3(0,1,3,co) = 0  
## ★ ◎  on3(1,1,3,co) = 1  
## ★ ◎  on3(3,1,3,co) = 0  
## Maxima encountered a Lisp error:
##  Condition in MEVAL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-4.mxl"

5. 関数 on3simp() : on3()関数の積の簡約化

on3simp()$
on3simp('ex)$
## ~/bin/go TMP/tmp_lang/chunk-5.mxl  > TMP/tmp_lang/chunk-5.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-5.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-5.mxl
## on3simp()
##    --begin of on3simp('help)--
##    機能: on3(z,zl,zr,lr) 関数の積に関する簡約化(簡約化規則 on3rule2 を使用する)
##    文法: on3simp(on3()の積)
##    例示: on3simp(x * on3(x,0,3,co) * on3(x,0,3,co))          -> x*on3(x,0,3,co)
##          on3simp(x* on3(x,minf,3,co) * x^2 * on3(x,2,4,co)) ->  x^3*on3(x,2,3,co)
##          on3simp(x^3 * on3(x,0,3,co) / (x*on3(x,1,5,co)))   ->  x^2*on3(x,1,3,co) 
##          on3simp(1/(f1*on3(x,1,5,co) + f2*on3(x,2,8,co)) * on3(x,3,10,co)) 
##           -> on3(x,3,10,co)/(f2*on3(x,2,8,co)+f1*on3(x,1,5,co))
##    --end of on3simp('help')--
##    
## on3simp('ex)
## --begin of on3simp('ex)-- 
##  例.on3関数の積/商の簡約化 
## Maxima encountered a Lisp error:
##  Condition in MEVAL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-5.mxl"

6. 関数 on3std() : on3()関数の標準化

on3std()$
on3std('ex)$
## ~/bin/go TMP/tmp_lang/chunk-6.mxl  > TMP/tmp_lang/chunk-6.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-6.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-6.mxl
## on3std()
##    --begin of on3std('help)--
##    機能: 式から指定変数に関するon3標準型(微分・積分可能な多項式)表現を返す
##          R1: 非on3式(on3none) → 無処理
##          R2: on3単項式(on3monoone,on3mono) → 無処理
##          R3: on3多項式(on3poly) → 定数項 f0 があれば f0*on3(x,minf,inf,oo) とする
##          R4: on3有理式(on3inv,on3polyinv) → on3排他的区分分解形(on3多項式になる)を返す
##    文法: on3std(expr,var,...)
##    例示: on3std(expr) (1変数の場合) on3std(expr,var) (2変数以上の場合)
##    --end of on3std('help')--
##    
## on3std('ex)
## --begin of on3std('ex)-- 
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-6.mxl"

7. 関数 on3typep() : 式からon3式タイプを調べ結果を返す

on3typep()$
on3typep('ex)$
## ~/bin/go TMP/tmp_lang/chunk-7.mxl  > TMP/tmp_lang/chunk-7.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-7.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-7.mxl
## on3typep()
##    --begin of on3typep('help)--
##    機能: 式からon3式タイプを調べ結果を返す 
##         on3noe(非on3式), on3monoone(on3単項式,関数部1), on3mono(on3単項式),
##         on3inv(on3分数式), on3poly(on3多項式), on3polyinv(on3有理式),
##         on3unknown(その他のon3式),
##    文法: on3typep(expr,...)
##    例示: 
##    --end of on3typep('help')--
##    
## on3typep('ex)
## --begin of on3typep('ex)-- 
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-7.mxl"

8. 関数 on3info() : expr に含まれる変数varの関数on3(var…)の情報をリストで返す

on3info()$
on3info('ex)$
## ~/bin/go TMP/tmp_lang/chunk-8.mxl  > TMP/tmp_lang/chunk-8.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-8.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-8.mxl
## on3info()
##    --begin of on3info('help)--
##    機能: expr に含まれる変数varの関数on3(var...)の情報をリストで返す
##         結果のリストはoutLev()で取り出せる.
##         on3多項式を前提とするため,定数項が存在する合も考慮されている(変数毎のon3stdの機能を有する)
##         引数に'std がある場合は指定された変数に関する標準化の結果を返す
##         expr が on3有理式の場合は on3decomp21(expr,x,[仮定1,...]) によりon3多項式化を得る.
##    文法: on3info(expr,x,...) or on3info(expr)
##         on3info(expr,x,'factor), on3info(expr,x,'std)
##    例示: on3info(f1*log(x)*on3(x,1,2,co)+f0, x,'std)
##         -> f0*on3(x,minf,1,oo) + (f0+f1)*on3(x,1,2,co) + f0*on3(x,2,inf,co) (標準化)
##    --end of on3info('help')--
##    
## on3info('ex)
## --begin of on3info('ex)-- 
## ---begin of on3info_ex--- 
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-8.mxl"

9. 関数 on3decomp() : on3一般式の排他的分解処理(端点は数値のみ, 多変数対応)

on3decomp()$
on3decomp('ex)$
## ~/bin/go TMP/tmp_lang/chunk-9.mxl  > TMP/tmp_lang/chunk-9.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-9.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-9.mxl
## on3decomp()
##    --begin of on3decomp('help)--
##    機能: on3一般式の排他的分解処理全般
##    文法: on3decomp(expr,...)
##    例示: on3decomp(on3(x,1,2,co)+f0) = 
##           f0*on3(x,minf,1,oo)+f0*on3(x,2,inf,co)+(f0+1)*on3(x,1,2,co) 
##         on3decomp(1/(on3(x,1,2,co)+f0)) = 
##           on3(x,minf,1,oo)/f0+on3(x,2,inf,co)/f0+on3(x,1,2,co)/(f0+1)  
##    --end of on3decomp('help')--
##    
## on3decomp('ex)
## --begin of on3decomp('ex)-- 
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-9.mxl"

10. 関数 on3decomp_one() : 端点は数値のみ, 1変数毎 → on3decompm に吸収予定

on3decomp_one()$
on3decomp_one('ex)$
## ~/bin/go TMP/tmp_lang/chunk-10.mxl  > TMP/tmp_lang/chunk-10.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-10.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-10.mxl
## on3decomp_one()
##    --begin of on3decomp_one('help)--
##    機能: 変数毎の逐次排他的領域分解:特定変数に着目したon3()関数の排他的領域分解を行う.
##         引数に'invが指定されると結果の逆数が返される.
##    条件: 指定した特定変数に関する端点はすべて数値で大小関係は既知とする.
##          on3info(expr,var,'std)処理済み
##    文法: on3decomp_one(on3func,var,...)
##    例示: 
##         ex : f1(x)*on3(x,1,3,co) + f2(x)*on3(x,2,5,co)
##         -> f(x,xf) : f1(x)*on3(xf,1,3,co) + f2(x)*on3(xf,2,5,co)
##         端点 minf---1---2---3---5---inf
##         -> f1(x)*on3(xf,1,2,co) + (f1(x)+f2(x))*on3(xf,2,3,co) + f2(x)*on3(xf,3,5,co)
##         -> 1/f1(x)*on3(xf,1,2,co) + 1/(f1(x)+f2(x))*on3(xf,2,3,co) + 1/f2(x)*on3(xf,3,5,co)
##             ('inv が指定された場合)
##         端点の開閉
##         ev(f(x,xf),xf=1)=f1(x), ev(f(x,xf,xf=1.5)=f1(x), ev(f(x,xf),xf=2)=f1(x)+f2(x) 
##         -> on3(xf,1,2,co)
##         ev(f(x,xf),xf=2)=f1(x)+f2(x), ev(f(x,xf,xf=2.5)=f1(x)+f2(x), ev(f(x,xf),xf=3)=f2(x) 
##         -> on3(xf,2,3,co)
##         ev(f(x,xf),xf=3)=f2(x), ev(f(x,xf,xf=4)=f2(x), ev(f(x,xf),xf=5)=0 
##         -> on3(xf,3,5,co)
##    --end of on3decomp_one('help')--
##    
## on3decomp_one('ex)
## --begin of on3decomp_one('ex)-- 
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-10.mxl"

12. 関数 on3decomp21() : 変数毎の排他的区間分解(未定端点:仮定の設定,on3有理式まで対応)

on3decomp21()$
on3decomp21('ex)$
## ~/bin/go TMP/tmp_lang/chunk-12.mxl  > TMP/tmp_lang/chunk-12.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-12.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-12.mxl
## on3decomp21()
##    --begin of on3decomp21('help)--
##    機能: 指定変数varに関するon3(var,,,,)関数式の排他的区分分解を変数var毎に試みる
##          on3有理式,未定端点に対応する, 特異点(分母が零になる点), 特異区間に対応
##          比較 : on3decomp()は未定端点無しの場合に多変数領域の排他的領域分解を与える
##    文法: on3decomp21(on3func,var,...)
##    例示: 
##       on3decomp21(1/(x-3),x) -> 1/(x-3)*on3(x,minf,3,oo) + 1/(x-3)*on3(x,3,inf,oo) (特異点) 
##       ex : f0 + f1*on3(x,a,b,co), 
##       on3decomp21(ex,x),
##        -> f0*on3(x,minf,a,oo) + (f0+f1)*on3(x,a,b,co) + f0*on3(x,b,inf,co)
##       on3decomp21(1/(f0 + f1*on3(x,1,3,co)), x),
##        -> 1/f0*on3(x,minf,1,oo) + 1/(f0+f1)*on3(x,1,3,co) + 1/f0*on3(x,3,inf,co)
##       on3decomp21(1/(f0 + f1*on3(x,a,b,co)), x),
##        -> 1/f0*on3(x,minf,a,oo) + 1/(f0+f1)*on3(x,a,b,co) + 1/f0*on3(x,b,inf,co)
##    --end of on3decomp21('help')--
##    
## on3decomp21('ex)
## --begin of on3decomp21('ex)-- 
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-12.mxl"

12a. 関数 on3decompm() : 未定端点:仮定の設定,多変数on3多項式(3変数まで)の排他的区間分解

on3decomp21() を内部使用する。

on3decompm()$
on3decompm('ex)$
## ~/bin/go TMP/tmp_lang/chunk-13.mxl  > TMP/tmp_lang/chunk-13.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-13.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-13.mxl
## on3decompm()
##    --begin of on3decompm('help)--
##    機能: 区間関数 on3(x,...) の多項式を排他的区間に分解する処理を変数リスト'varsL=[x,y,z] の順序で行なう。
##    制限:3変数までのon3多項式。適切な仮定の設定があれば,区間の端点は未定定数を許す。以下の手順に従う。
##      第1分解 expr : sum_{i=1}^iend v1_Lon3f[i]*v1_Lon3coef[i]           = v1_outf
##      第2分解 v1_Lon3coef[i] : sum_{j=1}^jend v2_Lon3f[j]*v2_Lon3coef[j] = v2_outf
##      第3分解 v2_Lon3coef[j] : sum_{k=1}^kend v3_Lon3f[k]*v3_Lon3coef[k] = v3_outf   
##    文法: on3decompm(expr, ’varsL=[x,y], 'assume=[...]) 
##    例示:
##      ex11 : f1(x)*on3(x,1,5,co) + f2(x)*on3(x,3,7,co),
##      on3decompm(ex11,'vars=[x]);
##       ---> f1(x)*on3(x,1,3,co) + (f1(x)+f2(x))*on3(x,3,5,co) + f2(x)*on3(x,5,7,co)
##      ex12 : f1(x)*on3(x,1,5,co) + f2(x)*on3(x,a,b,co), /* 1--a--5--b */
##      assw1 : [1<a,a<5,5<b], /* 仮定の設定 */
##      on3decompm(ex12,'vars=[x], 'assume=assw1);
##       ---> f1(x)*on3(x,1,a,co) + (f1(x)+f2(x))*on3(x,a,5,co) + f2(x)*on3(x,5,b,co),     
##      ex22 : f2(x,y)*on3(x,3,7,co)*on3(y,b,d,co)
##              + f1(x,y)*on3(x,1,5,co)*on3(y,2,6,co), /* --2--b--6--d-- */
##      assw2 : [2<b, b<6, 6<d], /* 仮定の設定 */
##      on3decompm(ex22,'vars=[x,y], 'assume=assw2),
##       ---> on3(x,3,5,co)*((f1(x,y)+f2(x,y))*on3(y,b,6,co)+f2(x,y)*on3(y,6,d,co)
##                                                  +f1(x,y)*on3(y,2,b,co))
##             +on3(x,5,7,co)*f2(x,y)*on3(y,b,d,co)
##             +on3(x,1,3,co)*f1(x,y)*on3(y,2,6,co), 
##    --end of on3decompm('help')--
##    
## on3decompm('ex)
## --begin of on3decompm('ex)-- 
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-13.mxl"

13. 関数 on3info() : expr に含まれる変数varの関数on3(var…)の情報をリストで返す

on3info()$
on3info('ex)$
## ~/bin/go TMP/tmp_lang/chunk-14.mxl  > TMP/tmp_lang/chunk-14.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-14.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-14.mxl
## on3info()
##    --begin of on3info('help)--
##    機能: expr に含まれる変数varの関数on3(var...)の情報をリストで返す
##         結果のリストはoutLev()で取り出せる.
##         on3多項式を前提とするため,定数項が存在する合も考慮されている(変数毎のon3stdの機能を有する)
##         引数に'std がある場合は指定された変数に関する標準化の結果を返す
##         expr が on3有理式の場合は on3decomp21(expr,x,[仮定1,...]) によりon3多項式化を得る.
##    文法: on3info(expr,x,...) or on3info(expr)
##         on3info(expr,x,'factor), on3info(expr,x,'std)
##    例示: on3info(f1*log(x)*on3(x,1,2,co)+f0, x,'std)
##         -> f0*on3(x,minf,1,oo) + (f0+f1)*on3(x,1,2,co) + f0*on3(x,2,inf,co) (標準化)
##    --end of on3info('help')--
##    
## on3info('ex)
## --begin of on3info('ex)-- 
## ---begin of on3info_ex--- 
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-14.mxl"

14. 関数 outLev() : on3info()の結果(リスト)の取り込み

outLev()$
outLev('ex)$
## ~/bin/go TMP/tmp_lang/chunk-15.mxl  > TMP/tmp_lang/chunk-15.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-15.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-15.mxl
## outLev()
##    --begin of outLev('help)--
##    機能: 名前付きリストを展開する
##    文法: outLev(outL,"test_")
##    例示: outL : [L1=[l11,l12],L2=[l21]]
##         outLev(outL,"test_") -> test_L1=[l11,l12], test_L2=[l21]
##    --end of outLev('help')--
##    
## outLev('ex)
## --begin of outLev('ex)-- 
## ★  (/* outLev() の実行例 */  
##     ex : on3(x,a,b,co)*on3(y,yl,yr,oo) + x*on3(x,c,d,cc),  
##     outL : on3info(ex,x), /* on3info()の結果(名前付きリスト)を得る */  
##     c0show(outL), /* outL の内容確認 */  
##     outLev(outL,"test_"), /* 変数test_* の形で展開 */  
##     cshow(values) /* 変数一覧で確認する */  
##     ) 
## Maxima encountered a Lisp error:
##  Condition in MEVAL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-15.mxl"

14. 関数 find_key() : ツール1 キー付き引数の扱い

find_key()$
find_key('ex)$
find_key_no()$
find_key_no('ex)$
## ~/bin/go TMP/tmp_lang/chunk-16.mxl  > TMP/tmp_lang/chunk-16.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-16.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-16.mxl
## find_key()
##    --begin of find_key('help)--
##    機能: キー付きリストからキー名を含む最初の要素を取り出す. キー名がない場合はFALSEを返す.
##    文法: find_key(list,key,...)
##    例示: find_key([key1=a,key2=b,key3=c],key2) -> key2=b
##    --end of find_key('help')--
##    
## find_key('ex)
## --begin of find_key('ex)-- 
## --begin of find_key_ex 
##     dlist = 
##    [terminal = png,file_name = "figs/find_key-1",columns = 2,dimensions = [1000,400]] 
##     find_key(dlist,'columns) = columns = 2 
##     find_key(dlist,'file_name) = file_name = "figs/find_key-1" 
##     find_key(dlist,'not_key_name) = false 
## --end of find_key('ex)-- 
## find_key_no()
##    --begin of find_key_no('help)--
##    機能: キー付きリストからキー名を含む要素の位置を取り出す
##    文法: find_key_no(list,key,...)
##    例示: find_key_no([key1=a,key2=b,key3=c],key2); -> 2
##         find_key_no([key1=a,key2=b,key3=c],key4); -> 0
##    --end of find_key_no('help')--
##    
## find_key_no('ex)
## --begin of find_key_no('ex)-- 
## --begin of find_key_no_ex 
##     dlist = 
##    [terminal = png,file_name = "figs/find_key_no-1",columns = 2,dimensions = [1000,400]] 
##     find_key_no(dlist,'columns) = 3 
##     find_key_no(dlist,'file_name) = 2 
## --end of find_key_no('ex)-- 
## "/var/www/html/LANG/TMP/tmp_lang/chunk-16.mxl"

14a. 関数 ass_set(), fact_var(), fact_forget(), killvars() : ツール2 仮定の設定,表示,解除

ass_set()$
ass_set('ex)$
fact_var()$
fact_var('ex)$
fact_forget()$
fact_forget('ex)$
killvars()$
killvars('ex)$
## ~/bin/go TMP/tmp_lang/chunk-17.mxl  > TMP/tmp_lang/chunk-17.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-17.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-17.mxl
## ass_set()
##    --begin of ass_set('help)--
##    機能: 仮定の設定
##    文法: ass_set([a<c,c<b,b<d])
##    例示: ass_set([a<c,c<b,b<d])
##          var_fact([a,b,c,d])     facts()出力から変数リストに関連する事実を表示する
##          fact_var([a<c,c<b,b<d]) 引数で指定された事実(facts)に現れる変数をリストで返す
##          fact_forget([a,b,c,d])  変数リスト/事実リストで指定された事実を消去する
##          on3byon3([[on3,x,1,3,co],[on3,x,2,4,co]],debug1) -> on3(x,2,3,co)
##    --end of ass_set('help')--
##    
## ass_set('ex)
## --begin of ass_set('ex)-- 
## ★  /* 仮定の設定: */  ass_set([a<c,c<b,b<d]) 
## Maxima encountered a Lisp error:
##  Condition in MEVAL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## fact_var()
##    --begin of fact_var('help)--
##    機能: facts()出力から変数リストに関連する事実を表示する
##    文法: fact_var([a,b,c,d])
##    例示: fact_var([a<c,c<b,b<d]) -> [a,b,c,d] 
##          fact_var('facts) -> facts()出力から変数リストに関連する事実を表示する
##    --end of fact_var('help)--
##    
## fact_var('ex)
## --begin of ass_set('ex)-- 
## --begin of ass_set('ex)-- 
## ★  /* 仮定の設定: */  ass_set([a<c,c<b,b<d]) 
## Maxima encountered a Lisp error:
##  Condition in MEVAL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## fact_forget()
##    --begin of fact_forget('help)--
##    機能: 変数リスト/事実リストで指定された事実を消去する
##    文法: fact_forget([a,b,c,d])
##    例示: fact_forget([a,b,c,d]) -> [a,b,c,d] で指定された事実を消去する
##    --end of fact_forget('help)--
##    
## fact_forget('ex)
## --begin of ass_set('ex)-- 
## --begin of ass_set('ex)-- 
## ★  /* 仮定の設定: */  ass_set([a<c,c<b,b<d]) 
## Maxima encountered a Lisp error:
##  Condition in MEVAL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## killvars()
##    --begin of killvars('help)--
##    機能: values; で表示される変数リストからkeysで指定された変数を(一括)削除する
##    文法: killvars(["denom_","numer_","w_","out_"],...)
##    例示: 
##      values;
##      killvars(["denom_","numer_","w_","out_"]);
##      values;
##    --end of killvars('help')--
##    
## killvars('ex)
## --begin of killvars('ex)-- 
##     現在の変数リスト: values = 
##    [ass_hist,chkerrsum,icerror,USER,HOME,ENV,cmd,tmpdirsL,tmp_dir,tmp_maxima_dir,
##     tmp_user_dir,tmp_lang_dir,figs_dir,args,max_save_file,progn,debug,keys,key,str,svL] 
##     killvars(["denom_","numer_","w_","out_"]) = 
##    [ass_hist,chkerrsum,icerror,USER,HOME,ENV,cmd,tmpdirsL,tmp_dir,tmp_maxima_dir,
##     tmp_user_dir,tmp_lang_dir,figs_dir,args,max_save_file,progn,debug,keys,key,str,svL] 
##     上記処理後の変数リスト: values = 
##    [ass_hist,chkerrsum,icerror,USER,HOME,ENV,cmd,tmpdirsL,tmp_dir,tmp_maxima_dir,
##     tmp_user_dir,tmp_lang_dir,figs_dir,args,max_save_file,progn,debug,keys,key,str,svL] 
## --end of killvars('ex)-- 
## "/var/www/html/LANG/TMP/tmp_lang/chunk-17.mxl"

15. 関数 on3ev() : on3poly の各関数部を{factor,expand,ratsimp}した表現を返す

on3ev()$
on3ev('ex)$
## ~/bin/go TMP/tmp_lang/chunk-18.mxl  > TMP/tmp_lang/chunk-18.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-18.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-18.mxl
## on3ev()
##    --begin of on3ev('help)--
##    機能: on3poly の各関数部を{factor,expand,ratsimp}した表現を返す
##    文法: on3ev(expr,...)
##    例示: ex : x*on3(x,3,4,co)+(x^2-2*x+1)*on3(x,1,2,co)
##         on3ev(ex,factor) = x*on3(x,3,4,co)+(x-1)^2*on3(x,1,2,co)
##         ex1e : %e^(1-x)*on3(x,1,inf,co)+x^2*on3(x,0,1,co) 
##         out : on3integ(ex1e,x) 
##            = (%e^-x*(4*%e^x-3*%e)*on3(x,1,inf,co))/3+(x^3*on3(x,0,1,co))/3 
##         on3ev(out,expand) = (4/3-%e^(1-x))*on3(x,1,inf,co)+(x^3*on3(x,0,1,co))/3 
##    --end of on3ev('help')--
##    
## on3ev('ex)
## --begin of on3ev('ex)-- 
## --- on3ev_ex --- 
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-18.mxl"

16. 関数 on3diff() : on3関数式の微分

on3diff()$
on3diff('ex)$
## ~/bin/go TMP/tmp_lang/chunk-19.mxl  > TMP/tmp_lang/chunk-19.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-19.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-19.mxl
## on3diff()
##    --begin of on3diff('help)--
##    機能: on3 関数の微分(多変数関数の1変数に関するp階偏微分)を求める
##    文法: on3diff(expr,var,p,...)
##    例示: on3diff(expr,var)  <- p=1 として1階偏微分を返す
##             ★ ◎  on3diff(sin(x),x) = cos(x)  
##             ★ ◎  on3diff(x^2*on3(x,0,1,co) + %e^(1-x)*on3(x,1,inf,co), x, 1) 
##          = 2*x*on3(x,0,1,co)-%e^(1-x)*on3(x,1,inf,oo)  
##    --end of on3diff('help')--
##    
## on3diff('ex)
## --begin of on3diff('ex)-- 
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-19.mxl"

17. 関数 on3integ() : on3関数式の積分

on3integ()$
on3integ('ex)$
## ~/bin/go TMP/tmp_lang/chunk-20.mxl  > TMP/tmp_lang/chunk-20.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-20.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-20.mxl
## on3integ()
##    --begin of on3integ('help)--
##    機能: on3()関数を含む式の不定積分,定積分を返す.未定端点,on3有理式に対応(on3decomp21()を使用)
##    文法: on3integ(on3func,var,{vl,vr},...)
##          F_i(x) = (F_i(x)-F_i(xl))*on3(x,xl,xr,lr)
##                   +(F_i(xr)-F_i(xl))*on3(x,xr,inf,lr1),
##          where if xl=minf then F_i(xl)=0 (積分定数の定義),
##                lr=cc or oc then lr1=oo, lr=co or oo then lr1=co
##    例示: on3integ(on3func,x)        変数xに関する不定積分
##         on3integ(2*x, x) -> x^2
##         on3integ(2*x + on3(x,1,3,co), x)$
##          -> x^2 + (x-1)*on3(x,1,3,co) + (3-1)*on3(x,3,inf,co)
##         f2 : 2*on3(x,0,%pi/2,cc)*sin(2*x)+cos(x)*on3(x,0,%pi/2,cc)$ 
##         on3integ(f2,x) -> 
##           (-on3(x,0,%pi/2,cc)*cos(2*x))+3*on3(x,%pi/2,inf,oo)
##           +(sin(x)+1)*on3(x,0,%pi/2,cc) 
##         f4 : 2*on3(x,0,%pi/4,cc)*sin(2*x)+cos(x)*on3(x,0,%pi/2,cc) 
##         on3integ(f4,x) -> 
##           (on3(x,0,%pi/4,cc)*(1-cos(2*x))+on3(x,%pi/4,inf,oo)
##           +sin(x)*on3(x,0,%pi/2,cc)+on3(x,%pi/2,inf,oo)
##         on3integ(on3func,x,xl,xr)  変数xに関する区間[xl,xr]の定積分
##           on3integ(f4,x,minf,inf) -> 2 
##           ev(out4,x = inf) -> 2  
##           on3integ(expr(-x)*on3(x,0,inf,co),x,0,inf); -> 1
##    --end of on3integ('help')--
##    
## on3integ('ex)
## --begin of on3integ('ex)-- 
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-20.mxl"

18. 関数 on3integ19() : on3関数式の積分

on3integ19()$
on3integ19('ex)$
## ~/bin/go TMP/tmp_lang/chunk-21.mxl  > TMP/tmp_lang/chunk-21.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-21.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-21.mxl
## on3integ19()
##    --begin of on3integ19('help)--
##    機能: on3()関数を含む式の不定積分,定積分を返す.(on3decomp()を必要としない)
##    文法: on3integ19(on3func,var,{vl,vr},...)
##          F_i(x) = (F_i(x)-F_i(xl))*on3(x,xl,xr,lr)
##                   +(F_i(xr)-F_i(xl))*on3(x,xr,inf,lr1),
##          where if xl=minf then F_i(xl)=0 (積分定数の定義),
##                lr=cc or oc then lr1=oo, lr=co or oo then lr1=co
##    例示: on3integ19(on3func,x)        変数xに関する不定積分
##         on3integ19(2*x, x) -> x^2
##         on3integ19(2*x + on3(x,1,3,co), x)$
##          -> x^2 + (x-1)*on3(x,1,3,co) + (3-1)*on3(x,3,inf,co)
##         f2 : 2*on3(x,0,%pi/2,cc)*sin(2*x)+cos(x)*on3(x,0,%pi/2,cc)$ 
##         on3integ19(f2,x) -> 
##           (-on3(x,0,%pi/2,cc)*cos(2*x))+3*on3(x,%pi/2,inf,oo)
##           +(sin(x)+1)*on3(x,0,%pi/2,cc) 
##         f4 : 2*on3(x,0,%pi/4,cc)*sin(2*x)+cos(x)*on3(x,0,%pi/2,cc) 
##         on3integ19(f4,x) -> 
##           (on3(x,0,%pi/4,cc)*(1-cos(2*x))+on3(x,%pi/4,inf,oo)
##           +sin(x)*on3(x,0,%pi/2,cc)+on3(x,%pi/2,inf,oo)
##         on3integ19(on3func,x,xl,xr)  変数xに関する区間[xl,xr]の定積分
##           on3integ19(f4,x,minf,inf) -> 2 
##           ev(out4,x = inf) -> 2  
##           on3integ19(exp(-x)*on3(x,0,inf,co),x,0,inf); -> 1
##    --end of on3integ19('help')--
##    
## on3integ19('ex)
## --begin of on3integ19('ex)-- 
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-21.mxl"

19. 関数 on3solve() : on3 関数方程式の求解 (多変数対応版)

on3solve()$
on3solve('ex)$
## ~/bin/go TMP/tmp_lang/chunk-22.mxl  > TMP/tmp_lang/chunk-22.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-22.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-22.mxl
## on3solve()
##    --begin of on3solve('help)--
##    機能: on3 関数方程式の求解 (多変数対応版)
##    文法: on3solve(funcs,vars,...)
##    例示: 
##      例1. 不等式の求解   
##       eq1 : x^2 * on3(x,minf,0,oo) + (1-x^2)/2 * on3(x,0,1,co)
##             + (1-x) * on3(x,1,inf,co) - 1/8$ 
##       out : on3solve(eq1, x); 
##       -> [x = -1/2^(3/2),x = sqrt(3)/2] 
##      例2. 連立不等式の求解 
##       eq21 : (x^2+y^2-2)*on3(y,0,inf,co) + (x^2+y^2-9)*on3(y,minf,0,oo)$  
##       eq22 : (x-y)*on3(x,1,inf,co) + (3*x-2*y)*on3(x,0,1,co)  
##               + (2*x-y)*on3(x,minf,0,oo)$  
##       out : on3solve([eq21,eq22],[x,y]);  
##       ->  [[x = -3/sqrt(5),y = -6/sqrt(5)],
##            [x = 2^(3/2)/sqrt(13),y = (3*sqrt(2))/sqrt(13)],
##            [x = 1,y = 1]] 
##    --end of on3solve('help')--
##    
## on3solve('ex)
## --begin of on3solve('ex)-- 
## --begin of on3solve_ex-- 
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-22.mxl"

20. 関数 on3D2G() : 矩形領域 D(x,y) 変換 t=x+y, u=y のとき G(t,u) を求める

on3D2G()$
on3D2G('ex)$
on3D2G('test)$
## ~/bin/go TMP/tmp_lang/chunk-23.mxl  > TMP/tmp_lang/chunk-23.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-23.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-23.mxl
## on3D2G()
##    --begin of on3D2G('help)--
##    機能: on3D2G : 矩形領域 D(x,y) 変換 t=x+y, u=y のとき G(t,u) を求める
##    文法: on3D2G(on3(x,xl,xr,xlr)*on3(y,yl,yr,ylr),'typeA|'typeB|'typeE) 
##         or on3D2G([on3,x,xl,xr,xlr],[on3,y,yl,yr,ylr],'typeA|'typeB|'typeE)
##         on3D2G('ex|'test)
##    例示: on3D2G([on3,x,xl,xr,cc],[on3,y,yl,yr,oc],'typeA) 
##      -> on3(t,tl,tr,tlr)*on3(u,ul,ur,ulr) + ...
##    --end of on3D2G('help')--
##    
## on3D2G('ex)
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## on3D2G('test)
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-23.mxl"

21. 関数 on3dim2_uni2() : 一様分布に従う独立な確率変数の和の分布

figs_dir : "test1_files"$
on3dim2_uni2('plot,'noview)$
## ~/bin/go TMP/tmp_lang/chunk-24.mxl  > TMP/tmp_lang/chunk-24.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-24.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-24.mxl
## figs_dir:"test1_files"
## on3dim2_uni2('plot,'noview)
## ---Run with NoView Mode--- 
##   一様分布 U[0,1]に従う独立確率変数の和の分布(密度関数)を求める
## ◆ 1個の和の分布 
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
##                        /var/www/html/LANG/TMP/tmp_lang/chunk-24.mxl
test1_files/on3dim2_uni2-sum.pngのグラフ
test1_files/on3dim2_uni2-sum.pngのグラフ
test1_files/on3dim2_uni2-av.pngのグラフ
test1_files/on3dim2_uni2-av.pngのグラフ

22. 関数 on3dim2_exp2() : 指数分布に従う独立な確率変数の和の分布

figs_dir : "test1_files"$
on3dim2_exp2('plot,'noview)$
## ~/bin/go TMP/tmp_lang/chunk-25.mxl  > TMP/tmp_lang/chunk-25.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-25.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-25.mxl
## figs_dir:"test1_files"
## on3dim2_exp2('plot,'noview)
## ---Run with NoView Mode--- 
##   指数分布 Ex(1)に従う独立確率変数の和の分布(密度関数)を求める
## ◆ 1個の和の分布 
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
##                        /var/www/html/LANG/TMP/tmp_lang/chunk-25.mxl
test1_files/on3dim2_exp2-sum.pngのグラフ
test1_files/on3dim2_exp2-sum.pngのグラフ
test1_files/on3dim2_exp2-av.pngのグラフ
test1_files/on3dim2_exp2-av.pngのグラフ

23. 関数 on3pw() : on3関数のカプセル化(停止中)

on3pw_ex()$
## ~/bin/go TMP/tmp_lang/chunk-26.mxl  > TMP/tmp_lang/chunk-26.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-26.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-26.mxl
## on3pw_ex()
## --- begin of on3pw_ex --- 
## ◆ 準備:関数 F1(x),f0(x)の作成 
## ★  (  
##     f0(x) := sin(x),  
##     f1(x) := x^2*on3(x,minf,0,oo) + (1-x^2)/2 *on3(x,0,1,oo)  
##     + (1-x)*on3(x,1,inf,oo),  
##     ldisplay(f0(x)), ldisplay(f1(x))  
##      ) 
## (%t4) f0(x) = sin(x)
## Maxima encountered a Lisp error:
##  Condition in MEVAL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-26.mxl"

24. 関数 on3ineq_ex() : 不等式の求解

figs_dir : "test1_files"$
on3ineq_ex(C2, 'file_name="test1_files/on3ineq-C2", 'noview)$
## ~/bin/go TMP/tmp_lang/chunk-27.mxl  > TMP/tmp_lang/chunk-27.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-27.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-27.mxl
## figs_dir:"test1_files"
## ineqex(C2,'file_name = "test1_files/on3ineq-C2",'noview)
## Maxima encountered a Lisp error:
##  Condition in MACSYMA-TOP-LEVEL [or a callee]: INTERNAL-SIMPLE-UNDEFINED-FUNCTION: Cell error on ^RULE1: Undefined function: 
## Automatically continuing.
## To enable the Lisp debugger set *debugger-hook* to nil.
## "/var/www/html/LANG/TMP/tmp_lang/chunk-27.mxl"
test1_files/on3ineq-C2.pngのグラフ
test1_files/on3ineq-C2.pngのグラフ

その他のツール

25. funcs ライブラリー一覧と検索ツール

funcs()$
funcs('ex)$
findstr()$
findstr('ex)$
## ~/bin/go TMP/tmp_lang/chunk-28.mxl  > TMP/tmp_lang/chunk-28.out 2>&1
## batch("/var/www/html/LANG/TMP/tmp_lang/chunk-28.mxl")
## read and interpret /var/www/html/LANG/TMP/tmp_lang/chunk-28.mxl
## funcs()
##   ==ユーザ定義の関数名,マクロ名一覧:  functions , sortmode= true == 
## ["ON3on3([args])","acnode_join(LWT0,[args])","args_flat([args])","ass_set([args])",
##  "chk1g([args])","chk1show([args])","chk2D([args])","chk2g([args])","chk2show([args])",
##  "chk3g([args])","debug_ex(x,[args])","debug_sub(y,[args])","ecsort([args])",
##  "elimalg1([args])","elimalg1_ex([args])","exchk(on3func_name,exansL,[args])",
##  "exchk_ex([args])","exmk(ex,[args])","exmk_ex([args])","exp2l([args])","extry([args])",
##  "f2l([args])","f2l_full([args])","f2l_one([args])","fact_forget([args])",
##  "fact_var([args])","find_key([args])","find_key_ex([args])","find_key_no([args])",
##  "find_key_no_ex([args])","findstr([args])","findstr_ex([args])","floatfix([args])",
##  "floatfix_ex([args])","flrlimit([args])","flrlimit_ex([args])","fna([args])",
##  "funcs([args])","funcxy([args])","funcxy_ex([args])","gcd2l([args])",
##  "globalvar([args])","gr2v([args])","gr2v_ex([args])","gr2vf([args])","gr3v([args])",
##  "gr3v_ex([args])","grv([args])","grv_ex([args])","ineqex([args])","jumppoints([args])",
##  "killvars([args])","l2f([args])","l2f_one([args])","list2str([args])",
##  "list2str_ex([args])","ll2on3(varl,va,LL,[args])","loffuncs([args])","logshow([args])",
##  "lpup([args])","mergeL([args])","mergeL_ex([args])","mk_draw([args])",
##  "mk_draw_ex([args])","mk_fullname([args])","mk_yrange([args])","mkfloat([args])",
##  "mkfloat_ex([args])","msort([args])","msort_ex()","nor2d([args])","on3([args])",
##  "on3D2G([args])","on3D2G_ex([args])","on3_same_var([args])","on3asdecomp([args])",
##  "on3asdecomp_ex([args])","on3byon3([args])","on3chgv([args])","on3chgvar2([args])",
##  "on3chgvar2_ex([args])","on3chgvar2_test()","on3chgvar3([args])",
##  "on3cspline(tab,[select])","on3cspline_ex([args])","on3decomp([args])",
##  "on3decomp21([args])","on3decomp_decomp(expr,[args])","on3decomp_ex([args])",
##  "on3decomp_inv(u,[args])","on3decomp_one([args])","on3decomp_reduce(LWT0,[args])",
##  "on3decompm([args])","on3diff([args])","on3diff_ex([args])","on3dim2_exp2([args])",
##  "on3dim2_uni2([args])","on3dplot2([args])","on3edge([args])","on3edge_ex([args])",
##  "on3ev([args])","on3evdef([args])","on3ex([args])","on3factor([args])",
##  "on3find([args])","on3find_ex([args])","on3ftrue([args])","on3funcdraw([args])",
##  "on3gr([args])","on3gr2([args])","on3gr_ex([args])","on3help()","on3iftrue([args])",
##  "on3ineq([args])","on3ineq_acnode(LF,[args])","on3ineq_backsolve(LF,[args])",
##  "on3ineq_fwd(varl,va,vlist,vsing,[args])","on3ineq_jex([args])",
##  "on3ineq_shrink([args])","on3info([args])","on3integ([args])","on3integ10([args])",
##  "on3integ19([args])","on3integ19_ex([args])","on3integ20([args])",
##  "on3integ20_ex([args])","on3integ_ex([args])","on3lrl([args])",
##  "on3lspline(tab,[select])","on3lspline_ex([args])","on3pw_ex()","on3regionview([args])",
##  "on3rngm([args])","on3rngm_ex1([args])","on3rngm_ex2([args])","on3rngone(rng1,rng2)",
##  "on3romberg([args])","on3show_ex([args])","on3show_sub(funcs,[args])","on3simp([args])",
##  "on3solve([args])","on3solve_ex([args])","on3std([args])","on3std_ex([args])",
##  "on3termsep([args])","on3test([args])","on3typep([args])","on3varfix([args])",
##  "on3vars([args])","on3x([args])","outLev([args])","p2surface([args])","polydeg([args])",
##  "q3([args])","q4([args])","realp([args])","salgall([args])","salgall_ex([args])",
##  "shrink10(LYLR,[args])","slit([args])","sqrt2d([args])","sqrt2d_ex([args])","t(x)",
##  "ush([args])","va_unique([args])","var_fact([args])","wt(atom)"]
##   
##   ==ユーザ定義の関数名,マクロ名一覧:  macros , sortmode= true == 
## ["c0show([lis])","c1show([lis])","c2show([lis])","c3show([lis])","cashow([lis])",
##  "cshow([lis])","d1show([lis])","d2show([lis])","d3show([lis])","ifargd()",
##  "max_restore([args])","max_save([args])","on3env([args])","on3lib([args])",
##  "on3rules([args])","on3show([args])"]
##   
## funcs('ex)
## --begin of funcs('ex)-- 
##     ev(str) = funcs('show) 
## --end of funcs('ex)-- 
## findstr()
##    --begin of findstr('help)--
##    機能: ユーザ定義の関数,マクロから指定文字列を含む関数(マクロ)名を検索する
##    文法: findstr(str)
##    例示: findstr('solve)
##    --end of findstr('help')--
##    
## findstr('ex)
## --begin of func1('ex)-- 
## ★  
##     ( findstr('solve),  /* 文字列solve を含む関数名,マクロ名を標示する */ 
##      
##     
##    findstr('decomp), /* 文字列decomp を含む関数名,マクロ名を標示する */ 
##     
##     findstr('show)   /* 文字列show を含む関数名,マクロ名を標示する */  
##      ) 
## <findstr> search string = solve 
## <findstr> functions --> 
##          ["on3solve([args])","on3solve_ex([args])","on3ineq_backsolve(LF,[args])"] 
## <findstr> macros --> [] 
## <findstr> search string = decomp 
## <findstr> functions --> 
##          ["on3decomp_reduce(LWT0,[args])","on3decomp_decomp(expr,[args])",
##           "on3decomp_inv(u,[args])","on3decomp_one([args])","on3asdecomp([args])",
##           "on3asdecomp_ex([args])","on3decompm([args])","on3decomp21([args])",
##           "on3decomp([args])","on3decomp_ex([args])"] 
## <findstr> macros --> [] 
## <findstr> search string = show 
## <findstr> functions --> 
##          ["chk2show([args])","on3show_sub(funcs,[args])","on3show_ex([args])",
##           "logshow([args])","chk1show([args])"] 
## <findstr> macros --> 
##          ["on3show([args])","cashow([lis])","c0show([lis])","cshow([lis])",
##           "c1show([lis])","c2show([lis])","c3show([lis])","d1show([lis])",
##           "d2show([lis])","d3show([lis])"] 
##     out =  --- end of findstr --- 
## --end of findstr('ex)-- 
## "/var/www/html/LANG/TMP/tmp_lang/chunk-28.mxl"

終わり