diff --git a/books/bookvol10.2.pamphlet b/books/bookvol10.2.pamphlet index cb65b93..57d4df1 100644 --- a/books/bookvol10.2.pamphlet +++ b/books/bookvol10.2.pamphlet @@ -286,13 +286,21 @@ A ``yellow'' color indicates a domain. This is the root of the category hierarchy and is not represented by code. {\bf See:}\\ +\pageto{ArcHyperbolicFunctionCategory}{AHYP} +\pageto{ArcTrigonometricFunctionCategory}{ATRIG} \pageto{BasicType}{BASTYPE} \pageto{CoercibleTo}{KOERCE} +\pageto{CombinatorialFunctionCategory}{CFCAT} \pageto{ConvertibleTo}{KONVERT} +\pageto{ElementaryFunctionCategory}{ELEMFUN} \pageto{Eltable}{ELTAB} +\pageto{HyperbolicFunctionCategory}{HYPCAT} \pageto{InnerEvalable}{IEVALAB} \pageto{Logic}{LOGIC} +\pageto{PrimitiveFunctionCategory}{PRIMCAT} \pageto{RetractableTo}{RETRACT} +\pageto{SpecialFunctionCategory}{SPFCAT} +\pageto{TrigonometricFunctionCategory}{TRIGCAT} \pageto{Type}{TYPE} <>= @@ -316,6 +324,160 @@ digraph pic { @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{ArcHyperbolicFunctionCategory}{AHYP} +\pagepic{ps/v102archyperbolicfunctioncategory.ps}{AHYP}{1.00} + +{\bf See:}\\ +\pageto{TranscendentalFunctionCategory}{TRANFUN} +\pagefrom{Category}{CATEGORY} + +{\bf Exports:}\\ +\begin{tabular}{llllll} +\cross{AHYP}{acosh} & +\cross{AHYP}{acoth} & +\cross{AHYP}{acsch} & +\cross{AHYP}{asech} & +\cross{AHYP}{asinh} & +\cross{AHYP}{atanh} +\end{tabular} + +These are directly exported but not implemented: +\begin{verbatim} + acosh : % -> % + acoth : % -> % + acsch : % -> % + asech : % -> % + asinh : % -> % + atanh : % -> % +\end{verbatim} + +<>= +)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. + +@ +<>= +"AHYP" + [color=lightblue,href="bookvol10.2.pdf#nameddest=AHYP"]; +"AHYP" -> "CATEGORY" + +@ +<>= +"ArcHyperbolicFunctionCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=AHYP"]; +"ArcHyperbolicFunctionCategory()" -> "Category" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"ArcHyperbolicFunctionCategory()" [color=lightblue]; +"ArcHyperbolicFunctionCategory()" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{ArcTrigonometricFunctionCategory}{ATRIG} +\pagepic{ps/v102arctrigonometricfunctioncategory.ps}{ATRIG}{1.00} + +The {\tt asec} and {\tt acsc} functions were modified to include an +intermediate test to check that the argument has a reciprocal values. + +{\bf See:}\\ +\pageto{TranscendentalFunctionCategory}{TRANFUN} +\pagefrom{Category}{CATEGORY} + +{\bf Exports:}\\ +\begin{tabular}{llllll} +\cross{ATRIG}{acos} & +\cross{ATRIG}{acot} & +\cross{ATRIG}{acsc} & +\cross{ATRIG}{asec} & +\cross{ATRIG}{asin} & +\cross{ATRIG}{atan} +\end{tabular} + +These are directly exported but not implemented: +\begin{verbatim} + acos : % -> % + acot : % -> % + asin : % -> % + atan : % -> % +\end{verbatim} + +These are implemented by this category: +\begin{verbatim} + acsc : % -> % + asec : % -> % +\end{verbatim} + +<>= +)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::$) + +@ +<>= +"ATRIG" + [color=lightblue,href="bookvol10.2.pdf#nameddest=ATRIG"]; +"ATRIG" -> "CATEGORY" + +@ +<>= +"ArcTrigonometricFunctionCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=ATRIG"]; +"ArcTrigonometricFunctionCategory()" -> "Category" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"ArcTrigonometricFunctionCategory()" [color=lightblue]; +"ArcTrigonometricFunctionCategory()" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagehead{AttributeRegistry}{ATTREG} \pagepic{ps/v102attributeregistry.ps}{ATTREG}{1.00} @@ -610,6 +772,74 @@ digraph pic { @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{CombinatorialFunctionCategory}{CFCAT} +\pagepic{ps/v102combinatorialfunctioncategory.ps}{CFCAT}{1.00} + +{\bf See:}\\ +\pagefrom{Category}{CATEGORY} + +{\bf Exports:}\\ +\begin{tabular}{lll} +\cross{CFCAT}{binomial} & +\cross{CFCAT}{factorial} & +\cross{CFCAT}{permutation} +\end{tabular} + +These are directly exported but not implemented: +\begin{verbatim} + binomial : (%,%) -> % + factorial : % -> % + permutation : (%,%) -> % +\end{verbatim} + +<>= +)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)!}. + +@ +<>= +"CFCAT" + [color=lightblue,href="bookvol10.2.pdf#nameddest=CFCAT"]; +"CFCAT" -> "CATEGORY" + +@ +<>= +"CombinatorialFunctionCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=CFCAT"]; +"CombinatorialFunctionCategory()" -> "Category" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"CombinatorialFunctionCategory()" [color=lightblue]; +"CombinatorialFunctionCategory()" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagehead{ConvertibleTo}{KONVERT} \pagepic{ps/v102konvert.ps}{KONVERT}{1.00} @@ -728,6 +958,73 @@ digraph pic { @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{ElementaryFunctionCategory}{ELEMFUN} +\pagepic{ps/v102elementaryfunctioncategory.ps}{ELEMFUN}{1.00} + +{\bf See:}\\ +\pageto{TranscendentalFunctionCategory}{TRANFUN} +\pagefrom{Category}{CATEGORY} + +{\bf Exports:}\\ +\begin{tabular}{lll} +\cross{ELEMFUN}{?**?} & +\cross{ELEMFUN}{exp} & +\cross{ELEMFUN}{log} +\end{tabular} + +These are directly exported but not implemented: +\begin{verbatim} + exp : % -> % + log : % -> % +\end{verbatim} + +These are implemented by this category: +\begin{verbatim} + ?**? : (%,%) -> % +\end{verbatim} + +<>= +)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) + +@ +<>= +"ELEMFUN" + [color=lightblue,href="bookvol10.2.pdf#nameddest=ELEMFUN"]; +"ELEMFUN" -> "CATEGORY" + +@ +<>= +"ElementaryFunctionCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=ELEMFUN"]; +"ElementaryFunctionCategory()" -> "Category" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"ElementaryFunctionCategory()" [color=lightblue]; +"ElementaryFunctionCategory()" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagehead{Eltable}{ELTAB} \pagepic{ps/v102eltab.ps}{ELTAB}{1.00} @@ -793,6 +1090,95 @@ digraph pic { @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{HyperbolicFunctionCategory}{HYPCAT} +\pagepic{ps/v102hyperbolicfunctioncategory.ps}{HYPCAT}{1.00} + +The {\tt csch} and {\tt sech} functions were modified to include an +intermediate test to check that the argument has a reciprocal values. + +{\bf See:}\\ +\pageto{TranscendentalFunctionCategory}{TRANFUN} +\pagefrom{Category}{CATEGORY} + +{\bf Exports:}\\ +\begin{tabular}{llllll} +\cross{HYPCAT}{cosh} & +\cross{HYPCAT}{coth} & +\cross{HYPCAT}{csch} & +\cross{HYPCAT}{sech} & +\cross{HYPCAT}{sinh} & +\cross{HYPCAT}{tanh} +\end{tabular} + +These are implemented by this category: +\begin{verbatim} + cosh : % -> % + coth : % -> % + csch : % -> % + sech : % -> % + sinh : % -> % + tanh : % -> % +\end{verbatim} + +<>= +)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::$)::$ + +@ +<>= +"HYPCAT" + [color=lightblue,href="bookvol10.2.pdf#nameddest=HYPCAT"]; +"HYPCAT" -> "CATEGORY" + +@ +<>= +"HyperbolicFunctionCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=HYPCAT"]; +"HyperbolicFunctionCategory()" -> "Category" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"HyperbolicFunctionCategory()" [color=lightblue]; +"HyperbolicFunctionCategory()" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagehead{InnerEvalable}{IEVALAB} \pagepic{ps/v102innerevalable.ps}{IEVALAB}{1.00} @@ -884,6 +1270,65 @@ digraph pic { @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{PrimitiveFunctionCategory}{PRIMCAT} +\pagepic{ps/v102primitivefunctioncategory.ps}{PRIMCAT}{1.00} + +{\bf See:}\\ +\pageto{LiouvillianFunctionCategory}{LFCAT} +\pagefrom{Category}{CATEGORY} + +{\bf Exports:}\\ +\begin{tabular}{l} +\cross{PRIMCAT}{integral} +\end{tabular} + +These are directly exported but not implemented: +\begin{verbatim} + integral : (%,Symbol) -> % + integral : (%,SegmentBinding %) -> % +\end{verbatim} + +<>= +)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. + +@ +<>= +"PRIMCAT" -> "CATEGORY" + [color=lightblue,href="bookvol10.2.pdf#nameddest=PRIMCAT"]; +"PRIMCAT" -> "CATEGORY" + +@ +<>= +"PrimitiveFunctionCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=PRIMCAT"]; +"PrimitiveFunctionCategory()" -> "Category" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"PrimitiveFunctionCategory()" [color=lightblue]; +"PrimitiveFunctionCategory()" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagehead{RetractableTo}{RETRACT} \pagepic{ps/v102retractableto.ps}{RETRACT}{1.00} @@ -993,6 +1438,195 @@ digraph pic { @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{SpecialFunctionCategory}{SPFCAT} +\pagepic{ps/v102specialfunctioncategory.ps}{SPFCAT}{1.00} + +{\bf See:}\\ +\pagefrom{Category}{CATEGORY} + +{\bf Exports:}\\ +\begin{tabular}{lllll} +\cross{SPFCAT}{abs} & +\cross{SPFCAT}{airyAi} & +\cross{SPFCAT}{airyBi} & +\cross{SPFCAT}{besselI} & +\cross{SPFCAT}{besselJ} \\ +\cross{SPFCAT}{besselK} & +\cross{SPFCAT}{besselY} & +\cross{SPFCAT}{Beta} & +\cross{SPFCAT}{digamma} & +\cross{SPFCAT}{Gamma} \\ +\cross{SPFCAT}{polygamma} & +\end{tabular} + +These are directly exported but not implemented: +\begin{verbatim} + abs : % -> % + airyAi : % -> % + airyBi : % -> % + besselI : (%,%) -> % + besselJ : (%,%) -> % + besselK : (%,%) -> % + besselY : (%,%) -> % + Beta : (%,%) -> % + digamma : % -> % + Gamma : % -> % + Gamma : (%,%) -> % + polygamma : (%,%) -> % +\end{verbatim} + +<>= +)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)}. + +@ +<>= +"SPFCAT" + [color=lightblue,href="bookvol10.2.pdf#nameddest=SPFCAT"]; +"SPFCAT" -> "CATEGORY" + +@ +<>= +"SpecialFunctionCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=SPFCAT"]; +"SpecialFunctionCategory()" -> "Category" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"SpecialFunctionCategory()" [color=lightblue]; +"SpecialFunctionCategory()" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{TrigonometricFunctionCategory}{TRIGCAT} +\pagepic{ps/v102trigonometricfunctioncategory.ps}{TRIGCAT}{1.00} + +The {\tt csc} and {\tt sec} functions were modified to include an +intermediate test to check that the argument has a reciprocal values. + +{\bf See:}\\ +\pageto{TranscendentalFunctionCategory}{TRANFUN} +\pagefrom{Category}{CATEGORY} + +{\bf Exports:}\\ +\begin{tabular}{llllll} +\cross{TRIGCAT}{cos} & +\cross{TRIGCAT}{cot} & +\cross{TRIGCAT}{csc} & +\cross{TRIGCAT}{sec} & +\cross{TRIGCAT}{sin} & +\cross{TRIGCAT}{tan} +\end{tabular} + +These are directly exported but not implemented: +\begin{verbatim} + cos : % -> % + sin : % -> % +\end{verbatim} + +These are implemented by this category: +\begin{verbatim} + cot : % -> % + csc : % -> % + sec : % -> % + tan : % -> % +\end{verbatim} + +<>= +)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 + +@ +<>= +"TRIGCAT" + [color=lightblue,href="bookvol10.2.pdf#nameddest=TRIGCAT"]; +"TRIGCAT" -> "CATEGORY" + +@ +<>= +"TrigonometricFunctionCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=TRIGCAT"]; +"TrigonometricFunctionCategory()" -> "Category" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"TrigonometricFunctionCategory()" [color=lightblue]; +"TrigonometricFunctionCategory()" -> "Category" + +"Category" [color=lightblue]; +} + + + + + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagehead{Type}{TYPE} \pagepic{ps/v102type.ps}{TYPE}{1.00} @@ -1665,6 +2299,201 @@ digraph pic { } @ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{TranscendentalFunctionCategory}{TRANFUN} +\pagepic{ps/v102transcendentalfunctioncategory.ps}{TRANFUN}{0.75} + +The {\tt acsch}, {\tt asech}, and {\tt acoth} functions were modified to +include an intermediate test to check that the argument has a +reciprocal values. + +{\bf See:}\\ +\pageto{LiouvillianFunctionCategory}{LFCAT} +\pagefrom{ArcHyperbolicFunctionCategory}{AHYP} +\pagefrom{ArcTrigonometricFunctionCategory}{ATRIG} +\pagefrom{ElementaryFunctionCategory}{ELEMFUN} +\pagefrom{HyperbolicFunctionCategory}{HYPCAT} +\pagefrom{TrigonometricFunctionCategory}{TRIGCAT} + +{\bf Exports:}\\ +\begin{tabular}{lllll} +\cross{TRANFUN}{?**?} & +\cross{TRANFUN}{acos} & +\cross{TRANFUN}{acosh} & +\cross{TRANFUN}{acot} & +\cross{TRANFUN}{acoth} \\ +\cross{TRANFUN}{acsc} & +\cross{TRANFUN}{acsch} & +\cross{TRANFUN}{asec} & +\cross{TRANFUN}{asech} & +\cross{TRANFUN}{asin} \\ +\cross{TRANFUN}{asinh} & +\cross{TRANFUN}{atan} & +\cross{TRANFUN}{atanh} & +\cross{TRANFUN}{cos} & +\cross{TRANFUN}{cosh} \\ +\cross{TRANFUN}{cot} & +\cross{TRANFUN}{coth} & +\cross{TRANFUN}{csc} & +\cross{TRANFUN}{csch} & +\cross{TRANFUN}{exp} \\ +\cross{TRANFUN}{log} & +\cross{TRANFUN}{pi} & +\cross{TRANFUN}{sec} & +\cross{TRANFUN}{sech} & +\cross{TRANFUN}{sin} \\ +\cross{TRANFUN}{sinh} & +\cross{TRANFUN}{tan} & +\cross{TRANFUN}{tanh} && +\end{tabular} + +These are implemented by this category: +\begin{verbatim} + pi : () -> % +\end{verbatim} + +These exports come from TrigonometricFunctionCategory(): +\begin{verbatim} + cos : % -> % + cot : % -> % + csc : % -> % + sec : % -> % + sin : % -> % + tan : % -> % +\end{verbatim} + +These exports come from ArcTrigonometricFunctionCategory(): +\begin{verbatim} + acos : % -> % + acot : % -> % + acsc : % -> % + asec : % -> % + asin : % -> % + atan : % -> % +\end{verbatim} + +These exports come from HyperbolicFunctionCategory(): +\begin{verbatim} + cosh : % -> % + coth : % -> % + csch : % -> % + sech : % -> % + sinh : % -> % + tanh : % -> % +\end{verbatim} + +These exports come from ArcHyperbolicFunctionCategory(): +\begin{verbatim} + acosh : % -> % + acoth : % -> % + acsch : % -> % + asech : % -> % + asinh : % -> % + atanh : % -> % +\end{verbatim} + +These exports come from ElementaryFunctionCategory(): +\begin{verbatim} + ?**? : (%,%) -> % + exp : % -> % + log : % -> % +\end{verbatim} + +<>= +)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::$ + +@ +<>= +"TRANFUN" -> "TRIGCAT" + [color=lightblue,href="bookvol10.2.pdf#nameddest=TRANFUN"]; +"TRANFUN" -> "TRIGCAT" +"TRANFUN" -> "ATRIG" +"TRANFUN" -> "HYPCAT" +"TRANFUN" -> "AHYP" +"TRANFUN" -> "ELEMFUN" + +@ +<>= +"TranscendentalFunctionCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=TRANFUN"]; +"TranscendentalFunctionCategory()" -> + "TrigonometricFunctionCategory()" +"TranscendentalFunctionCategory()" -> + "ArcTrigonometricFunctionCategory()" +"TranscendentalFunctionCategory()" -> + "HyperbolicFunctionCategory()" +"TranscendentalFunctionCategory()" -> + "ArcHyperbolicFunctionCategory()" +"TranscendentalFunctionCategory()" -> + "ElementaryFunctionCategory()" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"TranscendentalFunctionCategory()" [color=lightblue]; +"TranscendentalFunctionCategory()" -> + "TRIGCAT" +"TranscendentalFunctionCategory()" -> + "ATRIG" +"TranscendentalFunctionCategory()" -> + "HYPCAT" +"TranscendentalFunctionCategory()" -> + "AHYP" +"TranscendentalFunctionCategory()" -> + "ELEMFUN" + +"TRIGCAT" [color=lightblue]; +"TRIGCAT" -> "Category" + +"ATRIG" [color=lightblue]; +"ATRIG" -> "Category" + +"HYPCAT" [color=lightblue]; +"HYPCAT" -> "Category" + +"AHYP" [color=lightblue]; +"AHYP" -> "Category" + +"ELEMFUN" [color=lightblue]; +"ELEMFUN" -> "Category" + +"Category" [color=lightblue]; +} + +@ \chapter{Category Layer 3} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagehead{AbelianSemiGroup}{ABELSG} @@ -2264,6 +3093,189 @@ digraph pic { @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\pagehead{LiouvillianFunctionCategory}{LFCAT} +\pagepic{ps/v102liouvillianfunctioncategory.ps}{LFCAT}{0.60} + +{\bf See:}\\ +\pagefrom{PrimitiveFunctionCategory}{PRIMCAT} +\pagefrom{TranscendentalFunctionCategory}{TRANFUN} + +{\bf Exports:}\\ +\begin{tabular}{lllll} +\cross{LFCAT}{?**?} & +\cross{LFCAT}{Ci} & +\cross{LFCAT}{Ei} & +\cross{LFCAT}{Si} & +\cross{LFCAT}{acos} \\ +\cross{LFCAT}{acosh} & +\cross{LFCAT}{acot} & +\cross{LFCAT}{acoth} & +\cross{LFCAT}{acsc} & +\cross{LFCAT}{acsch} \\ +\cross{LFCAT}{asec} & +\cross{LFCAT}{asech} & +\cross{LFCAT}{asin} & +\cross{LFCAT}{asinh} & +\cross{LFCAT}{atan} \\ +\cross{LFCAT}{atanh} & +\cross{LFCAT}{cos} & +\cross{LFCAT}{cosh} & +\cross{LFCAT}{cot} & +\cross{LFCAT}{coth} \\ +\cross{LFCAT}{csc} & +\cross{LFCAT}{csch} & +\cross{LFCAT}{dilog} & +\cross{LFCAT}{erf} & +\cross{LFCAT}{exp} \\ +\cross{LFCAT}{integral} & +\cross{LFCAT}{integral} & +\cross{LFCAT}{li} & +\cross{LFCAT}{log} & +\cross{LFCAT}{pi} \\ +\cross{LFCAT}{sec} & +\cross{LFCAT}{sech} & +\cross{LFCAT}{sin} & +\cross{LFCAT}{sinh} & +\cross{LFCAT}{tan} \\ +\cross{LFCAT}{tanh} &&&& +\end{tabular} + +These are directly exported but not implemented: +\begin{verbatim} + Ci : % -> % + dilog : % -> % + Ei : % -> % + erf : % -> % + li : % -> % + Si : % -> % +\end{verbatim} + +These exports come from PrimitiveFunctionCategory() +\begin{verbatim} + integral : (%,Symbol) -> % + integral : (%,SegmentBinding %) -> % +\end{verbatim} + +These exports come from TranscendentalFunctionCategory(): +\begin{verbatim} + ?**? : (%,%) -> % + acos : % -> % + acosh : % -> % + acot : % -> % + acoth : % -> % + acsc : % -> % + acsch : % -> % + asec : % -> % + asech : % -> % + asin : % -> % + asinh : % -> % + atan : % -> % + atanh : % -> % + cos : % -> % + cosh : % -> % + cot : % -> % + coth : % -> % + csc : % -> % + csch : % -> % + exp : % -> % + log : % -> % + pi : () -> % + sec : % -> % + sech : % -> % + sin : % -> % + sinh : % -> % + tan : % -> % + tanh : % -> % +\end{verbatim} + +<>= +)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}. + +@ +<>= +"LFCAT" + [color=lightblue,href="bookvol10.2.pdf#nameddest=LFCAT"]; +"LFCAT" -> "PRIMCAT" +"LFCAT" -> "TRANFUN" + +@ +<>= +"LiouvillianFunctionCategory()" + [color=lightblue,href="bookvol10.2.pdf#nameddest=LFCAT"]; +"LiouvillianFunctionCategory()" -> "PrimitiveFunctionCategory()" +"LiouvillianFunctionCategory()" -> "TranscendentalFunctionCategory()" + +@ +<>= +digraph pic { + fontsize=10; + bgcolor="#FFFF66"; + node [shape=box, color=white, style=filled]; + +"LiouvillianFunctionCategory()" [color=lightblue]; +"LiouvillianFunctionCategory()" -> "PrimitiveFunctionCategory()" +"LiouvillianFunctionCategory()" -> "TranscendentalFunctionCategory()" + +"PrimitiveFunctionCategory()" [color=lightblue]; +"PrimitiveFunctionCategory()" -> "Category" + +"TranscendentalFunctionCategory()" [color=lightblue]; +"TranscendentalFunctionCategory()" -> + "TRIGCAT" +"TranscendentalFunctionCategory()" -> + "ATRIG" +"TranscendentalFunctionCategory()" -> + "HYPCAT" +"TranscendentalFunctionCategory()" -> + "AHYP" +"TranscendentalFunctionCategory()" -> + "ELEMFUN" + +"TRIGCAT" [color=lightblue]; +"TRIGCAT" -> "Category" + +"ATRIG" [color=lightblue]; +"ATRIG" -> "Category" + +"HYPCAT" [color=lightblue]; +"HYPCAT" -> "Category" + +"AHYP" [color=lightblue]; +"AHYP" -> "Category" + +"ELEMFUN" [color=lightblue]; +"ELEMFUN" -> "Category" + +"Category" [color=lightblue]; +} + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \pagehead{Monad}{MONAD} \pagepic{ps/v102monad.ps}{MONAD}{0.70} @@ -28110,9 +29122,11 @@ Note that this code is not included in the generated catdef.spad file. <> <> <> +<> <> <> <> +<> <> <> <> @@ -28121,6 +29135,7 @@ Note that this code is not included in the generated catdef.spad file. <> <> <> +<> <> <> <> @@ -28133,6 +29148,7 @@ Note that this code is not included in the generated catdef.spad file. <> <> <> +<> <> <> <> @@ -28154,12 +29170,14 @@ Note that this code is not included in the generated catdef.spad file. <> <> <> +<> <> <> <> <> <> <> +<> <> <> <> @@ -28189,6 +29207,7 @@ Note that this code is not included in the generated catdef.spad file. <> <> <> +<> <> <> <> @@ -28200,9 +29219,12 @@ Note that this code is not included in the generated catdef.spad file. <> <> <> +<> <> <> <> +<> +<> <> <> <> @@ -28220,9 +29242,11 @@ digraph dotabb { <> <> <> +<> <> <> <> +<> <> <> <> @@ -28231,6 +29255,7 @@ digraph dotabb { <> <> <> +<> <> <> <> @@ -28242,6 +29267,7 @@ digraph dotabb { <> <> <> +<> <> <> <> @@ -28262,12 +29288,14 @@ digraph dotabb { <> <> <> +<> <> <> <> <> <> <> +<> <> <> <> @@ -28297,6 +29325,7 @@ digraph dotabb { <> <> <> +<> <> <> <> @@ -28308,9 +29337,12 @@ digraph dotabb { <> <> <> +<> <> <> <> +<> +<> <> <> <> @@ -28331,9 +29363,11 @@ digraph dotfull { <> <> <> +<> <> <> <> +<> <> <> <> @@ -28342,6 +29376,7 @@ digraph dotfull { <> <> <> +<> <> <> <> @@ -28353,6 +29388,7 @@ digraph dotfull { <> <> <> +<> <> <> <> @@ -28373,12 +29409,14 @@ digraph dotfull { <> <> <> +<> <> <> <> <> <> <> +<> <> <> <> @@ -28408,6 +29446,7 @@ digraph dotfull { <> <> <> +<> <> <> <> @@ -28419,9 +29458,12 @@ digraph dotfull { <> <> <> +<> <> <> <> +<> +<> <> <> <> diff --git a/books/ps/v102archyperbolicfunctioncategory.ps b/books/ps/v102archyperbolicfunctioncategory.ps new file mode 100644 index 0000000..d8eacfd --- /dev/null +++ b/books/ps/v102archyperbolicfunctioncategory.ps @@ -0,0 +1,289 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 256 152 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 256 152 +%%PageOrientation: Portrait +gsave +36 36 220 116 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 114 lineto +218 114 lineto +218 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 114 lineto +218 114 lineto +218 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% ArcHyperbolicFunctionCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 212 108 moveto +0 108 lineto +0 72 lineto +212 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 212 108 moveto +0 108 lineto +0 72 lineto +212 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +8 85 moveto +(ArcHyperbolicFunctionCategory\(\)) +[10.08 4.8 6.24 10.08 6.96 6.96 6.24 4.8 6.96 6.96 3.84 3.84 6.24 7.44 6.96 6.96 6.24 3.84 3.84 6.96 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 140 36 moveto +72 36 lineto +72 0 lineto +140 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 140 36 moveto +72 36 lineto +72 0 lineto +140 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +80 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% ArcHyperbolicFunctionCategory()->Category +newpath 106 72 moveto +106 64 106 55 106 46 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 110 46 moveto +106 36 lineto +103 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 110 46 moveto +106 36 lineto +103 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102arctrigonometricfunctioncategory.ps b/books/ps/v102arctrigonometricfunctioncategory.ps new file mode 100644 index 0000000..64ce57d --- /dev/null +++ b/books/ps/v102arctrigonometricfunctioncategory.ps @@ -0,0 +1,289 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 272 152 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 272 152 +%%PageOrientation: Portrait +gsave +36 36 236 116 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 114 lineto +234 114 lineto +234 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 114 lineto +234 114 lineto +234 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% ArcTrigonometricFunctionCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 228 108 moveto +0 108 lineto +0 72 lineto +228 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 228 108 moveto +0 108 lineto +0 72 lineto +228 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +7 85 moveto +(ArcTrigonometricFunctionCategory\(\)) +[10.08 4.8 6.24 7.92 5.04 3.84 6.96 6.96 6.96 6.96 10.8 6 3.84 5.04 3.84 6.24 7.44 6.96 6.96 6.24 3.84 3.84 6.96 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 148 36 moveto +80 36 lineto +80 0 lineto +148 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 148 36 moveto +80 36 lineto +80 0 lineto +148 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +88 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% ArcTrigonometricFunctionCategory()->Category +newpath 114 72 moveto +114 64 114 55 114 46 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 118 46 moveto +114 36 lineto +111 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 118 46 moveto +114 36 lineto +111 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102combinatorialfunctioncategory.ps b/books/ps/v102combinatorialfunctioncategory.ps new file mode 100644 index 0000000..8c6a3e4 --- /dev/null +++ b/books/ps/v102combinatorialfunctioncategory.ps @@ -0,0 +1,289 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 250 152 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 250 152 +%%PageOrientation: Portrait +gsave +36 36 214 116 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 114 lineto +212 114 lineto +212 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 114 lineto +212 114 lineto +212 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% CombinatorialFunctionCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 206 108 moveto +0 108 lineto +0 72 lineto +206 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 206 108 moveto +0 108 lineto +0 72 lineto +206 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +7 85 moveto +(CombinatorialFunctionCategory\(\)) +[9.36 6.96 10.8 6.96 3.84 6.96 6.24 3.84 6.96 5.04 3.84 6.24 3.84 7.44 6.96 6.96 6.24 3.84 3.84 6.96 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 137 36 moveto +69 36 lineto +69 0 lineto +137 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 137 36 moveto +69 36 lineto +69 0 lineto +137 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +77 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% CombinatorialFunctionCategory()->Category +newpath 103 72 moveto +103 64 103 55 103 46 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 107 46 moveto +103 36 lineto +100 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 107 46 moveto +103 36 lineto +100 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102elementaryfunctioncategory.ps b/books/ps/v102elementaryfunctioncategory.ps new file mode 100644 index 0000000..65f0062 --- /dev/null +++ b/books/ps/v102elementaryfunctioncategory.ps @@ -0,0 +1,289 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 236 152 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 236 152 +%%PageOrientation: Portrait +gsave +36 36 200 116 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 114 lineto +198 114 lineto +198 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 114 lineto +198 114 lineto +198 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% ElementaryFunctionCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 192 108 moveto +0 108 lineto +0 72 lineto +192 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 192 108 moveto +0 108 lineto +0 72 lineto +192 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +8 85 moveto +(ElementaryFunctionCategory\(\)) +[8.64 3.84 6.24 10.8 6.24 6.96 4.08 6.24 5.04 6.96 7.44 6.96 6.96 6.24 3.84 3.84 6.96 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 130 36 moveto +62 36 lineto +62 0 lineto +130 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 130 36 moveto +62 36 lineto +62 0 lineto +130 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +70 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% ElementaryFunctionCategory()->Category +newpath 96 72 moveto +96 64 96 55 96 46 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 100 46 moveto +96 36 lineto +93 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 100 46 moveto +96 36 lineto +93 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102hyperbolicfunctioncategory.ps b/books/ps/v102hyperbolicfunctioncategory.ps new file mode 100644 index 0000000..c51c22d --- /dev/null +++ b/books/ps/v102hyperbolicfunctioncategory.ps @@ -0,0 +1,289 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 234 152 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 234 152 +%%PageOrientation: Portrait +gsave +36 36 198 116 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 114 lineto +196 114 lineto +196 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 114 lineto +196 114 lineto +196 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% HyperbolicFunctionCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 190 108 moveto +0 108 lineto +0 72 lineto +190 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 190 108 moveto +0 108 lineto +0 72 lineto +190 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +8 85 moveto +(HyperbolicFunctionCategory\(\)) +[10.08 6.96 6.96 6.24 4.8 6.96 6.96 3.84 3.84 6.24 7.44 6.96 6.96 6.24 3.84 3.84 6.96 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 129 36 moveto +61 36 lineto +61 0 lineto +129 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 129 36 moveto +61 36 lineto +61 0 lineto +129 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +69 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% HyperbolicFunctionCategory()->Category +newpath 95 72 moveto +95 64 95 55 95 46 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 99 46 moveto +95 36 lineto +92 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 99 46 moveto +95 36 lineto +92 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102liouvillianfunctioncategory.ps b/books/ps/v102liouvillianfunctioncategory.ps new file mode 100644 index 0000000..357b79d --- /dev/null +++ b/books/ps/v102liouvillianfunctioncategory.ps @@ -0,0 +1,713 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 568 296 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 568 296 +%%PageOrientation: Portrait +gsave +36 36 532 260 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 258 lineto +530 258 lineto +530 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 258 lineto +530 258 lineto +530 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% LiouvillianFunctionCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 292 252 moveto +104 252 lineto +104 216 lineto +292 216 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 292 252 moveto +104 252 lineto +104 216 lineto +292 216 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +112 229 moveto +(LiouvillianFunctionCategory\(\)) +[8.64 3.84 6.96 6.96 6.96 3.84 3.84 3.84 3.84 6.24 6.96 7.44 6.96 6.96 6.24 3.84 3.84 6.96 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% PrimitiveFunctionCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 178 180 moveto +0 180 lineto +0 144 lineto +178 144 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 178 180 moveto +0 180 lineto +0 144 lineto +178 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +7 157 moveto +(PrimitiveFunctionCategory\(\)) +[7.68 5.04 3.84 10.8 3.84 3.84 3.84 6.48 6.24 7.44 6.96 6.96 6.24 3.84 3.84 6.96 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% LiouvillianFunctionCategory()->PrimitiveFunctionCategory() +newpath 170 216 moveto +156 207 139 196 125 186 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 126 183 moveto +116 180 lineto +122 188 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 126 183 moveto +116 180 lineto +122 188 lineto +closepath +stroke +end grestore +% TranscendentalFunctionCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 414 180 moveto +202 180 lineto +202 144 lineto +414 144 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 414 180 moveto +202 180 lineto +202 144 lineto +414 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +210 157 moveto +(TranscendentalFunctionCategory\(\)) +[7.92 4.8 6.24 6.96 5.52 6.24 6.24 6.96 6.96 6.24 6.96 4.08 6.24 3.84 7.44 6.96 6.96 6.24 3.84 3.84 6.96 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% LiouvillianFunctionCategory()->TranscendentalFunctionCategory() +newpath 226 216 moveto +239 207 257 196 272 186 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 275 188 moveto +281 180 lineto +271 183 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 275 188 moveto +281 180 lineto +271 183 lineto +closepath +stroke +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 306 36 moveto +238 36 lineto +238 0 lineto +306 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 306 36 moveto +238 36 lineto +238 0 lineto +306 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +246 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% PrimitiveFunctionCategory()->Category +newpath 85 144 moveto +82 124 81 92 97 72 curveto +114 52 181 35 228 26 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 229 29 moveto +238 24 lineto +228 23 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 229 29 moveto +238 24 lineto +228 23 lineto +closepath +stroke +end grestore +% TRIGCAT +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 182 108 moveto +106 108 lineto +106 72 lineto +182 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 182 108 moveto +106 108 lineto +106 72 lineto +182 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +114 85 moveto +(TRIGCAT) +[8.64 9.36 4.56 10.08 9.12 9.36 8.64] +xshow +end grestore +end grestore +% TranscendentalFunctionCategory()->TRIGCAT +newpath 267 144 moveto +244 134 215 122 191 111 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 193 108 moveto +182 107 lineto +190 114 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 193 108 moveto +182 107 lineto +190 114 lineto +closepath +stroke +end grestore +% ATRIG +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 260 108 moveto +200 108 lineto +200 72 lineto +260 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 260 108 moveto +200 108 lineto +200 72 lineto +260 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +208 85 moveto +(ATRIG) +[9.36 8.64 9.36 4.56 10.08] +xshow +end grestore +end grestore +% TranscendentalFunctionCategory()->ATRIG +newpath 288 144 moveto +278 135 267 125 257 115 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 259 112 moveto +249 108 lineto +254 117 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 259 112 moveto +249 108 lineto +254 117 lineto +closepath +stroke +end grestore +% HYPCAT +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 350 108 moveto +278 108 lineto +278 72 lineto +350 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 350 108 moveto +278 108 lineto +278 72 lineto +350 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +285 85 moveto +(HYPCAT) +[10.08 10.08 7.68 9.12 9.36 8.64] +xshow +end grestore +end grestore +% TranscendentalFunctionCategory()->HYPCAT +newpath 310 144 moveto +311 136 311 127 312 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 316 118 moveto +312 108 lineto +309 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 316 118 moveto +312 108 lineto +309 118 lineto +closepath +stroke +end grestore +% AHYP +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 424 108 moveto +368 108 lineto +368 72 lineto +424 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 424 108 moveto +368 108 lineto +368 72 lineto +424 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +376 85 moveto +(AHYP) +[10.08 10.08 10.08 7.68] +xshow +end grestore +end grestore +% TranscendentalFunctionCategory()->AHYP +newpath 330 144 moveto +341 135 354 124 366 114 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 368 117 moveto +374 108 lineto +364 111 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 368 117 moveto +374 108 lineto +364 111 lineto +closepath +stroke +end grestore +% ELEMFUN +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 524 108 moveto +442 108 lineto +442 72 lineto +524 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 524 108 moveto +442 108 lineto +442 72 lineto +524 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +449 85 moveto +(ELEMFUN) +[8.64 8.64 8.64 12.48 7.68 10.08 10.08] +xshow +end grestore +end grestore +% TranscendentalFunctionCategory()->ELEMFUN +newpath 352 144 moveto +377 134 407 121 433 111 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 434 114 moveto +442 107 lineto +431 108 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 434 114 moveto +442 107 lineto +431 108 lineto +closepath +stroke +end grestore +% TRIGCAT->Category +newpath 176 72 moveto +193 63 214 51 231 41 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 233 44 moveto +240 36 lineto +230 38 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 233 44 moveto +240 36 lineto +230 38 lineto +closepath +stroke +end grestore +% ATRIG->Category +newpath 241 72 moveto +245 64 251 54 257 45 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 260 46 moveto +262 36 lineto +254 43 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 260 46 moveto +262 36 lineto +254 43 lineto +closepath +stroke +end grestore +% HYPCAT->Category +newpath 303 72 moveto +299 64 293 54 287 45 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 290 43 moveto +282 36 lineto +284 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 290 43 moveto +282 36 lineto +284 46 lineto +closepath +stroke +end grestore +% AHYP->Category +newpath 368 74 moveto +352 64 330 52 312 41 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 313 38 moveto +303 36 lineto +310 44 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 313 38 moveto +303 36 lineto +310 44 lineto +closepath +stroke +end grestore +% ELEMFUN->Category +newpath 442 75 moveto +439 74 436 73 433 72 curveto +393 58 348 43 316 32 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 317 29 moveto +306 29 lineto +315 35 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 317 29 moveto +306 29 lineto +315 35 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102primitivefunctioncategory.ps b/books/ps/v102primitivefunctioncategory.ps new file mode 100644 index 0000000..2afcbaa --- /dev/null +++ b/books/ps/v102primitivefunctioncategory.ps @@ -0,0 +1,289 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 222 152 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 222 152 +%%PageOrientation: Portrait +gsave +36 36 186 116 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 114 lineto +184 114 lineto +184 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 114 lineto +184 114 lineto +184 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% PrimitiveFunctionCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 178 108 moveto +0 108 lineto +0 72 lineto +178 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 178 108 moveto +0 108 lineto +0 72 lineto +178 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +7 85 moveto +(PrimitiveFunctionCategory\(\)) +[7.68 5.04 3.84 10.8 3.84 3.84 3.84 6.48 6.24 7.44 6.96 6.96 6.24 3.84 3.84 6.96 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 123 36 moveto +55 36 lineto +55 0 lineto +123 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 123 36 moveto +55 36 lineto +55 0 lineto +123 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +63 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% PrimitiveFunctionCategory()->Category +newpath 89 72 moveto +89 64 89 55 89 46 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 93 46 moveto +89 36 lineto +86 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 93 46 moveto +89 36 lineto +86 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102specialfunctioncategory.ps b/books/ps/v102specialfunctioncategory.ps new file mode 100644 index 0000000..adc8305 --- /dev/null +++ b/books/ps/v102specialfunctioncategory.ps @@ -0,0 +1,289 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 212 152 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 212 152 +%%PageOrientation: Portrait +gsave +36 36 176 116 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 114 lineto +174 114 lineto +174 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 114 lineto +174 114 lineto +174 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% SpecialFunctionCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 168 108 moveto +0 108 lineto +0 72 lineto +168 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 168 108 moveto +0 108 lineto +0 72 lineto +168 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +8 85 moveto +(SpecialFunctionCategory\(\)) +[7.68 6.96 6.24 6.24 3.84 6.24 3.84 7.44 6.96 6.96 6.24 3.84 3.84 6.96 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 118 36 moveto +50 36 lineto +50 0 lineto +118 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 118 36 moveto +50 36 lineto +50 0 lineto +118 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +58 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% SpecialFunctionCategory()->Category +newpath 84 72 moveto +84 64 84 55 84 46 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 88 46 moveto +84 36 lineto +81 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 88 46 moveto +84 36 lineto +81 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102transcendentalfunctioncategory.ps b/books/ps/v102transcendentalfunctioncategory.ps new file mode 100644 index 0000000..d1fa0af --- /dev/null +++ b/books/ps/v102transcendentalfunctioncategory.ps @@ -0,0 +1,599 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 462 224 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 462 224 +%%PageOrientation: Portrait +gsave +36 36 426 188 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 186 lineto +424 186 lineto +424 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 186 lineto +424 186 lineto +424 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% TranscendentalFunctionCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 314 180 moveto +102 180 lineto +102 144 lineto +314 144 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 314 180 moveto +102 180 lineto +102 144 lineto +314 144 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +110 157 moveto +(TranscendentalFunctionCategory\(\)) +[7.92 4.8 6.24 6.96 5.52 6.24 6.24 6.96 6.96 6.24 6.96 4.08 6.24 3.84 7.44 6.96 6.96 6.24 3.84 3.84 6.96 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% TRIGCAT +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 76 108 moveto +0 108 lineto +0 72 lineto +76 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 76 108 moveto +0 108 lineto +0 72 lineto +76 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +8 85 moveto +(TRIGCAT) +[8.64 9.36 4.56 10.08 9.12 9.36 8.64] +xshow +end grestore +end grestore +% TranscendentalFunctionCategory()->TRIGCAT +newpath 165 144 moveto +141 134 110 121 85 110 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 87 107 moveto +76 106 lineto +84 113 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 87 107 moveto +76 106 lineto +84 113 lineto +closepath +stroke +end grestore +% ATRIG +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 154 108 moveto +94 108 lineto +94 72 lineto +154 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 154 108 moveto +94 108 lineto +94 72 lineto +154 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +102 85 moveto +(ATRIG) +[9.36 8.64 9.36 4.56 10.08] +xshow +end grestore +end grestore +% TranscendentalFunctionCategory()->ATRIG +newpath 187 144 moveto +177 135 164 124 153 115 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 155 112 moveto +145 108 lineto +150 117 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 155 112 moveto +145 108 lineto +150 117 lineto +closepath +stroke +end grestore +% HYPCAT +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 244 108 moveto +172 108 lineto +172 72 lineto +244 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 244 108 moveto +172 108 lineto +172 72 lineto +244 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +179 85 moveto +(HYPCAT) +[10.08 10.08 7.68 9.12 9.36 8.64] +xshow +end grestore +end grestore +% TranscendentalFunctionCategory()->HYPCAT +newpath 208 144 moveto +208 136 208 127 208 118 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 212 118 moveto +208 108 lineto +205 118 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 212 118 moveto +208 108 lineto +205 118 lineto +closepath +stroke +end grestore +% AHYP +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 318 108 moveto +262 108 lineto +262 72 lineto +318 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 318 108 moveto +262 108 lineto +262 72 lineto +318 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +270 85 moveto +(AHYP) +[10.08 10.08 10.08 7.68] +xshow +end grestore +end grestore +% TranscendentalFunctionCategory()->AHYP +newpath 229 144 moveto +239 135 251 124 262 115 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 265 117 moveto +270 108 lineto +260 112 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 265 117 moveto +270 108 lineto +260 112 lineto +closepath +stroke +end grestore +% ELEMFUN +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 418 108 moveto +336 108 lineto +336 72 lineto +418 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 418 108 moveto +336 108 lineto +336 72 lineto +418 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +343 85 moveto +(ELEMFUN) +[8.64 8.64 8.64 12.48 7.68 10.08 10.08] +xshow +end grestore +end grestore +% TranscendentalFunctionCategory()->ELEMFUN +newpath 251 144 moveto +274 134 302 122 327 112 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 328 115 moveto +336 108 lineto +325 109 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 328 115 moveto +336 108 lineto +325 109 lineto +closepath +stroke +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 242 36 moveto +174 36 lineto +174 0 lineto +242 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 242 36 moveto +174 36 lineto +174 0 lineto +242 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +182 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% TRIGCAT->Category +newpath 76 74 moveto +102 63 137 49 165 37 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 166 40 moveto +174 33 lineto +163 34 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 166 40 moveto +174 33 lineto +163 34 lineto +closepath +stroke +end grestore +% ATRIG->Category +newpath 145 72 moveto +155 63 168 52 179 43 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 182 45 moveto +187 36 lineto +177 40 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 182 45 moveto +187 36 lineto +177 40 lineto +closepath +stroke +end grestore +% HYPCAT->Category +newpath 208 72 moveto +208 64 208 55 208 46 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 212 46 moveto +208 36 lineto +205 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 212 46 moveto +208 36 lineto +205 46 lineto +closepath +stroke +end grestore +% AHYP->Category +newpath 269 72 moveto +259 63 247 52 236 43 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 238 40 moveto +228 36 lineto +233 45 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 238 40 moveto +228 36 lineto +233 45 lineto +closepath +stroke +end grestore +% ELEMFUN->Category +newpath 336 72 moveto +310 61 277 47 251 36 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 253 33 moveto +242 32 lineto +250 39 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 253 33 moveto +242 32 lineto +250 39 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/books/ps/v102trigonometricfunctioncategory.ps b/books/ps/v102trigonometricfunctioncategory.ps new file mode 100644 index 0000000..648fa74 --- /dev/null +++ b/books/ps/v102trigonometricfunctioncategory.ps @@ -0,0 +1,289 @@ +%!PS-Adobe-2.0 +%%Creator: dot version 2.8 (Thu Sep 14 20:34:11 UTC 2006) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: 36 36 250 152 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + dup scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw aligned label in bounding box aligned to current point +/alignedtext { % width adj text + /text exch def + /adj exch def + /width exch def + gsave + width 0 gt { + text stringwidth pop adj mul 0 rmoveto + } if + [] 0 setdash + text show + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +%%Page: 1 1 +%%PageBoundingBox: 36 36 250 152 +%%PageOrientation: Portrait +gsave +36 36 214 116 boxprim clip newpath +36 36 translate +0 0 1 beginpage +1.0000 set_scale +4 4 translate 0 rotate +0.167 0.600 1.000 graphcolor +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 114 lineto +212 114 lineto +212 -6 lineto +closepath +fill +0.167 0.600 1.000 graphcolor +newpath -6 -6 moveto +-6 114 lineto +212 114 lineto +212 -6 lineto +closepath +stroke +0.000 0.000 0.000 graphcolor +14.00 /Times-Roman set_font +% TrigonometricFunctionCategory() +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 206 108 moveto +0 108 lineto +0 72 lineto +206 72 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 206 108 moveto +0 108 lineto +0 72 lineto +206 72 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +7 85 moveto +(TrigonometricFunctionCategory\(\)) +[7.92 5.04 3.84 6.96 6.96 6.96 6.96 10.8 6 3.84 5.04 3.84 6.24 7.44 6.96 6.96 6.24 3.84 3.84 6.96 6.96 9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96 4.56 4.56] +xshow +end grestore +end grestore +% Category +gsave 10 dict begin +filled +0.537 0.247 0.902 nodecolor +0.537 0.247 0.902 nodecolor +newpath 137 36 moveto +69 36 lineto +69 0 lineto +137 0 lineto +closepath +fill +0.537 0.247 0.902 nodecolor +newpath 137 36 moveto +69 36 lineto +69 0 lineto +137 0 lineto +closepath +stroke +gsave 10 dict begin +0.000 0.000 0.000 nodecolor +77 13 moveto +(Category) +[9.36 6.24 3.84 6.24 6.96 6.96 5.04 6.96] +xshow +end grestore +end grestore +% TrigonometricFunctionCategory()->Category +newpath 103 72 moveto +103 64 103 55 103 46 curveto +stroke +gsave 10 dict begin +solid +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 107 46 moveto +103 36 lineto +100 46 lineto +closepath +fill +0.000 0.000 0.000 edgecolor +newpath 107 46 moveto +103 36 lineto +100 46 lineto +closepath +stroke +end grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +end +restore +%%EOF diff --git a/changelog b/changelog index 1f17334..f9e03cc 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,26 @@ +20080928 tpd books/bookvol10.2 add trigcat categories +20080928 tpd books/ps/v102trigonometricfunctioncategory.ps +20080928 tpd books/ps/v102transcendentalfunctioncategory.ps +20080928 tpd books/ps/v102specialfunctioncategory.ps +20080928 tpd books/ps/v102primitivefunctioncategory.ps +20080928 tpd books/ps/v102liouvillianfunctioncategory.ps added +20080928 tpd books/ps/v102hyperbolicfunctioncategory.ps added +20080928 tpd books/ps/v102elementaryfunctioncategory.ps added +20080928 tpd books/ps/v102combinatorialfunctioncategory.ps added +20080928 tpd books/ps/v102arctrigonometricfunctioncategory.ps added +20080928 tpd books/ps/v102archyperbolicfunctioncategory.ps added +20080928 tpd src/algebra/Makefile remove trigcat +20080928 tpd src/algebra/trigcat.spad absorbed into bookvol10.2 +20080927 tpd books/ps/v102nonassociativerng.ps added +20080927 tpd books/ps/v102nonassociativering.ps added +20080927 tpd books/ps/v102nonassociativealgebra.ps added +20080927 tpd books/ps/v102monadwithunit.ps added +20080927 tpd books/ps/v102monad.ps added +20080927 tpd books/ps/v102gradedmodule.ps added +20080927 tpd books/ps/v102gradedalgebra.ps added +20080927 tpd books/ps/v102functionfieldcategory.ps added +20080927 tpd books/ps/v102framednonassociativealgebra.ps added +20080927 tpd books/ps/v102finiteranknonassociativealgebra.ps added 20080927 tpd src/algebra/Makefile remove naalgc 20080927 tpd books/bookvol10.2 add categories 20080927 tpd src/algebra/naalgc.spad absorbed into bookvol10.2 diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index 5c3c9d8..4ab63a5 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -442,8 +442,6 @@ ore.spad.pamphlet (OREPCAT APPLYORE AUTOMOR OREPCTO ORESUP OREUP) plot3d.spad.pamphlet (PLOT3D) prtition.spad.pamphlet (PRTITION SYMPOLY) stream.spad.pamphlet (LZSTAGG CSTTOOLS STREAM STREAM1 STREAM2 STREAM3) -trigcat.spad.pamphlet (ELEMFUN AHYP ATRIG HYPCAT TRANFUN TRIGCAT PRIMCAT - LFCAT CFCAT SPFCAT) xlpoly.spad.pamphlet (MAGMA LWORD LIECAT FLALG XEXPPKG LPOLY PBWLB XPBWPOLY LEXP) xpoly.spad.pamphlet (OFMONOID FMCAT FM1 XALG XFALG XPOLYC XPR XDPOLY XRPOLY @@ -1300,7 +1298,7 @@ SPADFILES= \ ${OUTSRC}/syssolp.spad ${OUTSRC}/system.spad \ ${OUTSRC}/tableau.spad ${OUTSRC}/table.spad ${OUTSRC}/taylor.spad \ ${OUTSRC}/tex.spad ${OUTSRC}/tools.spad ${OUTSRC}/transsolve.spad \ - ${OUTSRC}/tree.spad ${OUTSRC}/trigcat.spad ${OUTSRC}/triset.spad \ + ${OUTSRC}/tree.spad ${OUTSRC}/triset.spad \ ${OUTSRC}/tube.spad ${OUTSRC}/twofact.spad \ ${OUTSRC}/unifact.spad ${OUTSRC}/updecomp.spad ${OUTSRC}/updivp.spad \ ${OUTSRC}/utsode.spad \ @@ -1461,7 +1459,7 @@ DOCFILES= \ ${DOC}/syssolp.spad.dvi ${DOC}/system.spad.dvi \ ${DOC}/tableau.spad.dvi ${DOC}/table.spad.dvi ${DOC}/taylor.spad.dvi \ ${DOC}/tex.spad.dvi ${DOC}/tools.spad.dvi ${DOC}/transsolve.spad.dvi \ - ${DOC}/tree.spad.dvi ${DOC}/trigcat.spad.dvi ${DOC}/triset.spad.dvi \ + ${DOC}/tree.spad.dvi ${DOC}/triset.spad.dvi \ ${DOC}/tube.spad.dvi ${DOC}/twofact.spad.dvi \ ${DOC}/unifact.spad.dvi ${DOC}/updecomp.spad.dvi ${DOC}/updivp.spad.dvi \ ${DOC}/utsode.spad.dvi \ diff --git a/src/algebra/trigcat.spad.pamphlet b/src/algebra/trigcat.spad.pamphlet deleted file mode 100644 index 4e5529a..0000000 --- a/src/algebra/trigcat.spad.pamphlet +++ /dev/null @@ -1,388 +0,0 @@ -\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} -<>= -"ELEMFUN" -> "CATEGORY" -"ElementaryFunctionCategory()" -> "Category" -@ -<>= -)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} -<>= -"AHYP" -> "CATEGORY" -"ArcHyperbolicFunctionCategory()" -> "Category" -@ -<>= -)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. -<>= -"ATRIG" -> "CATEGORY" -"ArcTrigonometricFunctionCategory()" -> "Category" -@ -<>= -)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. -<>= -"HYPCAT" -> "CATEGORY" -"HyperbolicFunctionCategory()" -> "Category" -@ -<>= -)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. -<>= -"TRANFUN" -> "TRIGCAT" -"TranscendentalFunctionCategory()" -> - "TrigonometricFunctionCategory()" -"TRANFUN" -> "ATRIG" -"TranscendentalFunctionCategory()" -> - "ArcTrigonometricFunctionCategory()" -"TRANFUN" -> "HYPCAT" -"TranscendentalFunctionCategory()" -> - "HyperbolicFunctionCategory()" -"TRANFUN" -> "AHYP" -"TranscendentalFunctionCategory()" -> - "ArcHyperbolicFunctionCategory()" -"TRANFUN" -> "ELEMFUN" -"TranscendentalFunctionCategory()" -> - "ElementaryFunctionCategory()" -@ -<>= -)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. -<>= -"TRIGCAT" -> "CATEGORY" -"TrigonometricFunctionCategory()" -> "Category" -@ -<>= -)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} -<>= -"PRIMCAT" -> "CATEGORY" -"PrimitiveFunctionCategory()" -> "Category" -@ -<>= -)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} -<>= -"LFCAT" -> "PRIMCAT" -"LiouvillianFunctionCategory()" -> "PrimitiveFunctionCategory()" -"LFCAT" -> "TRANFUN" -"LiouvillianFunctionCategory()" -> "TranscendentalFunctionCategory()" -@ -<>= -)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} -<>= -"CFCAT" -> "CATEGORY" -"CombinatorialFunctionCategory()" -> "Category" -@ -<>= -)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} -<>= -"SPFCAT" -> "CATEGORY" -"SpecialFunctionCategory()" -> "Category" -@ -<>= -)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}