version 1.4, 2003/08/18 06:36:49 |
version 1.5, 2003/08/18 11:28:15 |
|
|
%% appell.sm1, 1998, 11/8 |
%% appell.sm1, 1998, 11/8 |
% $OpenXM: OpenXM/src/kan96xx/Doc/appell.sm1,v 1.3 2003/07/29 08:37:16 takayama Exp $ |
% $OpenXM: OpenXM/src/kan96xx/Doc/appell.sm1,v 1.4 2003/08/18 06:36:49 takayama Exp $ |
/appell.version (2.981108) def |
/appell.version (2.981108) def |
appell.version [(Version)] system_variable gt |
appell.version [(Version)] system_variable gt |
{ (This package requires the latest version of kan/sm1) message |
{ (This package requires the latest version of kan/sm1) message |
Line 82 $appell.sm1 generates Appell hypergeometric differenti |
|
Line 82 $appell.sm1 generates Appell hypergeometric differenti |
|
[(appell1) |
[(appell1) |
[(param appell1 c) |
[(param appell1 c) |
(array param; array c;) |
(array param; array c;) |
(appell1 returns the Lauricella function F_D(a,b_1, ..., b_n,c; x_1,...,x_n)) |
(appell1 returns an annihilating ideal for ) |
|
(the Lauricella function F_D(a,b_1, ..., b_n,c; x_1,...,x_n)) |
(for the parameter << param >> = [a, c, b_1, ..., b_n].) |
(for the parameter << param >> = [a, c, b_1, ..., b_n].) |
(In case of n=2, the function is called the Appell function F_1.) |
(In case of n=2, the function is called the Appell function F_1.) |
(c = [ generators, variables ]) |
(c = [ generators, variables ]) |
Line 152 $appell.sm1 generates Appell hypergeometric differenti |
|
Line 153 $appell.sm1 generates Appell hypergeometric differenti |
|
[(appell4) |
[(appell4) |
[(param appell4 c) |
[(param appell4 c) |
(array param; array c;) |
(array param; array c;) |
(appell4 returns the Lauricella function F_C(a,b, c_1, ..., c_n; x_1,...,x_n)) |
(appell4 returns an annihilating ideal for ) |
(for the parameter << param >> = [a, c, b_1, ..., b_n].) |
(the Lauricella function F_C(a,b, c_1, ..., c_n; x_1,...,x_n)) |
|
(for the parameter << param >> = [a, b, c_1, ..., c_n].) |
(In case of n=2, the function is called the Appell function F_4.) |
(In case of n=2, the function is called the Appell function F_4.) |
(c = [ generators, variables ]) |
(c = [ generators, variables ]) |
(Note that for a special set of parameters, the returned differential equation) |
(Note that for a special set of parameters, the returned differential equation) |
Line 164 $appell.sm1 generates Appell hypergeometric differenti |
|
Line 166 $appell.sm1 generates Appell hypergeometric differenti |
|
|
|
/appell4r { |
/appell4r { |
/arg1 set |
/arg1 set |
[/in-appell4r /typev /setarg /b /n /vv /i /a /c /bb /ans |
[/in-appell4r /typev /setarg /b /n /vv /i /a /c /bb /ans /rr |
] pushVariables |
] pushVariables |
[(CurrentRingp) (KanGBmessage)] pushEnv %% push current global environment. |
[(CurrentRingp) (KanGBmessage)] pushEnv %% push current global environment. |
[ |
[ |
Line 172 $appell.sm1 generates Appell hypergeometric differenti |
|
Line 174 $appell.sm1 generates Appell hypergeometric differenti |
|
aa isArray { } { (array appell) message (appell4) usage error } ifelse |
aa isArray { } { (array appell) message (appell4) usage error } ifelse |
/setarg 0 def |
/setarg 0 def |
aa { tag } map /typev set |
aa { tag } map /typev set |
|
/rr 0 def |
typev [ ArrayP ] eq |
typev [ ArrayP ] eq |
{ /b aa 0 get def |
{ /b aa 0 get def |
/setarg 1 def |
/setarg 1 def |
} { } ifelse |
} { } ifelse |
|
typev [ ArrayP RingP] eq |
|
{ /b aa 0 get def |
|
/rr aa 1 get def |
|
/setarg 1 def |
|
} { } ifelse |
typev [ ] eq |
typev [ ] eq |
{ |
{ |
/b appell.b def |
/b appell.b def |
Line 195 $appell.sm1 generates Appell hypergeometric differenti |
|
Line 203 $appell.sm1 generates Appell hypergeometric differenti |
|
} for |
} for |
] /vv set |
] /vv set |
|
|
[vv from_records ring_of_differential_operators 0] define_ring |
rr tag 1 eq { |
|
[vv from_records ring_of_differential_operators 0] define_ring |
|
} { |
|
rr ring_def |
|
} ifelse |
|
|
%% b = [a b c_1 ... c_n ] |
%% b = [a b c_1 ... c_n ] |
/a b 0 get def |
/a b 0 get def |
Line 224 $appell.sm1 generates Appell hypergeometric differenti |
|
Line 236 $appell.sm1 generates Appell hypergeometric differenti |
|
arg1 |
arg1 |
} def |
} def |
%% [ [(1).. (2).. div -4 -2 5 6] ] appell4r |
%% [ [(1).. (2).. div -4 -2 5 6] ] appell4r |
|
[(appell4r) |
|
[(param appell4r c) |
|
(array param; array c;) |
|
(appell4r returns an annihilating ideal for ) |
|
(the Lauricella function F_C(a,b, c_1, ..., c_n; x_1,...,x_n)) |
|
(for the parameter << param >> = [a, b, c_1, ..., c_n].) |
|
(In case of n=2, the function is called the Appell function F_4.) |
|
(c = [ generators, variables ]) |
|
(Example 1. [ [(1).. (2).. div -4 -2 5 6] ] appell4r rank ::) |
|
$Example 2. [(a,x1,x2) ring_of_differential_operators 0] define_ring /r set $ |
|
$ [ [(a). (2).. div (a). (1). (1).] r] appell4r $ |
|
] |
|
] putUsages |
|
|
|
|
/appell.euler { |
/appell.euler { |
Line 310 $appell.sm1 generates Appell hypergeometric differenti |
|
Line 335 $appell.sm1 generates Appell hypergeometric differenti |
|
[(appell2) |
[(appell2) |
[(param appell2 c) |
[(param appell2 c) |
(array param; array c;) |
(array param; array c;) |
(appell2 returns the Lauricella function F_A(a,b_1, ..., b_n, c_1, ..., c_n; x_1,...,x_n)) |
(appell2 returns an annihilating ideal for ) |
|
(the Lauricella function F_A(a,b_1, ..., b_n, c_1, ..., c_n; x_1,...,x_n)) |
(for the parameter << param >> = [a, [b_1, ..., b_n],[c_1, ..., c_n]].) |
(for the parameter << param >> = [a, [b_1, ..., b_n],[c_1, ..., c_n]].) |
(In case of n=2, the function is called the Appell function F_2.) |
(In case of n=2, the function is called the Appell function F_2.) |
(c = [ generators, variables ]) |
(c = [ generators, variables ]) |
Line 320 $appell.sm1 generates Appell hypergeometric differenti |
|
Line 346 $appell.sm1 generates Appell hypergeometric differenti |
|
|
|
/appell2r { |
/appell2r { |
/arg1 set |
/arg1 set |
[/in-appell2r /typev /setarg /b /n /vv /i /a /c /bb /ans |
[/in-appell2r /typev /setarg /b /n /vv /i /a /c /bb /ans /r |
] pushVariables |
] pushVariables |
[(CurrentRingp) (KanGBmessage)] pushEnv %% push current global environment. |
[(CurrentRingp) (KanGBmessage)] pushEnv %% push current global environment. |
[ |
[ |
Line 328 $appell.sm1 generates Appell hypergeometric differenti |
|
Line 354 $appell.sm1 generates Appell hypergeometric differenti |
|
aa isArray { } { (array appell) message (appell2) usage error } ifelse |
aa isArray { } { (array appell) message (appell2) usage error } ifelse |
/setarg 0 def |
/setarg 0 def |
aa { tag } map /typev set |
aa { tag } map /typev set |
|
/r 0 def |
typev [ ArrayP ] eq |
typev [ ArrayP ] eq |
{ /b aa 0 get def |
{ /b aa 0 get def |
/setarg 1 def |
/setarg 1 def |
} { } ifelse |
} { } ifelse |
|
typev [ ArrayP RingP] eq |
|
{ /b aa 0 get def |
|
/setarg 1 def |
|
/r aa 1 get def |
|
} { } ifelse |
typev [ ] eq |
typev [ ] eq |
{ |
{ |
/b [1 [2 3] [4 5]] def |
/b [1 [2 3] [4 5]] def |
Line 351 $appell.sm1 generates Appell hypergeometric differenti |
|
Line 383 $appell.sm1 generates Appell hypergeometric differenti |
|
} for |
} for |
] /vv set |
] /vv set |
|
|
[vv from_records ring_of_differential_operators 0] define_ring |
r tag 1 eq { |
|
[vv from_records ring_of_differential_operators 0] define_ring |
|
} { |
|
r ring_def |
|
} ifelse |
|
|
%% b = [a [b_1 ... b_n] [c_1 ... c_n] ] |
%% b = [a [b_1 ... b_n] [c_1 ... c_n] ] |
/a b 0 get def |
/a b 0 get def |
Line 380 $appell.sm1 generates Appell hypergeometric differenti |
|
Line 416 $appell.sm1 generates Appell hypergeometric differenti |
|
arg1 |
arg1 |
} def |
} def |
%%[[(1).. (2).. div [(1).. (2).. div (1).. (2).. div] [1 1]] ] appell2r rank :: |
%%[[(1).. (2).. div [(1).. (2).. div (1).. (2).. div] [1 1]] ] appell2r rank :: |
|
[(appell2r) |
|
[(param appell2r c) |
|
(array param; array c;) |
|
(appell2r returns an annihilating ideal for ) |
|
(the Lauricella function F_A(a,b_1, ..., b_n, c_1, ..., c_n; x_1,...,x_n)) |
|
(for the parameter << param >> = [a, [b_1, ..., b_n], [c_1, ..., c_n]].) |
|
(In case of n=2, the function is called the Appell function F_2.) |
|
(c = [ generators, variables ]) |
|
(Example 1. [ [(1).. (2).. div [-4 -2] [5 6]] ] appell2r rank ::) |
|
$Example 2. [(a,x1,x2) ring_of_differential_operators 0] define_ring /r set $ |
|
$ [ [(a). (2).. div [(a). (1).. (3).. div] [(1). (1).]] r] appell2r $ |
|
] |
|
] putUsages |
|
|
( ) message-quiet ; |
( ) message-quiet ; |