123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602 |
- \section{Special Functions}
- \begin{Introduction}{Special Function Package}
- The REDUCE \name{Special Function Package} supplies extended
- algebraic and numeric support for a wide class of objects.
- This package was released together with REDUCE 3.5 (October 1993)
- for the first time, a major update is released with REDUCE 3.6.\\
- \\
- The functions included in this package are in most cases (unless otherwise
- stated) defined and named like in the book by Abramowitz and Stegun:
- Handbook of Mathematical Functions, Dover Publications.\\
- \\
- The aim is to collect as much information on the special functions
- and simplification capabilities as possible,
- i.e. algebraic simplifications and numeric (rounded mode) code, limits
- of the functions together
- with the definitions of the functions, which are in most cases a power
- series, a (definite) integral and/or a differential equation.\\
- \\
- {\em What can be found:} Some famous constants, a variety of Bessel functions,
- special polynomials,
- the Gamma function, the (Riemann) Zeta function, Elliptic Functions, Elliptic
- Integrals, 3J symbols (Clebsch-Gordan coefficients) and integral functions.\\
- \\
- {\em What is missing:} Mathieu functions, LerchPhi, etc..
- The information about the special functions which solve certain
- differential equation is very limited.
- In several cases numerical approximation is restricted to real
- arguments or is missing completely.\\
- \\
- The implementation of this package uses REDUCE rule sets to a large extent,
- which guarantees a high 'readability' of the functions definitions in the
- source file directory. It makes extensions to the special
- functions code easy in most cases too. To look at these rules
- it may be convenient to use the showrules operator e.g.\\
- \\
- \nameref{showrules} Besseli;\\
- .\\
- Some evaluations are improved if the special function package is loaded,
- e.g. some (infinite) sums and products leading to expressions including
- special functions are known in this case.\\
- \\
- Note: The special function package has to be loaded explicitly by calling
- \begin{verbatim}
- load_package specfn;
- \end{verbatim}
- The functions \nameref{MeijerG} and \nameref{hypergeometric} require
- additionally
- \begin{verbatim}
- load_package specfn2;
- \end{verbatim}
- \end{Introduction}
- \begin{Concept}{Constants}
- \index{Euler's constant}\index{Catalan's constant}\index{Khinchin's constant}
- \index{Golden_Ratio}
- There are a few constants known to the special function package, namely
- \begin{itemize}
- \item[\name{Euler's constant }] (which can be computed as -\nameref{Psi}(1)) and
- \item[\name{Khinchin's constant}] (which is defined in Khinchin's book
- ``Continued Fractions'') and
- \item[\name{Golden_Ratio}] (which can be computed as (1 + sqrt 5)/2) and
- \item[\name{Catalan's constant}] (which is known as an infinite sum of reciprocal
- powers)
- \end{itemize}
- \begin{Examples}
- on rounded;
- Euler_Gamma; & 0.577215664902 \\
- Khinchin; & 2.68545200107 \\
- Catalan & 0.915965594177 \\
- Golden_Ratio & 1.61803398875
- \end{Examples}
- \end{Concept}
- \subsection{Bernoulli Euler Zeta}
- \begin{Operator}{BERNOULLI}
- The \name{bernoulli} operator returns the nth Bernoulli number.
- \begin{Syntax}
- \name{Bernoulli}\(\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- bernoulli 20; & - 174611 / 330 \\
- bernoulli 17; & 0
- \end{Examples}
- \begin{Comments}
- All Bernoulli numbers with odd indices except for 1 are zero.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{BERNOULLIP}
- The \name{BernoulliP} operator returns the nth Bernoulli Polynomial
- evaluated at x.
- \begin{Syntax}
- \name{BernoulliP}\(\meta{integer},\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- BernoulliP(3,z); & z*(2*z^2 - 3*z + 1)/2\\
- BernoulliP(10,3); & 338585 / 66
- \end{Examples}
- \begin{Comments}
- The value of the nth Bernoulli Polynomial at 0 is the nth Bernoulli number.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{EULER}
- The \name{EULER} operator returns the nth Euler number.
- \begin{Syntax}
- \name{Euler}\(\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- Euler 20; & 370371188237525 \\
- Euler 0; & 1
- \end{Examples}
- \begin{Comments}
- The \name{Euler} numbers are evaluated by a recursive algorithm which
- makes it hard to compute Euler numbers above say 200.
- Euler numbers appear in the coefficients of the power series
- representation of 1/cos(z).
- \end{Comments}
- \end{Operator}
- \begin{Operator}{EULERP}
- The \name{EulerP} operator returns the nth Euler Polynomial.
- \begin{Syntax}
- \name{EulerP}\(\meta{integer},\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- EulerP(2,xx); & xx*(xx - 1) \\
- EulerP(10,3); & 2046
- \end{Examples}
- \begin{Comments}
- The Euler numbers are the values of the Euler Polynomials at 1/2
- multiplied by 2**n.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{ZETA}
- The \name{Zeta} operator returns Riemann's Zeta function,
- Zeta (z) := sum(1/(k**z),k,1,infinity)
- \begin{Syntax}
- \name{Zeta}\(\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- Zeta(2); & pi^2 / 6 \\
- on rounded; \\
- Zeta 1.01; & 100.577943338
- \end{Examples}
- \begin{Comments}
- Numerical computation for the Zeta function for arguments close to 1 are
- tedious, because the series is converging very slowly. In this case a formula
- (e.g. found in Bender/Orzag: Advanced Mathematical Methods for
- Scientists and Engineers, McGraw-Hill) is used.
- No numerical approximation for complex arguments is done.
- \end{Comments}
- \end{Operator}
- \subsection{Bessel Functions}
- \begin{Operator}{BESSELJ}
- The \name{BesselJ} operator returns the Bessel function of the first kind.
- \begin{Syntax}
- \name{BesselJ}\(\meta{order},\meta{argument}\)
- \end{Syntax}
- \begin{Examples}
- BesselJ(1/2,pi); & 0 \\
- on rounded; \\
- BesselJ(0,1); & 0.765197686558 \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{BESSELY}
- \index{Weber's function}
- The \name{BesselY} operator returns the Bessel function of the second kind.
- \begin{Syntax}
- \name{BesselY}\(\meta{order},\meta{argument}\)
- \end{Syntax}
- \begin{Examples}
- BesselY (1/2,pi); & - sqrt(2) / pi \\
- on rounded; \\
- BesselY (1,3); & 0.324674424792
- \end{Examples}
- \begin{Comments}
- The operator \name{BesselY} is also called Weber's function.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{HANKEL1}
- The \name{Hankel1} operator returns the Hankel function of the first kind.
- \begin{Syntax}
- \name{Hankel1}\(\meta{order},\meta{argument}\)
- \end{Syntax}
- \begin{Examples}
- on complex; \\
- Hankel1 (1/2,pi); & - i * sqrt(2) / pi \\
- Hankel1 (1,pi); & besselj(1,pi) + i*bessely(1,pi)
- \end{Examples}
- \begin{Comments}
- The operator \name{Hankel1} is also called Bessel function of the third kind.
- There is currently no numeric evaluation of Hankel functions.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{HANKEL2}
- The \name{Hankel2} operator returns the Hankel function of the second kind.
- \begin{Syntax}
- \name{Hankel2}\(\meta{order},\meta{argument}\)
- \end{Syntax}
- \begin{Examples}
- on complex; \\
- Hankel2 (1/2,pi); & - i * sqrt(2) / pi \\
- Hankel2 (1,pi); & besselj(1,pi) - i*bessely(1,pi)
- \end{Examples}
- \begin{Comments}
- The operator \name{Hankel2} is also called Bessel function of the third kind.
- There is currently no numeric evaluation of Hankel functions.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{BESSELI}
- The \name{BesselI} operator returns the modified Bessel function I.
- \begin{Syntax}
- \name{BesselI}\(\meta{order},\meta{argument}\)
- \end{Syntax}
- \begin{Examples}
- on rounded; \\
- Besseli (1,1); & 0.565159103992
- \end{Examples}
- \begin{Comments}
- The knowledge about the operator \name{BesselI} is currently fairly limited.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{BESSELK}
- The \name{BesselK} operator returns the modified Bessel function K.
- \begin{Syntax}
- \name{BesselK}\(\meta{order},\meta{argument}\)
- \end{Syntax}
- \begin{Examples}
- df(besselk(0,x),x); & - besselk(1,x)
- \end{Examples}
- \begin{Comments}
- There is currently no numeric support for the operator \name{BesselK}.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{StruveH}
- The \name{StruveH} operator returns Struve's H function.
- \begin{Syntax}
- \name{StruveH}\(\meta{order},\meta{argument}\)
- \end{Syntax}
- \begin{Examples}
- struveh(-3/2,x); & - besselj(3/2,x) / i
- \end{Examples}
- \end{Operator}
- \begin{Operator}{StruveL}
- The \name{StruveL} operator returns the modified Struve L function .
- \begin{Syntax}
- \name{StruveL}\(\meta{order},\meta{argument}\)
- \end{Syntax}
- \begin{Examples}
- struvel(-3/2,x); & besseli(3/2,x)
- \end{Examples}
- \end{Operator}
- \begin{Operator}{KummerM}
- \index{Confluent Hypergeometric function}
- The \name{KummerM} operator returns Kummer's M function.
- \begin{Syntax}
- \name{KummerM}\(\meta{parameter},\meta{parameter},\meta{argument}\)
- \end{Syntax}
- \begin{Examples}
- kummerm(1,1,x); & e^x \\
- on rounded; \\
- kummerm(1,3,1.3); & 1.62046942914
- \end{Examples}
- \begin{Comments}
- Kummer's M function is one of the Confluent Hypergeometric functions.
- For reference see the \nameref{hypergeometric} operator.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{KummerU}
- \index{Confluent Hypergeometric function}
- The \name{KummerU} operator returns Kummer's U function.
- \begin{Syntax}
- \name{KummerU}\(\meta{parameter},\meta{parameter},\meta{argument}\)
- \end{Syntax}
- \begin{Examples}
- df(kummeru(1,1,x),x) & - kummeru(2,2,x)
- \end{Examples}
- \begin{Comments}
- Kummer's U function is one of the Confluent Hypergeometric functions.
- For reference see the \nameref{hypergeometric} operator.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{WhittakerW}
- \index{Confluent Hypergeometric function}
- The \name{WhittakerW} operator returns Whittaker's W function.
- \begin{Syntax}
- \name{WhittakerW}\(\meta{parameter},\meta{parameter},\meta{argument}\)
- \end{Syntax}
- \begin{Examples}
- WhittakerW(2,2,2); & \rfrac{4*sqrt(2)*kummeru(\rfrac{1}{2},5,2)}{e}
- \end{Examples}
- \begin{Comments}
- Whittaker's W function is one of the Confluent Hypergeometric functions.
- For reference see the \nameref{hypergeometric} operator.
- \end{Comments}
- \end{Operator}
- \subsection{Airy Functions}
- \begin{Operator}{Airy_Ai}
- The \name{Airy\_Ai} operator returns the Airy Ai function for a given argument.
- \begin{Syntax}
- \name{Airy\_Ai}\(\meta{argument}\)
- \end{Syntax}
- \begin{Examples}
- on complex;
- on rounded;
- Airy_Ai(0); & 0.355028053888 \\
- Airy_Ai(3.45 + 17.97i); & - 5.5561528511e+9 - 8.80397899932e+9*i \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{Airy_Bi}
- The \name{Airy\_Bi} operator returns the Airy Bi function for a given
- argument.
- \begin{Syntax}
- \name{Airy\_Bi}\(\meta{argument}\)
- \end{Syntax}
- \begin{Examples}
- Airy_Bi(0); & 0.614926627446 \\
- Airy_Bi(3.45 + 17.97i); & 8.80397899932e+9 - 5.5561528511e+9*i \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{Airy_Aiprime}
- The \name{Airy\_Aiprime} operator returns the Airy Aiprime function for a
- given argument.
- \begin{Syntax}
- \name{Airy\_Aiprime}\(\meta{argument}\)
- \end{Syntax}
- \begin{Examples}
- Airy_Aiprime(0); & - 0.258819403793 \\
- Airy_Aiprime(3.45+17.97i);& - 3.83386421824e+19 + 2.16608828136e+19*i \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{Airy_Biprime}
- The \name{Airy\_Biprime} operator returns the Airy Biprime function for a
- given argument.
- \begin{Syntax}
- \name{Airy\_Biprime}\(\meta{argument}\)
- \end{Syntax}
- \begin{Examples}
- Airy_Biprime(0); & \\
- Airy_Biprime(3.45 + 17.97i); & 3.84251916792e+19 - 2.18006297399e+19*i\\
- \end{Examples}
- \end{Operator}
- \subsection{Jacobi's Elliptic Functions and Elliptic Integrals}
- \begin{Operator}{JacobiSN}
- The \name{Jacobisn} operator returns the Jacobi Elliptic function sn.
- \begin{Syntax}
- \name{Jacobisn}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- Jacobisn(0.672, 0.36) & 0.609519691792 \\
- Jacobisn(1,0.9) & 0.770085724907881 \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{JacobiCN}
- The \name{Jacobicn} operator returns the Jacobi Elliptic function cn.
- \begin{Syntax}
- \name{Jacobicn}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- Jacobicn(7.2, 0.6) & 0.837288298482018 \\
- Jacobicn(0.11, 19) & 0.994403862690043 - 1.6219006985556e-16*i \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{JacobiDN}
- The \name{Jacobidn} operator returns the Jacobi Elliptic function dn.
- \begin{Syntax}
- \name{Jacobidn}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- Jacobidn(15, 0.683) & 0.640574162024592 \\
- Jacobidn(0,0) & 1 \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{JacobiCD}
- The \name{Jacobicd} operator returns the Jacobi Elliptic function cd.
- \begin{Syntax}
- \name{Jacobicd}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- Jacobicd(1, 0.34) & 0.657683337805273 \\
- Jacobicd(0.8,0.8) & 0.925587311582301 \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{JacobiSD}
- The \name{Jacobisd} operator returns the Jacobi Elliptic function sd.
- \begin{Syntax}
- \name{Jacobisd}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- Jacobisd(12, 0.4) & 0.357189729437272 \\
- Jacobisd(0.35,1) & - 1.17713873203043 \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{JacobiND}
- The \name{Jacobind} operator returns the Jacobi Elliptic function nd.
- \begin{Syntax}
- \name{Jacobind}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- Jacobind(0.2, 17) & 1.46553203037507 + 0.0000000000334032759313703*i \\
- Jacobind(30, 0.001) & 1.00048958438 \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{JacobiDC}
- The \name{Jacobidc} operator returns the Jacobi Elliptic function dc.
- \begin{Syntax}
- \name{Jacobidc}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- Jacobidc(0.003,1) & 1 \\
- Jacobidc(2, 0.75) & 6.43472885111 \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{JacobiNC}
- The \name{Jacobinc} operator returns the Jacobi Elliptic function nc.
- \begin{Syntax}
- \name{Jacobinc}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- Jacobinc(1,0) & 1.85081571768093 \\
- Jacobinc(56, 0.4387) & 39.304842663512 \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{JacobiSC}
- The \name{Jacobisc} operator returns the Jacobi Elliptic function sc.
- \begin{Syntax}
- \name{Jacobisc}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- Jacobisc(9, 0.88) & - 1.16417697982095 \\
- Jacobisc(0.34, 7) & 0.305851938390775 - 9.8768100944891e-12*i \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{JacobiNS}
- The \name{Jacobins} operator returns the Jacobi Elliptic function ns.
- \begin{Syntax}
- \name{Jacobins}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- Jacobins(3, 0.9) & 1.00945801599785 \\
- Jacobins(0.887, 15) & 0.683578280513975 - 0.85023411082469*i \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{JacobiDS}
- The \name{Jacobisn} operator returns the Jacobi Elliptic function ds.
- \begin{Syntax}
- \name{Jacobids}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- Jacobids(98,0.223) & - 1.061253961477 \\
- Jacobids(0.36,0.6) & 2.76693172243692 \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{JacobiCS}
- The \name{Jacobics} operator returns the Jacobi Elliptic function cs.
- \begin{Syntax}
- \name{Jacobics}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- Jacobics(0, 0.767) & infinity \\
- Jacobics(1.43, 0) & 0.141734127352112 \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{JacobiAMPLITUDE}
- The \name{JacobiAmplitude} operator returns the amplitude of u.
- \begin{Syntax}
- \name{JacobiAmplitude}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- JacobiAmplitude(7.239, 0.427) & 0.0520978301448978 \\
- JacobiAmplitude(0,0.1) & 0 \\
- \end{Examples}
- \begin{Comments}
- Amplitude u = asin(\name{Jacobisn(u,m)})
- \end{Comments}
- \end{Operator}
- \begin{Operator}{AGM_FUNCTION}
- The \name{AGM_function} operator returns a list of (N, AGM,
- list of aNtoa0, list of bNtob0, list of cNtoc0) where a0, b0 and c0
- are the initial values; N is the index number of the last term
- used to generate the AGM. AGM is the Arithmetic Geometric Mean.
- \begin{Syntax}
- \name{AGM_function}\(\meta{integer},\meta{integer},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- AGM_function(1,1,1) & {1,1,{1,1},{1,1},{0,1}} \\
- AGM_function(1, 0.1, 1.3) &
- \begin{multilineoutput}{6cm}
- \{6,
- 2.27985615996629,
- \{2.27985615996629, 2.27985615996629,
- 2.2798561599706, 2.2798624278857,
- 2.28742283656583, 2.55, 1\},
- \{2.27985615996629, 2.27985615996629,
- 2.27985615996198, 2.2798498920555,
- 2.27230201920557, 2.02484567313166, 4.1\},
- \{0, 4.30803136219904e-12, 0.0000062679151007581,
- 0.00756040868012758, 0.262577163434171, - 1.55, 5.9\}\}
- \end{multilineoutput} \\
- \end{Examples}
- \begin{Comments}
- The other Jacobi functions use this function with initial values
- a0=1, b0=sqrt(1-m), c0=sqrt(m).
- \end{Comments}
- \end{Operator}
- \begin{Operator}{LANDENTRANS}
- The \name{landentrans} operator generates the descending landen
- transformation of the given imput values, returning a list of these
- values; initial to final in each case.
- \begin{Syntax}
- \name{landentrans}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- landentrans(0,0.1) & \{\{0,0,0,0,0\},\{0.1,0.0025041751943776, \\
- & 0.00000156772498954046,6.1444078 9914461e-13,0\}\} \\
- \end{Examples}
- \begin{Comments}
- The first list ascends in value, and the second descends in value.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{EllipticF}
- The \name{EllipticF} operator returns the Elliptic Integral of the
- First Kind.
- \begin{Syntax}
- \name{EllitpicF}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- EllipticF(0.3, 8.222) & 0.3 \\
- EllipticF(7.396, 0.1) & 7.58123216114307 \\
- \end{Examples}
- \begin{Comments}
- The Complete Elliptic Integral of the First Kind can be found by
- putting the first argument to pi/2 or by using \name{EllipticK}
- and the second argument.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{EllipticK}
- The \name{EllipticK} operator returns the Elliptic value K.
- \begin{Syntax}
- \name{EllipticK}\(\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- EllipticK(0.2) & 1.65962359861053 \\
- EllipticK(4.3) & 0.808442364282734 - 1.05562492399206*i \\
- EllipticK(0.000481) & 1.57098526617635 \\
- \end{Examples}
- \begin{Comments}
- The \name{EllipticK} function is the Complete Elliptic Integral of
- the First Kind.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{EllipticKprime}
- The \name{EllipticK'} operator returns the Elliptic value K(m).
- \begin{Syntax}
- \name{EllipticKprime}\(\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- EllipticKprime(0.2) & 2.25720532682085 \\
- EllipticKprime(4.3) & 1.05562492399206 \\
- EllipticKprime(0.000481) & 5.206621921966 \\
- \end{Examples}
- \begin{Comments}
- The \name{EllipticKprime} function is the Complete Elliptic Integral of
- the First Kind of (1-m).
- \end{Comments}
- \end{Operator}
- \begin{Operator}{EllipticE}
- The \name{EllipticE} operator used with two arguments
- returns the Elliptic Integral of the Second Kind.
- \begin{Syntax}
- \name{EllipticE}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- EllipticE(1.2,0.22) & 1.15094019180949 \\
- EllipticE(0,4.35) & 0 \\
- EllipticE(9,0.00719) & 8.98312465929145 \\
- \end{Examples}
- \begin{Comments}
- The Complete Elliptic Integral of the Second Kind can be obtained by
- using just the second argument, or by using pi/2 as the first argument.
- \end{Comments}
- The \name{EllipticE} operator used with one argument
- returns the Elliptic value E.
- \begin{Syntax}
- \name{EllipticE}\(\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- EllipticE(0.22) & 1.48046637439519 \\
- EllipticE(pi/2, 0.22) & 1.48046637439519 \\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{EllipticTHETA}
- The \name{EllipticTheta} operator returns one of the four Theta
- functions. It cannot except any number other than 1,2,3 or 4 as
- its first argument.
- \begin{Syntax}
- \name{EllipticTheta}\(\meta{integer},\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- EllipticTheta(1, 1.4, 0.72) & 0.91634775373 \\
- EllipticTheta(2, 3.9, 6.1 ) & -48.0202736969 + 20.9881034377 i \\
- EllipticTheta(3, 0.67, 0.2) & 1.0083077448 \\
- EllipticTheta(4, 8, 0.75) & 0.894963369304 \\
- EllipticTheta(5, 1, 0.1) & ***** In EllipticTheta(a,u,m); a = 1,2,3 or 4.
- \\
- \end{Examples}
- \begin{Comments}
- Theta functions are important because every one of the Jacobian
- Elliptic functions can be expressed as the ratio of two theta functions.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{JacobiZETA}
- The \name{JacobiZeta} operator returns the Jacobian function Zeta.
- \begin{Syntax}
- \name{JacobiZeta}\(\meta{expression},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- JacobiZeta(3.2, 0.8) & - 0.254536403439 \\
- JacobiZeta(0.2, 1.6) & 0.171766095970451 - 0.0717028569800147*i \\
- \end{Examples}
- \begin{Comments}
- The Jacobian function Zeta is related to the Jacobian function Theta.
- But it is significantly different from Riemann's Zeta Function \nameref{Zeta}.
- \end{Comments}
- \end{Operator}
- \subsection{Gamma and Related Functions}
- \begin{Operator}{POCHHAMMER}
- The \name{Pochhammer} operator implements the Pochhammer notation
- (shifted factorial).
- \begin{Syntax}
- \name{Pochhammer}\(\meta{expression},\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- pochhammer(17,4); & 116280 \\
- pochhammer(1/2,z); &
- \rfrac{factorial(2*z)}{(2^{2*z}*factorial(z))}
- \end{Examples}
- \begin{Comments}
- A number of complex rules for \name{Pochhammer} are inactive, because they
- cause a huge system load in algebraic mode. If one wants to use more rules
- for the simplification of Pochhammer's notation, one can do:
- \\
- let special!*pochhammer!*rules;
- \end{Comments}
- \end{Operator}
- \begin{Operator}{GAMMA}
- The \name{Gamma} operator returns the Gamma function.
- \begin{Syntax}
- \name{Gamma}\(\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- gamma(10); & 362880 \\
- gamma(1/2); & sqrt(pi)
- \end{Examples}
- \end{Operator}
- \begin{Operator}{BETA}
- The \name{Beta} operator returns the Beta function defined by
- Beta (z,w) := defint(t**(z-1)* (1 - t)**(w-1),t,0,1) .
- \begin{Syntax}
- \name{Beta}\(\meta{expression},\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- Beta(2,2); & 1 / 6 \\
- Beta(x,y); & gamma(x)*gamma(y) / gamma(x + y)
- \end{Examples}
- \begin{Comments}
- The operator \name{Beta} is simplified towards the \nameref{GAMMA} operator.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{PSI}
- \index{Euler's constant}
- The \name{Psi} operator returns the Psi (or DiGamma) function.
- Psi(x) := df(Gamma(z),z)/ Gamma (z)
- \begin{Syntax}
- \name{Gamma}\(\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- Psi(3); & (2*log(2) + psi(1/2) + psi(1) + 3)/2 \\
- on rounded; \\
- - Psi(1); & 0.577215664902
- \end{Examples}
- \begin{Comments}
- Euler's constant can be found as - Psi(1).
- \end{Comments}
- \end{Operator}
- \begin{Operator}{POLYGAMMA}
- The \name{Polygamma} operator returns the Polygamma function.
- Polygamma(n,x) := df(Psi(z),z,n);
- \begin{Syntax}
- \name{Polygamma}\(\meta{integer},\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- Polygamma(1,2); & (pi^2 - 6) / 6\\
- on rounded; \\
- Polygamma(1,2.35); & 0.52849689109
- \end{Examples}
- \begin{Comments}
- The Polygamma function is used for simplification of the \nameref{ZETA}
- function for some arguments.
- \end{Comments}
- \end{Operator}
- \subsection{Miscellaneous Functions}
- \begin{Operator}{DILOG extended}
- \index{Spence's Integral}
- The package \name{specfn} supplies an extended support for the
- \nameref{dilog} operator which implements the \nameindex{dilogarithm function}.
- dilog(x) := - defint(log(t)/(t - 1),t,1,x);
- \begin{Syntax}
- \name{Dilog}\(\meta{order},\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- defint(log(t)/(t - 1),t,1,x); & - dilog (x) \\
- dilog 2; & - pi^2 /12 \\
- on rounded; \\
- Dilog 20; & - 5.92783972438
- \end{Examples}
- \begin{Comments}
- The operator \name{Dilog} is sometimes called Spence's Integral for n = 2.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{Lambert\_W function}
- Lambert's W function is the inverse of the function w * e**w.
- It is used in the \nameref{solve} package for equations containing
- exponentials and logarithms.
- \begin{Syntax}
- \name{Lambert\_W}\(\meta{z}\)
- \end{Syntax}
- \begin{Examples}
- Lambert_W(-1/e); & -1 \\
- solve(w + log(w),w); & {w=lambert\_w(1)}\\
- on rounded; \\
- Lambert_W(-0.05); & - 0.0527059835515
- \end{Examples}
- \begin{Comments}
- The current implementation will compute the principal branch in
- rounded mode only.
- \end{Comments}
- \end{Operator}
- \subsection{Orthogonal Polynomials}
- \begin{Operator}{ChebyshevT}
- The \name{ChebyshevT} operator computes the nth Chebyshev T Polynomial (of the
- first kind).
- \begin{Syntax}
- \name{ChebyshevT}\(\meta{integer},\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- ChebyshevT(3,xx); & xx*(4*xx^2 - 3) \\
- ChebyshevT(3,4); & 244
- \end{Examples}
- \begin{Comments}
- Chebyshev's T polynomials are computed using the recurrence relation:
- ChebyshevT(n,x) := 2x*ChebyshevT(n-1,x) - ChebyshevT(n-2,x) with \\
- ChebyshevT(0,x) := 0 and ChebyshevT(1,x) := x
- \end{Comments}
- \end{Operator}
- \begin{Operator}{ChebyshevU}
- The \name{ChebyshevU} operator returns the nth Chebyshev U Polynomial (of the
- second kind).
- \begin{Syntax}
- \name{ChebyshevU}\(\meta{integer},\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- ChebyshevU(3,xx); & 4*x*(2*x^2 - 1) \\
- ChebyshevU(3,4); & 496
- \end{Examples}
- \begin{Comments}
- Chebyshev's U polynomials are computed using the recurrence relation:
- ChebyshevU(n,x) := 2x*ChebyshevU(n-1,x) - ChebyshevU(n-2,x) with \\
- ChebyshevU(0,x) := 0 and ChebyshevU(1,x) := 2x
- \end{Comments}
- \end{Operator}
- \begin{Operator}{HermiteP}
- The \name{HermiteP} operator returns the nth Hermite Polynomial.
- \begin{Syntax}
- \name{HermiteP}\(\meta{integer},\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- HermiteP(3,xx); & 4*xx*(2*xx^2 - 3) \\
- HermiteP(3,4); & 464
- \end{Examples}
- \begin{Comments}
- Hermite polynomials are computed using the recurrence relation:
- \\
- HermiteP(n,x) := 2x*HermiteP(n-1,x) - 2*(n-1)*HermiteP(n-2,x) with \\
- HermiteP(0,x) := 1 and HermiteP(1,x) := 2x
- \end{Comments}
- \end{Operator}
- \begin{Operator}{LaguerreP}
- The \name{LaguerreP} operator computes the nth Laguerre Polynomial.
- The two argument call of LaguerreP is a (common) abbreviation of
- LaguerreP(n,0,x).
- \begin{Syntax}
- \name{LaguerreP}\(\meta{integer},\meta{expression}\) or\\
- \name{LaguerreP}\(\meta{integer},\meta{expression},\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- LaguerreP(3,xx); & (- xx^3 + 9*xx^2 - 18*xx + 6)/6\\
- LaguerreP(2,3,4); & -2
- \end{Examples}
- \begin{Comments}
- Laguerre polynomials are computed using the recurrence relation:
- LaguerreP(n,a,x) := (2n+a-1-x)/n*LaguerreP(n-1,a,x) -
- (n+a-1) * LaguerreP(n-2,a,x) with \\
- \\
- LaguerreP(0,a,x) := 1 and LaguerreP(2,a,x) := -x+1+a
- \end{Comments}
- \end{Operator}
- \begin{Operator}{LegendreP}
- The binary \name{LegendreP} operator computes the nth Legendre
- Polynomial which is
- a special case of the nth Jacobi Polynomial with \\
- \\
- LegendreP(n,x) := JacobiP(n,0,0,x)\\
- \\
- The ternary form returns the associated Legendre Polynomial (see below).
- \begin{Syntax}
- \name{LegendreP}\(\meta{integer},\meta{expression}\) or\\
- \name{LegendreP}\(\meta{integer},\meta{expression},\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- LegendreP(3,xx); &\rfrac{xx*(5*xx^2 - 3)}{2}\\
- LegendreP(3,2,xx); &15*xx*( - xx^2 + 1)
- \end{Examples}
- \begin{Comments}
- The ternary form of the operator \name{LegendreP} is the associated
- Legendre Polynomial defined as \\
- \\
- P(n,m,x) = (-1)**m * (1-x**2)**(m/2) * df(LegendreP(n,x),x,m)
- \end{Comments}
- \end{Operator}
- \begin{Operator}{JacobiP}
- The \name{JacobiP} operator computes the nth Jacobi Polynomial.
- \begin{Syntax}
- \name{JacobiP}\(\meta{integer},\meta{expression},\meta{expression},
- \meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- JacobiP(3,4,5,xx); & \rfrac{7*(65*xx^3 - 13*xx^2 - 13*xx + 1)}{8}\\
- JacobiP(3,4,5,6); & 94465/8
- \end{Examples}
- \end{Operator}
- \begin{Operator}{GegenbauerP}
- \index{ultraspherical polynomials}
- The \name{GegenbauerP} operator computes Gegenbauer's (ultraspherical)
- polynomials.
- \begin{Syntax}
- \name{GegenbauerP}\(\meta{integer},\meta{expression},\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- GegenbauerP(3,2,xx); & 4*xx*(8*xx^2 - 3)\\
- GegenbauerP(3,2,4); & 2000
- \end{Examples}
- \end{Operator}
- \begin{Operator}{SolidHarmonicY}
- \index{Solid harmonic polynomials}
- The \name{SolidHarmonicY} operator computes Solid harmonic (Laplace)
- polynomials.
- \begin{Syntax}
- \name{SolidHarmonicY}\(\meta{integer},\meta{integer},
- \meta{expression},\meta{expression},\meta{expression},\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- SolidHarmonicY(3,-2,x,y,z,r2); &
- \rfrac{sqrt(105)*z*(-2*i*x*y + x^2 - y^2)}{4*sqrt(pi)*sqrt(2)}\\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{SphericalHarmonicY}
- \index{Spherical harmonic polynomials}
- The \name{SphericalHarmonicY} operator computes Spherical harmonic (Laplace)
- polynomials. These are special cases of the
- solid harmonic polynomials, \nameref{SolidHarmonicY}.
- \begin{Syntax}
- \name{SphericalHarmonicY}\(\meta{integer},\meta{integer},
- \meta{expression},\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- SphericalHarmonicY(3,2,theta,phi); &
-
- \rfrac{sqrt(105)*cos(theta)*sin(theta)^2*(cos(phi)^2+2*cos(phi)*sin(phi)*i-
- sin(phi)^2)}{4*sqrt(pi)*sqrt(2)}\\
- \end{Examples}
- \end{Operator}
- \subsection{Integral Functions}
- \index{sine integral function}
- \begin{Operator}{Si}
- \index{Sine integral function}\index{integral function}
- The \name{Si} operator returns the Sine Integral function.
- \begin{Syntax}
- \name{Si}\(\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- limit(Si(x),x,infinity); & pi / 2 \\
- on rounded; \\
- Si(0.35); & 0.347626790989
- \end{Examples}
- \begin{Comments}
- The numeric values for the operator \name{Si} are computed via the
- power series representation, which limits the argument range.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{Shi}
- \index{hyperbolic sine integral function}\index{integral function}
- The \name{Shi} operator returns the hyperbolic Sine Integral function.
- \begin{Syntax}
- \name{Shi}\(\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- df(shi(x),x); & sinh(x) / x \\
- on rounded; \\
- Shi(0.35); & 0.352390716351
- \end{Examples}
- \begin{Comments}
- The numeric values for the operator \name{Shi} are computed via the
- power series representation, which limits the argument range.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{s_i}
- \index{sine integral function}\index{integral function}
- The \name{s_i} operator returns the Sine Integral function si.
- \begin{Syntax}
- \name{s_i}\(\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- s_i(xx); & (2*Si(xx) - pi) / 2 \\
- df(s_i(x),x); & sin(x) / x
- \end{Examples}
- \begin{Comments}
- The operator name \name{s_i} is simplified towards \nameref{SI}.
- Since REDUCE is not case sensitive by default the name ``si'' can't be
- used.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{Ci}
- \index{cosine integral function}
- The \name{Ci} operator returns the Cosine Integral function.
- \begin{Syntax}
- \name{Ci}\(\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- defint(cos(t)/t,t,x,infinity); & - ci (x) \\
- on rounded; \\
- Ci(0.35); & - 0.50307556932
- \end{Examples}
- \begin{Comments}
- The numeric values for the operator \name{Ci} are computed via the
- power series representation, which limits the argument range.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{Chi}
- \index{hyperbolic cosine integral function}\index{integral function}
- The \name{Chi} operator returns the Hyperbolic Cosine Integral function.
- \begin{Syntax}
- \name{Chi}\(\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- defint((cosh(t)-1)/t,t,0,x); & - log(x) + psi(1) + chi(x)\\
- on rounded; \\
- Chi(0.35); & - 0.44182471827
- \end{Examples}
- \begin{Comments}
- The numeric values for the operator \name{Chi} are computed via the
- power series representation, which limits the argument range.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{ERF extended}
- \index{error function}
- The special function package supplies an extended support for the
- \nameref{erf} operator which implements the \nameindex{error function} \\
- \\
- defint(e**(-x**2),x,0,infinity) * 2/sqrt(pi) \\
- .\\
- \begin{Syntax}
- \name{erf}\(\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- erf(-x); & - erf(x)\\
- on rounded; \\
- erf(0.35); & 0.379382053562
- \end{Examples}
- \begin{Comments}
- The numeric values for the operator \name{erf} are computed via the
- power series representation, which limits the argument range.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{erfc}
- \index{error function}\index{complementary error function}
- The \name{erfc} operator returns the complementary Error function\\
- \\
- 1 - defint(e**(-x**2),x,0,infinity) * 2/sqrt(pi) \\
- .\\
- \begin{Syntax}
- \name{erfc}\(\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- erfc(xx); & - erf(xx) + 1
- \end{Examples}
- \begin{Comments}
- The operator \name{erfc} is simplified towards the \nameref{erf} operator.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{Ei}
- \index{exponential integral function}
- The \name{Ei} operator returns the Exponential Integral function.
- \begin{Syntax}
- \name{Ei}\(\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- df(ei(x),x); & \rfrac{e^x}{x}\\
- on rounded; \\
- Ei(0.35); & - 0.0894340019184
- \end{Examples}
- \begin{Comments}
- The numeric values for the operator \name{Ei} are computed via the
- power series representation, which limits the argument range.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{Fresnel_C}
- The \name{Fresnel_C} operator represents Fresnel's Cosine function.
- \begin{Syntax}
- \name{Fresnel_C}\(\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- int(cos(t^2*pi/2),t,0,x); & fresnel\_c(x) \\
- on rounded; \\
- fresnel_c(2.1); & 0.581564135061
- \end{Examples}
- \begin{Comments}
- The operator \name{Fresnel_C} has a limited numeric evaluation of
- large values of its argument.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{Fresnel_S}
- The \name{Fresnel_S} operator represents Fresnel's Sine Integral function.
- \begin{Syntax}
- \name{Fresnel_S}\(\meta{expression}\)
- \end{Syntax}
- \begin{Examples}
- int(sin(t^2*pi/2),t,0,x); & fresnel\_s(x) \\
- on rounded; \\
- fresnel_s(2.1); & 0.374273359378
- \end{Examples}
- \begin{Comments}
- The operator \name{Fresnel_S} has a limited numeric evaluation of
- large values of its argument.
- \end{Comments}
- \end{Operator}
- \subsection{Combinatorial Operators}
- \begin{Operator}{BINOMIAL}
- The \name{Binomial} operator returns the Binomial coefficient if both
- parameter are integer and expressions involving the Gamma function otherwise.
- \begin{Syntax}
- \name{Binomial}\(\meta{integer},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- Binomial(49,6); & 13983816 \\
- Binomial(n,3); & \rfrac{gamma(n + 1)}{6*gamma(n - 2)}
- \end{Examples}
- \begin{Comments}
- The operator \name{Binomial} evaluates the Binomial coefficients from
- the explicit form and therefore it is not the best algorithm if you
- want to compute many binomial coefficients with big indices in which
- case a recursive algorithm is preferable.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{STIRLING1}
- The \name{Stirling1} operator returns the Stirling Numbers S(n,m) of the first
- kind, i.e. the number of permutations of n symbols which have exactly m cycles
- (divided by (-1)**(n-m)).
- \begin{Syntax}
- \name{Stirling1}\(\meta{integer},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- Stirling1 (17,4); & -87077748875904 \\
- Stirling1 (n,n-1); & \rfrac{-gamma(n+1)}{2*gamma(n-1)}
- \end{Examples}
- \begin{Comments}
- The operator \name{Stirling1} evaluates the Stirling numbers of the
- first kind by rulesets for special cases or by a computing the closed
- form, which is a series involving the operators \nameref{BINOMIAL}
- and \nameref{STIRLING2}.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{STIRLING2}
- The \name{Stirling1} operator returns the Stirling Numbers S(n,m) of the
- second kind, i.e. the number of ways of partitioning a set of n elements
- into m non-empty subsets.
- \begin{Syntax}
- \name{Stirling2}\(\meta{integer},\meta{integer}\)
- \end{Syntax}
- \begin{Examples}
- Stirling2 (17,4); & 694337290 \\
- Stirling2 (n,n-1); & \rfrac{gamma(n+1)}{2*gamma(n-1)}
- \end{Examples}
- \begin{Comments}
- The operator \name{Stirling2} evaluates the Stirling numbers of the
- second kind by rulesets for special cases or by a computing the closed
- form.
- \end{Comments}
- \end{Operator}
- \subsection{3j and 6j symbols}
- \begin{Operator}{ThreejSymbol}
- The \name{ThreejSymbol} operator implements the 3j symbol.
- \begin{Syntax}
- \name{ThreejSymbol}\(\meta{list of j1,m1},\meta{list of j2,m2},
- \meta{list of j3,m3}\)
- \end{Syntax}
- \begin{Examples}
- ThreejSymbol({j+1,m},{j+1,-m},{1,0}); &
- \rfrac{( - 1)^j *(abs(j - m + 1) - abs(j + m + 1))}
- { 2*sqrt(2*j^3 + 9*j^2 + 13*j + 6)*( - 1)^m}\\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{Clebsch_Gordan}
- The \name{Clebsch\_Gordan} operator implements the Clebsch\_Gordan
- coefficients. This is closely related to the \nameref{Threejsymbol}.
- \begin{Syntax}
- \name{Clebsch\_Gordan}\(\meta{list of j1,m1},\meta{list of j2,m2},
- \meta{list of j3,m3}\)
- \end{Syntax}
- \begin{Examples}
- Clebsch_Gordan({2,0},{2,0},{2,0}); & \rfrac{-2}{sqrt(14)}\\
- \end{Examples}
- \end{Operator}
- \begin{Operator}{SixjSymbol}
- The \name{SixjSymbol} operator implements the 6j symbol.
- \begin{Syntax}
- \name{SixjSymbol}\(\meta{list of j1,j2,j3},\meta{list of l1,l2,l3}\)
- \end{Syntax}
- \begin{Examples}
- SixjSymbol({7,6,3},{2,4,6}); & \rfrac{1}{14*sqrt(858)}\\
- \end{Examples}
- \begin{Comments}
- The operator \name{SixjSymbol} uses the \nameref{ineq} package in order
- to find minima and maxima for the summation index.
- \end{Comments}
- \end{Operator}
- \subsection{Miscellaneous}
- \begin{Operator}{HYPERGEOMETRIC}
- \index{hypergeometric function}
- \index{generalized hypergeometric function}
- The \name{Hypergeometric} operator provides simplifications for the
- generalized hypergeometric functions.
- The \name{Hypergeometric} operator is included in the package specfn2.
- \begin{Syntax}
- \name{hypergeometric}\(\meta{list of parameters},\meta{list of parameters},
- \meta{argument}\)
- \end{Syntax}
- \begin{Examples}
- load specfn2;\\
- hypergeometric ({1/2,1},{3/2},-x^2); & \rfrac{atan(x)}{x}\\
- hypergeometric ({},{},z); & e^z
- \end{Examples}
- \begin{Comments}
- The special case where the length of the first list is equal to 2 and
- the length of the second list is equal to 1 is often called
- ``the hypergeometric function'' (notated as 2F1(a1,a2,b;x)).
- \end{Comments}
- \end{Operator}
- \begin{Operator}{MeijerG}
- The \name{MeijerG} operator provides simplifications for Meijer's G
- function. The simplifications are performed towards polynomials,
- elementary or
- special functions or (generalized) \nameref{hypergeometric} functions.
- The \name{MeijerG} operator is included in the package specfn2.
- \begin{Syntax}
- \name{MeijerG}\(\meta{list of parameters},\meta{list of parameters},
- \meta{argument}\)
- \end{Syntax}
- The first element of the lists has to be the list containing the
- first group (mostly called ``m'' and ``n'') of parameters. This passes
- the four parameters of a Meijer's G function implicitly via the
- length of the lists.
- \begin{Examples}
- load specfn2;\\
- MeijerG({{},1},{{0}},x); & heaviside(-x+1)\\
- MeijerG({{}},{{1+1/4},1-1/4},(x^2)/4) * sqrt pi;
- & \rfrac{sqrt(2)*sin(x)*x^2}{4*sqrt(x)}
- \end{Examples}
- \begin{Comments}
- Many well-known functions can be written as G functions,
- e.g. exponentials, logarithms, trigonometric functions, Bessel functions
- and hypergeometric functions.
- The formulae can be found e.g. in \\
- A.P.Prudnikov, Yu.A.Brychkov, O.I.Marichev:
- Integrals and Series, Volume 3: More special functions,
- Gordon and Breach Science Publishers (1990).
- \end{Comments}
- \end{Operator}
- \begin{Operator}{Heaviside}
- The \name{Heaviside} operator returns the Heaviside function. \\
- Heaviside(~w) => if (w < 0) then 0 else 1 \\
- when numberp w;
- \begin{Syntax}
- \name{Heaviside}\(\meta{argument}\)
- \end{Syntax}
- \begin{Comments}
- This operator is often included in the result of the simplification
- of a generalized \nameref{hypergeometric} function or a
- \nameref{MeijerG} function.
- No simplification is done for this function.
- \end{Comments}
- \end{Operator}
- \begin{Operator}{erfi}
- The \name{erfi} operator returns the error function of an imaginary argument.
- erfi(~x) => 2/sqrt(pi) * defint(e**(t**2),t,0,x);
- \begin{Syntax}
- \name{erfi}\(\meta{argument}\)
- \end{Syntax}
- \begin{Comments}
- This operator is sometimes included in the result of the simplification
- of a generalized \nameref{hypergeometric} function or a
- \nameref{MeijerG} function.
- No simplification is done for this function.
- \end{Comments}
- \end{Operator}
|