From ab8cc85adde879fb963c94d15675783f2cf4b183 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Tue, 14 Aug 2007 05:14:52 +0000 Subject: Initial population. --- src/algebra/trigcat.spad.pamphlet | 333 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 333 insertions(+) create mode 100644 src/algebra/trigcat.spad.pamphlet (limited to 'src/algebra/trigcat.spad.pamphlet') diff --git a/src/algebra/trigcat.spad.pamphlet b/src/algebra/trigcat.spad.pamphlet new file mode 100644 index 00000000..e3d7bb32 --- /dev/null +++ b/src/algebra/trigcat.spad.pamphlet @@ -0,0 +1,333 @@ +\documentclass{article} +\usepackage{axiom} +\begin{document} +\title{\$SPAD/src/algebra trigcat.spad} +\author{Manuel Bronstein} +\maketitle +\begin{abstract} +\end{abstract} +\eject +\tableofcontents +\eject +\section{category ELEMFUN ElementaryFunctionCategory} +<>= +)abbrev category ELEMFUN ElementaryFunctionCategory +++ Category for the elementary functions +++ Author: Manuel Bronstein +++ Date Created: ??? +++ Date Last Updated: 14 May 1991 +++ Description: Category for the elementary functions; +ElementaryFunctionCategory(): Category == with + log : $ -> $ ++ log(x) returns the natural logarithm of x. + exp : $ -> $ ++ exp(x) returns %e to the power x. + "**": ($, $) -> $ ++ x**y returns x to the power y. + add + if $ has Monoid then + x ** y == exp(y * log x) + +@ +\section{category AHYP ArcHyperbolicFunctionCategory} +<>= +)abbrev category AHYP ArcHyperbolicFunctionCategory +++ Category for the inverse hyperbolic trigonometric functions +++ Author: ??? +++ Date Created: ??? +++ Date Last Updated: 14 May 1991 +++ Description: +++ Category for the inverse hyperbolic trigonometric functions; +ArcHyperbolicFunctionCategory(): Category == with + acosh: $ -> $ ++ acosh(x) returns the hyperbolic arc-cosine of x. + acoth: $ -> $ ++ acoth(x) returns the hyperbolic arc-cotangent of x. + acsch: $ -> $ ++ acsch(x) returns the hyperbolic arc-cosecant of x. + asech: $ -> $ ++ asech(x) returns the hyperbolic arc-secant of x. + asinh: $ -> $ ++ asinh(x) returns the hyperbolic arc-sine of x. + atanh: $ -> $ ++ atanh(x) returns the hyperbolic arc-tangent of x. + +@ +\section{category ATRIG ArcTrigonometricFunctionCategory} +The [[asec]] and [[acsc]] functions were modified to include an +intermediate test to check that the argument has a reciprocal values. +<>= +)abbrev category ATRIG ArcTrigonometricFunctionCategory +++ Category for the inverse trigonometric functions +++ Author: ??? +++ Date Created: ??? +++ Date Last Updated: 14 May 1991 +++ Description: Category for the inverse trigonometric functions; +ArcTrigonometricFunctionCategory(): Category == with + acos: $ -> $ ++ acos(x) returns the arc-cosine of x. + acot: $ -> $ ++ acot(x) returns the arc-cotangent of x. + acsc: $ -> $ ++ acsc(x) returns the arc-cosecant of x. + asec: $ -> $ ++ asec(x) returns the arc-secant of x. + asin: $ -> $ ++ asin(x) returns the arc-sine of x. + atan: $ -> $ ++ atan(x) returns the arc-tangent of x. + add + if $ has Ring then + asec(x) == + (a := recip x) case "failed" => error "asec: no reciprocal" + acos(a::$) + acsc(x) == + (a := recip x) case "failed" => error "acsc: no reciprocal" + asin(a::$) + +@ +\section{category HYPCAT HyperbolicFunctionCategory} +The [[csch]] and [[sech]] functions were modified to include an +intermediate test to check that the argument has a reciprocal values. +<>= +)abbrev category HYPCAT HyperbolicFunctionCategory +++ Category for the hyperbolic trigonometric functions +++ Author: ??? +++ Date Created: ??? +++ Date Last Updated: 14 May 1991 +++ Description: Category for the hyperbolic trigonometric functions; +HyperbolicFunctionCategory(): Category == with + cosh: $ -> $ ++ cosh(x) returns the hyperbolic cosine of x. + coth: $ -> $ ++ coth(x) returns the hyperbolic cotangent of x. + csch: $ -> $ ++ csch(x) returns the hyperbolic cosecant of x. + sech: $ -> $ ++ sech(x) returns the hyperbolic secant of x. + sinh: $ -> $ ++ sinh(x) returns the hyperbolic sine of x. + tanh: $ -> $ ++ tanh(x) returns the hyperbolic tangent of x. + add + if $ has Ring then + csch x == + (a := recip(sinh x)) case "failed" => error "csch: no reciprocal" + a::$ + sech x == + (a := recip(cosh x)) case "failed" => error "sech: no reciprocal" + a::$ + tanh x == sinh x * sech x + coth x == cosh x * csch x + if $ has ElementaryFunctionCategory then + cosh x == + e := exp x + (e + recip(e)::$) * recip(2::$)::$ + sinh(x):$ == + e := exp x + (e - recip(e)::$) * recip(2::$)::$ + +@ +\section{category TRANFUN TranscendentalFunctionCategory} +The [[acsch]], [[asech]], and [[acoth]] functions were modified to +include an intermediate test to check that the argument has a +reciprocal values. +<>= +)abbrev category TRANFUN TranscendentalFunctionCategory +++ Category for the transcendental elementary functions +++ Author: Manuel Bronstein +++ Date Created: ??? +++ Date Last Updated: 14 May 1991 +++ Description: Category for the transcendental elementary functions; +TranscendentalFunctionCategory(): Category == + Join(TrigonometricFunctionCategory,ArcTrigonometricFunctionCategory, + HyperbolicFunctionCategory,ArcHyperbolicFunctionCategory, + ElementaryFunctionCategory) with + pi : () -> $ ++ pi() returns the constant pi. + add + if $ has Ring then + pi() == 2*asin(1) + acsch x == + (a := recip x) case "failed" => error "acsch: no reciprocal" + asinh(a::$) + asech x == + (a := recip x) case "failed" => error "asech: no reciprocal" + acosh(a::$) + acoth x == + (a := recip x) case "failed" => error "acoth: no reciprocal" + atanh(a::$) + if $ has Field and $ has sqrt: $ -> $ then + asin x == atan(x/sqrt(1-x**2)) + acos x == pi()/2::$ - asin x + acot x == pi()/2::$ - atan x + asinh x == log(x + sqrt(x**2 + 1)) + acosh x == 2*log(sqrt((x+1)/2::$) + sqrt((x-1)/2::$)) + atanh x == (log(1+x)-log(1-x))/2::$ + +@ +\section{category TRIGCAT TrigonometricFunctionCategory} +The [[csc]] and [[sec]] functions were modified to include an +intermediate test to check that the argument has a reciprocal values. +<>= +)abbrev category TRIGCAT TrigonometricFunctionCategory +++ Category for the trigonometric functions +++ Author: ??? +++ Date Created: ??? +++ Date Last Updated: 14 May 1991 +++ Description: Category for the trigonometric functions; +TrigonometricFunctionCategory(): Category == with + cos: $ -> $ ++ cos(x) returns the cosine of x. + cot: $ -> $ ++ cot(x) returns the cotangent of x. + csc: $ -> $ ++ csc(x) returns the cosecant of x. + sec: $ -> $ ++ sec(x) returns the secant of x. + sin: $ -> $ ++ sin(x) returns the sine of x. + tan: $ -> $ ++ tan(x) returns the tangent of x. + add + if $ has Ring then + csc x == + (a := recip(sin x)) case "failed" => error "csc: no reciprocal" + a::$ + sec x == + (a := recip(cos x)) case "failed" => error "sec: no reciprocal" + a::$ + tan x == sin x * sec x + cot x == cos x * csc x + +@ +\section{category PRIMCAT PrimitiveFunctionCategory} +<>= +)abbrev category PRIMCAT PrimitiveFunctionCategory +++ Category for the integral functions +++ Author: Manuel Bronstein +++ Date Created: ??? +++ Date Last Updated: 14 May 1991 +++ Description: Category for the functions defined by integrals; +PrimitiveFunctionCategory(): Category == with + integral: ($, Symbol) -> $ + ++ integral(f, x) returns the formal integral of f dx. + integral: ($, SegmentBinding $) -> $ + ++ integral(f, x = a..b) returns the formal definite integral + ++ of f dx for x between \spad{a} and b. + +@ +\section{category LFCAT LiouvillianFunctionCategory} +<>= +)abbrev category LFCAT LiouvillianFunctionCategory +++ Category for the transcendental Liouvillian functions +++ Author: Manuel Bronstein +++ Date Created: ??? +++ Date Last Updated: 14 May 1991 +++ Description: Category for the transcendental Liouvillian functions; +LiouvillianFunctionCategory(): Category == + Join(PrimitiveFunctionCategory, TranscendentalFunctionCategory) with + Ei : $ -> $ + ++ Ei(x) returns the exponential integral of x, i.e. + ++ the integral of \spad{exp(x)/x dx}. + Si : $ -> $ + ++ Si(x) returns the sine integral of x, i.e. + ++ the integral of \spad{sin(x) / x dx}. + Ci : $ -> $ + ++ Ci(x) returns the cosine integral of x, i.e. + ++ the integral of \spad{cos(x) / x dx}. + li : $ -> $ + ++ li(x) returns the logarithmic integral of x, i.e. + ++ the integral of \spad{dx / log(x)}. + dilog : $ -> $ + ++ dilog(x) returns the dilogarithm of x, i.e. + ++ the integral of \spad{log(x) / (1 - x) dx}. + erf : $ -> $ + ++ erf(x) returns the error function of x, i.e. + ++ \spad{2 / sqrt(%pi)} times the integral of \spad{exp(-x**2) dx}. + +@ +\section{category CFCAT CombinatorialFunctionCategory} +<>= +)abbrev category CFCAT CombinatorialFunctionCategory +++ Category for the usual combinatorial functions +++ Author: Manuel Bronstein +++ Date Created: ??? +++ Date Last Updated: 14 May 1991 +++ Description: Category for the usual combinatorial functions; +CombinatorialFunctionCategory(): Category == with + binomial : ($, $) -> $ + ++ binomial(n,r) returns the \spad{(n,r)} binomial coefficient + ++ (often denoted in the literature by \spad{C(n,r)}). + ++ Note: \spad{C(n,r) = n!/(r!(n-r)!)} where \spad{n >= r >= 0}. + factorial : $ -> $ + ++ factorial(n) computes the factorial of n + ++ (denoted in the literature by \spad{n!}) + ++ Note: \spad{n! = n (n-1)! when n > 0}; also, \spad{0! = 1}. + permutation: ($, $) -> $ + ++ permutation(n, m) returns the number of + ++ permutations of n objects taken m at a time. + ++ Note: \spad{permutation(n,m) = n!/(n-m)!}. + +@ +\section{category SPFCAT SpecialFunctionCategory} +<>= +)abbrev category SPFCAT SpecialFunctionCategory +++ Category for the other special functions +++ Author: Manuel Bronstein +++ Date Created: ??? +++ Date Last Updated: 11 May 1993 +++ Description: Category for the other special functions; +SpecialFunctionCategory(): Category == with + abs : $ -> $ + ++ abs(x) returns the absolute value of x. + Gamma: $ -> $ + ++ Gamma(x) is the Euler Gamma function. + Beta: ($,$)->$ + ++ Beta(x,y) is \spad{Gamma(x) * Gamma(y)/Gamma(x+y)}. + digamma: $ -> $ + ++ digamma(x) is the logarithmic derivative of \spad{Gamma(x)} + ++ (often written \spad{psi(x)} in the literature). + polygamma: ($, $) -> $ + ++ polygamma(k,x) is the \spad{k-th} derivative of \spad{digamma(x)}, + ++ (often written \spad{psi(k,x)} in the literature). + Gamma: ($, $) -> $ + ++ Gamma(a,x) is the incomplete Gamma function. + besselJ: ($,$) -> $ + ++ besselJ(v,z) is the Bessel function of the first kind. + besselY: ($,$) -> $ + ++ besselY(v,z) is the Bessel function of the second kind. + besselI: ($,$) -> $ + ++ besselI(v,z) is the modified Bessel function of the first kind. + besselK: ($,$) -> $ + ++ besselK(v,z) is the modified Bessel function of the second kind. + airyAi: $ -> $ + ++ airyAi(x) is the Airy function \spad{Ai(x)}. + airyBi: $ -> $ + ++ airyBi(x) is the Airy function \spad{Bi(x)}. + +@ +\section{License} +<>= +--Copyright (c) 1991-2002, The Numerical ALgorithms Group Ltd. +--All rights reserved. +-- +--Redistribution and use in source and binary forms, with or without +--modification, are permitted provided that the following conditions are +--met: +-- +-- - Redistributions of source code must retain the above copyright +-- notice, this list of conditions and the following disclaimer. +-- +-- - Redistributions in binary form must reproduce the above copyright +-- notice, this list of conditions and the following disclaimer in +-- the documentation and/or other materials provided with the +-- distribution. +-- +-- - Neither the name of The Numerical ALgorithms Group Ltd. nor the +-- names of its contributors may be used to endorse or promote products +-- derived from this software without specific prior written permission. +-- +--THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS +--IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED +--TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A +--PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER +--OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, +--EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +--PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR +--PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +--LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +--NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS +--SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +@ +<<*>>= +<> + +<> +<> +<> +<> +<> +<> +<> +<> +<> +<> +@ +\eject +\begin{thebibliography}{99} +\bibitem{1} nothing +\end{thebibliography} +\end{document} -- cgit v1.2.3