aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/trigcat.spad.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2007-08-14 05:14:52 +0000
committerdos-reis <gdr@axiomatics.org>2007-08-14 05:14:52 +0000
commitab8cc85adde879fb963c94d15675783f2cf4b183 (patch)
treec202482327f474583b750b2c45dedfc4e4312b1d /src/algebra/trigcat.spad.pamphlet
downloadopen-axiom-ab8cc85adde879fb963c94d15675783f2cf4b183.tar.gz
Initial population.
Diffstat (limited to 'src/algebra/trigcat.spad.pamphlet')
-rw-r--r--src/algebra/trigcat.spad.pamphlet333
1 files changed, 333 insertions, 0 deletions
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}
+<<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}
+<<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.
+<<category ATRIG ArcTrigonometricFunctionCategory>>=
+)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.
+<<category HYPCAT HyperbolicFunctionCategory>>=
+)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.
+<<category TRANFUN TranscendentalFunctionCategory>>=
+)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.
+<<category TRIGCAT TrigonometricFunctionCategory>>=
+)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}
+<<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}
+<<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}
+<<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}
+<<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}
+<<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.
+@
+<<*>>=
+<<license>>
+
+<<category ELEMFUN ElementaryFunctionCategory>>
+<<category TRIGCAT TrigonometricFunctionCategory>>
+<<category ATRIG ArcTrigonometricFunctionCategory>>
+<<category HYPCAT HyperbolicFunctionCategory>>
+<<category AHYP ArcHyperbolicFunctionCategory>>
+<<category TRANFUN TranscendentalFunctionCategory>>
+<<category PRIMCAT PrimitiveFunctionCategory>>
+<<category LFCAT LiouvillianFunctionCategory>>
+<<category CFCAT CombinatorialFunctionCategory>>
+<<category SPFCAT SpecialFunctionCategory>>
+@
+\eject
+\begin{thebibliography}{99}
+\bibitem{1} nothing
+\end{thebibliography}
+\end{document}