diff --git a/changelog b/changelog index ec35f67..dc5688d 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,17 @@ +20080905 tpd src/algebra/cra.spad graphviz dotfile decoration +20080905 tpd src/algebra/coordsys.spad graphviz dotfile decoration +20080905 tpd src/algebra/cont.spad graphviz dotfile decoration +20080905 tpd src/algebra/contfrac.spad graphviz dotfile decoration +20080905 tpd src/algebra/constant.spad graphviz dotfile decoration +20080905 tpd src/algebra/complet.spad graphviz dotfile decoration +20080905 tpd src/algebra/retract.spad graphviz dotfile decoration +20080905 tpd src/algebra/combinat.spad graphviz dotfile decoration +20080905 tpd src/algebra/combfunc.spad graphviz dotfile decoration +20080905 tpd src/algebra/color.spad graphviz dotfile decoration +20080905 tpd src/algebra/cmplxrt.spad graphviz dotfile decoration +20080905 tpd src/algebra/clip.spad graphviz dotfile decoration +20080905 tpd src/algebra/clifford.spad graphviz dotfile decoration +20080905 tpd src/algebra/catdef.spad graphviz dotfile decoration 20080904 tpd src/algebra/retract.spad graphviz dotfile decoration 20080904 tpd src/algebra/equation1.spad graphviz dotfile decoration 20080904 tpd src/algebra/carten.spad graphviz dotfile decoration diff --git a/src/algebra/catdef.spad.pamphlet b/src/algebra/catdef.spad.pamphlet index b16f4b2..7beab0a 100644 --- a/src/algebra/catdef.spad.pamphlet +++ b/src/algebra/catdef.spad.pamphlet @@ -536,6 +536,7 @@ Note that this code is not included in the generated catdef.spad file. <>= "ALGEBRA" -> "RING" "Algebra(a:CommutativeRing)" -> "Ring()" +"Algebra(a:Field)" -> "Algebra(a:CommutativeRing)" "ALGEBRA" -> "MODULE" "Algebra(a:CommutativeRing)" -> "Module(a:CommutativeRing)" "Algebra(Fraction(Integer))" -> "Algebra(a:CommutativeRing)" @@ -2987,6 +2988,8 @@ LeftModule(R:Rng):Category == AbelianGroup with "LINEXP" -> "RING" "LinearlyExplicitRingOver(a:Ring)" -> "Ring()" "LinearlyExplicitRingOver(Integer)" -> "LinearlyExplicitRingOver(a:Ring)" +"LinearlyExplicitRingOver(Fraction(Integer))" -> + "LinearlyExplicitRingOver(a:Ring)" @ <>= )abbrev category LINEXP LinearlyExplicitRingOver diff --git a/src/algebra/clifford.spad.pamphlet b/src/algebra/clifford.spad.pamphlet index cd94dd5..2527f99 100644 --- a/src/algebra/clifford.spad.pamphlet +++ b/src/algebra/clifford.spad.pamphlet @@ -11,6 +11,10 @@ \tableofcontents \eject \section{domain QFORM QuadraticForm} +<>= +"QFORM" -> "ABELGRP" +"QuadraticForm(a:PositiveInteger,b:Field)" -> "AbelianGroup()" +@ <>= )abbrev domain QFORM QuadraticForm ++ Author: Stephen M. Watt @@ -854,6 +858,17 @@ o )show CliffordAlgebra o $AXIOM/doc/src/algebra/clifford.spad @ +<>= +"CLIF" -> "RING" +"CliffordAlgebra(a:PositiveInteger,b:Field,c:QuadraticForm(a,b))" -> + "Ring()" +"CLIF" -> "ALGEBRA" +"CliffordAlgebra(a:PositiveInteger,b:Field,c:QuadraticForm(a,b))" -> + "Algebra(a:Field)" +"CLIF" -> "VSPACE" +"CliffordAlgebra(a:PositiveInteger,b:Field,c:QuadraticForm(a,b))" -> + "VectorSpace(a:Field)" +@ <>= )abbrev domain CLIF CliffordAlgebra ++ Author: Stephen M. Watt diff --git a/src/algebra/clip.spad.pamphlet b/src/algebra/clip.spad.pamphlet index 04f9f42..4d4d3d8 100644 --- a/src/algebra/clip.spad.pamphlet +++ b/src/algebra/clip.spad.pamphlet @@ -10,6 +10,10 @@ \tableofcontents \eject \section{package CLIP TwoDimensionalPlotClipping} +<>= +"CLIP" -> "PACKAGE" +"TwoDimensionalPlotClipping()" -> "Package" +@ <>= )abbrev package CLIP TwoDimensionalPlotClipping ++ Automatic clipping for 2-dimensional plots @@ -101,7 +105,8 @@ TwoDimensionalPlotClipping(): Exports == Implementation where error "clipDraw: fraction should be between 0 and 1" empty? pointLists => [nil(),segment(0,0),segment(0,0)] -- put all points together , sort them according to norm - sortedList := sort(norm(#1) < norm(#2),select(not Pnan? #1,concat pointLists)) + sortedList := + sort(norm(#1) < norm(#2),select(not Pnan? #1,concat pointLists)) empty? sortedList => [nil(),segment(0,0),segment(0,0)] n := # sortedList num := numer fraction @@ -115,7 +120,8 @@ TwoDimensionalPlotClipping(): Exports == Implementation where yMax : SF := yCoord firstPt -- calculate min/max for the first (1-fraction)*N points -- this contracts the range - -- this unnecessarily clips monotonic functions (step-function, x^(high power),etc.) + -- this unnecessarily clips monotonic functions + -- (step-function, x^(high power),etc.) for k in 0..lastN for pt in rest sortedList repeat xMin := min(xMin,xCoord pt) xMax := max(xMax,xCoord pt) diff --git a/src/algebra/cmplxrt.spad.pamphlet b/src/algebra/cmplxrt.spad.pamphlet index 5cd1072..663b5c3 100644 --- a/src/algebra/cmplxrt.spad.pamphlet +++ b/src/algebra/cmplxrt.spad.pamphlet @@ -10,6 +10,11 @@ \tableofcontents \eject \section{package CMPLXRT ComplexRootPackage} +<>= +"CMPLXRT" -> "PACKAGE" +"ComplexRootPackage(a:UPOLYC(COMPLEX(INT)),b:Join(FIELD,ORDRING))" -> + "Package" +@ <>= )abbrev package CMPLXRT ComplexRootPackage ++ Author: P. Gianni diff --git a/src/algebra/color.spad.pamphlet b/src/algebra/color.spad.pamphlet index 56801bf..3850532 100644 --- a/src/algebra/color.spad.pamphlet +++ b/src/algebra/color.spad.pamphlet @@ -10,6 +10,10 @@ \tableofcontents \eject \section{domain COLOR Color} +<>= +"COLOR" -> "ABELSG" +"Color()" -> "AbelianSemiGroup()" +@ <>= )abbrev domain COLOR Color ++ Author: Jim Wen @@ -103,6 +107,10 @@ Color(): Exports == Implementation where @ \section{domain PALETTE Palette} +<>= +"PALETTE" -> "SETCAT" +"Palette()" -> "SetCategory()" +@ <>= )abbrev domain PALETTE Palette ++ Author: Jim Wen diff --git a/src/algebra/combfunc.spad.pamphlet b/src/algebra/combfunc.spad.pamphlet index 24dd91a..c92394f 100644 --- a/src/algebra/combfunc.spad.pamphlet +++ b/src/algebra/combfunc.spad.pamphlet @@ -10,6 +10,10 @@ \tableofcontents \eject \section{category COMBOPC CombinatorialOpsCategory} +<>= +"COMBOPC" -> "CFCAT" +"CombinatorialOpsCategory()" -> "CombinatorialFunctionCategory()" +@ <>= )abbrev category COMBOPC CombinatorialOpsCategory ++ Category for summations and products @@ -41,6 +45,10 @@ CombinatorialOpsCategory(): Category == ++ formal product; @ +<>= +"COMBF" -> "PACKAGE" +"CombinatorialFunction(a:Join(ORDSET,INTDOM),b:FS(a))" -> "Package" +@ <>= )abbrev package COMBF CombinatorialFunction ++ Provides the usual combinatorial functions @@ -52,8 +60,6 @@ CombinatorialOpsCategory(): Category == ++ Keywords: combinatorial, function, factorial. ++ Examples: )r COMBF INPUT - - CombinatorialFunction(R, F): Exports == Implementation where R: Join(OrderedSet, IntegralDomain) F: FunctionSpace R @@ -670,6 +676,10 @@ equality. \section{package FSPECF FunctionalSpecialFunction} +<>= +"FSPECF" -> "PACKAGE" +"FunctionalSpecialFunction(a:Join(ORDSET,INTDOM),b:FS(a))" -> "Package" +@ <>= )abbrev package FSPECF FunctionalSpecialFunction ++ Provides the special functions @@ -1057,6 +1067,10 @@ component of the gradient failed, it resulted in an infinite loop for @ \section{package SUMFS FunctionSpaceSum} +<>= +"SUMFS" -> "PACKAGE" +"FunctionSpaceSum(a:Join(...),b:Join(...))" -> "Package" +@ <>= )abbrev package SUMFS FunctionSpaceSum ++ Top-level sum function diff --git a/src/algebra/combinat.spad.pamphlet b/src/algebra/combinat.spad.pamphlet index 55765dc..0bc10f0 100644 --- a/src/algebra/combinat.spad.pamphlet +++ b/src/algebra/combinat.spad.pamphlet @@ -10,6 +10,10 @@ \tableofcontents \eject \section{package COMBINAT IntegerCombinatoricFunctions} +<>= +"COMBINAT" -> "PACKAGE" +"IntegerCombinatoricFunctions(a:IntegerNumberSystem)" -> "Package" +@ <>= )abbrev package COMBINAT IntegerCombinatoricFunctions ++ Authors: Martin Brock, Robert Sutor, Michael Monagan diff --git a/src/algebra/complet.spad.pamphlet b/src/algebra/complet.spad.pamphlet index 2dc03ae..642de19 100644 --- a/src/algebra/complet.spad.pamphlet +++ b/src/algebra/complet.spad.pamphlet @@ -10,6 +10,12 @@ \tableofcontents \eject \section{domain ORDCOMP OrderedCompletion} +<>= +"ORDCOMP" -> "SETCAT" +"OrderedCompletion(a:SetCategory)" -> "SetCategory()" +"ORDCOMP" -> "FRETRCT" +"OrderedCompletion(a:SetCategory)" -> "FullyRetractableTo(a:SetCategory)" +@ <>= )abbrev domain ORDCOMP OrderedCompletion ++ Completion with + and - infinity @@ -140,6 +146,10 @@ OrderedCompletion(R:SetCategory): Exports == Implementation where @ \section{package ORDCOMP2 OrderedCompletionFunctions2} +<>= +"ORDCOMP2" -> "PACKAGE" +"OrderedCompletionFunctions2(a:SETCAT,b:SETCAT)" -> "Package" +@ <>= )abbrev package ORDCOMP2 OrderedCompletionFunctions2 ++ Lifting of maps to ordered completions @@ -173,6 +183,12 @@ OrderedCompletionFunctions2(R, S): Exports == Implementation where @ \section{domain ONECOMP OnePointCompletion} +<>= +"ONECOMP" -> "SETCAT" +"OnePointCompletion(a:SetCategory)" -> "SetCategory()" +"ONECOMP" -> "FRETRCT" +"OnePointCompletion(a:SetCategory)" -> "FullyRetractableTo(a:SetCategory)" +@ <>= )abbrev domain ONECOMP OnePointCompletion ++ Completion with infinity @@ -277,6 +293,10 @@ OnePointCompletion(R:SetCategory): Exports == Implementation where @ \section{package ONECOMP2 OnePointCompletionFunctions2} +<>= +"ONECOMP2" -> "PACKAGE" +"OnePointCompletionFunctions2(a:SETCAT,b:SETCAT)" -> "Package" +@ <>= )abbrev package ONECOMP2 OnePointCompletionFunctions2 ++ Lifting of maps to one-point completions @@ -307,6 +327,10 @@ OnePointCompletionFunctions2(R, S): Exports == Implementation where @ \section{package INFINITY Infinity} +<>= +"INFINITY" -> "PACKAGE" +"Infinity()" -> "Package" +@ <>= )abbrev package INFINITY Infinity ++ Top-level infinity diff --git a/src/algebra/constant.spad.pamphlet b/src/algebra/constant.spad.pamphlet index 8cab8cc..b72289d 100644 --- a/src/algebra/constant.spad.pamphlet +++ b/src/algebra/constant.spad.pamphlet @@ -10,6 +10,26 @@ \tableofcontents \eject \section{domain IAN InnerAlgebraicNumber} +<>= +"IAN" -> "ES" +"InnerAlgebraicNumber()" -> "ExpressionSpace()" +"IAN" -> "ACF" +"InnerAlgebraicNumber()" -> "AlgebraicallyClosedField()" +"IAN" -> "RETRACT" +"InnerAlgebraicNumber()" -> "RetractableTo(Integer)" +"InnerAlgebraicNumber()" -> "RetractableTo(Fraction(Integer))" +"IAN" -> "LINEXP" +"InnerAlgebraicNumber()" -> "LinearlyExplicitRingOver(Integer)" +"InnerAlgebraicNumber()" -> "LinearlyExplicitRingOver(Fraction(Integer))" +"IAN" -> "REAL" +"InnerAlgebraicNumber()" -> "RealConstant()" +"IAN" -> "CHARZ" +"InnerAlgebraicNumber()" -> "CharacteristicZero()" +"IAN" -> "KONVERT" +"InnerAlgebraicNumber()" -> "ConvertibleTo(Complex(Float))" +"IAN" -> "DIFRING" +"InnerAlgebraicNumber()" -> "DifferentialRing()" +@ <>= )abbrev domain IAN InnerAlgebraicNumber ++ Algebraic closure of the rational numbers @@ -67,7 +87,8 @@ InnerAlgebraicNumber(): Exports == Implementation where -- mv:= mainVariable denom f -- mv case "failed" => f -- algv:=mv::K --- q:=univariate(f, algv, minPoly(algv))$PolynomialCategoryQuotientFunctions(IndexedExponents K,K,Integer,P,%) +-- q:=univariate(f, algv, minPoly(algv))_ +-- $PolynomialCategoryQuotientFunctions(IndexedExponents K,K,Integer,P,%) -- q(algv::%) findDenominator(z:SUP %):Record(num:SUP %,den:%) == @@ -103,8 +124,10 @@ InnerAlgebraicNumber(): Exports == Implementation where pa,pb:SparseUnivariatePolynomial % pa:=monomial(1,1)-monomial(a,0) pb:=monomial(1,1)-monomial(b,0) - na:=map(retract,norm(pa,ka))$SparseUnivariatePolynomialFunctions2(%,Fraction Z) - nb:=map(retract,norm(pb,kb))$SparseUnivariatePolynomialFunctions2(%,Fraction Z) + na:=map(retract,norm(pa,ka))_ + $SparseUnivariatePolynomialFunctions2(%,Fraction Z) + nb:=map(retract,norm(pb,kb))_ + $SparseUnivariatePolynomialFunctions2(%,Fraction Z) (sa:=squareFreePart(na)) = (sb:=squareFreePart(nb)) => true g:=gcd(sa,sb) (dg:=degree g) = 0 => false @@ -123,9 +146,11 @@ InnerAlgebraicNumber(): Exports == Implementation where z:=norm(z,k) z norm(z:SUP %,k:Kernel %):SUP % == - p:=map(#1::SUP %,minPoly k)$SparseUnivariatePolynomialFunctions2(%,SUP %) + p:=map(#1::SUP %,minPoly k)_ + $SparseUnivariatePolynomialFunctions2(%,SUP %) f:=findDenominator z - zz:=map(makeUnivariate(numer #1,k),f.num)$SparseUnivariatePolynomialFunctions2( %,SUP %) + zz:=map(makeUnivariate(numer #1,k),f.num)_ + $SparseUnivariatePolynomialFunctions2( %,SUP %) zz:=swap(zz)$CommuteUnivariatePolynomialCategory(%,SUP %,SUP SUP %) resultant(p,zz)/norm(f.den,k) norm(z:SUP %,l:List Kernel %): SUP % == @@ -147,6 +172,26 @@ InnerAlgebraicNumber(): Exports == Implementation where @ \section{domain AN AlgebraicNumber} +<>= +"AN" -> "ES" +"AlgebraicNumber()" -> "ExpressionSpace()" +"AN" -> "ACF" +"AlgebraicNumber()" -> "AlgebraicallyClosedField()" +"AN" -> "RETRACT" +"AlgebraicNumber()" -> "RetractableTo(Integer)" +"AlgebraicNumber()" -> "RetractableTo(Fraction(Integer))" +"AN" -> "LINEXP" +"AlgebraicNumber()" -> "LinearlyExplicitRingOver(Integer)" +"AlgebraicNumber()" -> "LinearlyExplicitRingOver(Fraction(Integer))" +"AN" -> "REAL" +"AlgebraicNumber()" -> "RealConstant()" +"AN" -> "CHARZ" +"AlgebraicNumber()" -> "CharacteristicZero()" +"AN" -> "KONVERT" +"AlgebraicNumber()" -> "ConvertibleTo(Complex(Float))" +"AN" -> "DIFRING" +"AlgebraicNumber()" -> "DifferentialRing()" +@ <>= )abbrev domain AN AlgebraicNumber ++ Algebraic closure of the rational numbers diff --git a/src/algebra/cont.spad.pamphlet b/src/algebra/cont.spad.pamphlet index 5183d27..fde20e0 100644 --- a/src/algebra/cont.spad.pamphlet +++ b/src/algebra/cont.spad.pamphlet @@ -10,6 +10,10 @@ \tableofcontents \eject \section{package ESCONT ExpertSystemContinuityPackage} +<>= +"ESCONT" -> "PACKAGE" +"ExpertSystemContinuityPackage()" -> "Package" +@ <>= )abbrev package ESCONT ExpertSystemContinuityPackage ++ Author: Brian Dupee @@ -264,6 +268,10 @@ ExpertSystemContinuityPackage(): E == I where @ \section{package ESCONT1 ExpertSystemContinuityPackage1} +<>= +"ESCONT1" -> "PACKAGE" +"ExpertSystemContinuityPackage1(a:DF,b:DF)" -> "Package" +@ <>= )abbrev package ESCONT1 ExpertSystemContinuityPackage1 ++ Author: Brian Dupee diff --git a/src/algebra/contfrac.spad.pamphlet b/src/algebra/contfrac.spad.pamphlet index d6c24af..300ccd2 100644 --- a/src/algebra/contfrac.spad.pamphlet +++ b/src/algebra/contfrac.spad.pamphlet @@ -554,6 +554,14 @@ o )show ContinuedFraction o $AXIOM/doc/src/algebra/contrac.spad.dvi @ +<>= +"CONTFRAC" -> "ALGEBRA" +"ContinuedFraction(a:EuclideanDomain)" -> "Algebra(a:EuclideanDomain)" +"ContinuedFraction(a:EuclideanDomain)" -> + "Algebra(a:Fraction(EuclideanDomain))" +"CONTFRAC" -> "FIELD" +"ContinuedFraction(a:EuclideanDomain)" -> "Field()" +@ <>= )abbrev domain CONTFRAC ContinuedFraction ++ Author: Stephen M. Watt @@ -579,8 +587,6 @@ o $AXIOM/doc/src/algebra/contrac.spad.dvi ++ This is enforced by ensuring the partial numerators and partial ++ denominators are greater than 0 in the Euclidean domain view of \spad{R} ++ (i.e. \spad{sizeLess?(0, x)}). - - ContinuedFraction(R): Exports == Implementation where R : EuclideanDomain Q ==> Fraction R @@ -882,6 +888,10 @@ ContinuedFraction(R): Exports == Implementation where @ \section{package NCNTFRAC NumericContinuedFraction} +<>= +"NCNTFRAC" -> "PACKAGE" +"NumericContinuedFraction(a:FloatingPointSystem)" -> "Package" +@ <>= )abbrev package NCNTFRAC NumericContinuedFraction ++ Author: Clifton J. Williamson diff --git a/src/algebra/coordsys.spad.pamphlet b/src/algebra/coordsys.spad.pamphlet index 1dc9196..3b3b5ac 100644 --- a/src/algebra/coordsys.spad.pamphlet +++ b/src/algebra/coordsys.spad.pamphlet @@ -10,6 +10,10 @@ \tableofcontents \eject \section{package COORDSYS CoordinateSystems} +<>= +"COORDSYS" -> "PACKAGE" +"CoordinateSystems(a:Join(FIELD,TRANFUN,RADCAT))" -> "Package" +@ <>= )abbrev package COORDSYS CoordinateSystems ++ Author: Jim Wen @@ -42,12 +46,14 @@ CoordinateSystems(R): Exports == Implementation where ++ to \spad{x = r * cos(theta)} , \spad{y = r * sin(theta)}. cylindrical: Pt -> Pt ++ cylindrical(pt) transforms pt from polar coordinates to Cartesian - ++ coordinates: the function produced will map the point \spad{(r,theta,z)} - ++ to \spad{x = r * cos(theta)}, \spad{y = r * sin(theta)}, \spad{z}. + ++ coordinates: the function produced will map the point + ++ \spad{(r,theta,z)} to + ++ \spad{x = r * cos(theta)}, \spad{y = r * sin(theta)}, \spad{z}. spherical: Pt -> Pt ++ spherical(pt) transforms pt from spherical coordinates to Cartesian - ++ coordinates: the function produced will map the point \spad{(r,theta,phi)} - ++ to \spad{x = r*sin(phi)*cos(theta)}, \spad{y = r*sin(phi)*sin(theta)}, + ++ coordinates: the function produced will map the point + ++ \spad{(r,theta,phi)} to + ++ \spad{x = r*sin(phi)*cos(theta)}, \spad{y = r*sin(phi)*sin(theta)}, ++ \spad{z = r*cos(phi)}. parabolic: Pt -> Pt ++ parabolic(pt) transforms pt from parabolic coordinates to Cartesian @@ -66,40 +72,51 @@ CoordinateSystems(R): Exports == Implementation where elliptic: R -> (Pt -> Pt) ++ elliptic(a) transforms from elliptic coordinates to Cartesian ++ coordinates: \spad{elliptic(a)} is a function which will map the - ++ point \spad{(u,v)} to \spad{x = a*cosh(u)*cos(v)}, \spad{y = a*sinh(u)*sin(v)}. + ++ point \spad{(u,v)} to + ++ \spad{x = a*cosh(u)*cos(v)}, \spad{y = a*sinh(u)*sin(v)}. ellipticCylindrical: R -> (Pt -> Pt) - ++ ellipticCylindrical(a) transforms from elliptic cylindrical coordinates - ++ to Cartesian coordinates: \spad{ellipticCylindrical(a)} is a function - ++ which will map the point \spad{(u,v,z)} to \spad{x = a*cosh(u)*cos(v)}, - ++ \spad{y = a*sinh(u)*sin(v)}, \spad{z}. + ++ ellipticCylindrical(a) transforms from elliptic cylindrical + ++ coordinates to Cartesian coordinates: + ++ \spad{ellipticCylindrical(a)} is a function + ++ which will map the point \spad{(u,v,z)} to + ++ \spad{x = a*cosh(u)*cos(v)},\spad{y = a*sinh(u)*sin(v)}, \spad{z}. prolateSpheroidal: R -> (Pt -> Pt) - ++ prolateSpheroidal(a) transforms from prolate spheroidal coordinates to - ++ Cartesian coordinates: \spad{prolateSpheroidal(a)} is a function + ++ prolateSpheroidal(a) transforms from prolate spheroidal coordinates + ++ to Cartesian coordinates: \spad{prolateSpheroidal(a)} is a function ++ which will map the point \spad{(xi,eta,phi)} to - ++ \spad{x = a*sinh(xi)*sin(eta)*cos(phi)}, \spad{y = a*sinh(xi)*sin(eta)*sin(phi)}, + ++ \spad{x = a*sinh(xi)*sin(eta)*cos(phi)}, + ++ \spad{y = a*sinh(xi)*sin(eta)*sin(phi)}, ++ \spad{z = a*cosh(xi)*cos(eta)}. oblateSpheroidal: R -> (Pt -> Pt) ++ oblateSpheroidal(a) transforms from oblate spheroidal coordinates to ++ Cartesian coordinates: \spad{oblateSpheroidal(a)} is a function which - ++ will map the point \spad{(xi,eta,phi)} to \spad{x = a*sinh(xi)*sin(eta)*cos(phi)}, - ++ \spad{y = a*sinh(xi)*sin(eta)*sin(phi)}, \spad{z = a*cosh(xi)*cos(eta)}. + ++ will map the point \spad{(xi,eta,phi)} to + ++ \spad{x = a*sinh(xi)*sin(eta)*cos(phi)}, + ++ \spad{y = a*sinh(xi)*sin(eta)*sin(phi)}, + ++ \spad{z = a*cosh(xi)*cos(eta)}. bipolar: R -> (Pt -> Pt) - ++ bipolar(a) transforms from bipolar coordinates to Cartesian coordinates: - ++ \spad{bipolar(a)} is a function which will map the point \spad{(u,v)} to - ++ \spad{x = a*sinh(v)/(cosh(v)-cos(u))}, \spad{y = a*sin(u)/(cosh(v)-cos(u))}. + ++ bipolar(a) transforms from bipolar coordinates to Cartesian + ++ coordinates: \spad{bipolar(a)} is a function which will map + ++ the point \spad{(u,v)} to + ++ \spad{x = a*sinh(v)/(cosh(v)-cos(u))}, + ++ \spad{y = a*sin(u)/(cosh(v)-cos(u))}. bipolarCylindrical: R -> (Pt -> Pt) ++ bipolarCylindrical(a) transforms from bipolar cylindrical coordinates - ++ to Cartesian coordinates: \spad{bipolarCylindrical(a)} is a function which - ++ will map the point \spad{(u,v,z)} to \spad{x = a*sinh(v)/(cosh(v)-cos(u))}, + ++ to Cartesian coordinates: \spad{bipolarCylindrical(a)} is a function + ++ which will map the point \spad{(u,v,z)} to + ++ \spad{x = a*sinh(v)/(cosh(v)-cos(u))}, ++ \spad{y = a*sin(u)/(cosh(v)-cos(u))}, \spad{z}. toroidal: R -> (Pt -> Pt) ++ toroidal(a) transforms from toroidal coordinates to Cartesian - ++ coordinates: \spad{toroidal(a)} is a function which will map the point - ++ \spad{(u,v,phi)} to \spad{x = a*sinh(v)*cos(phi)/(cosh(v)-cos(u))}, - ++ \spad{y = a*sinh(v)*sin(phi)/(cosh(v)-cos(u))}, \spad{z = a*sin(u)/(cosh(v)-cos(u))}. + ++ coordinates: \spad{toroidal(a)} is a function which will map the + ++ point \spad{(u,v,phi)} to + ++ \spad{x = a*sinh(v)*cos(phi)/(cosh(v)-cos(u))}, + ++ \spad{y = a*sinh(v)*sin(phi)/(cosh(v)-cos(u))}, + ++ \spad{z = a*sin(u)/(cosh(v)-cos(u))}. conical: (R,R) -> (Pt -> Pt) - ++ conical(a,b) transforms from conical coordinates to Cartesian coordinates: - ++ \spad{conical(a,b)} is a function which will map the point \spad{(lambda,mu,nu)} to + ++ conical(a,b) transforms from conical coordinates to Cartesian + ++ coordinates: \spad{conical(a,b)} is a function which will map the + ++ point \spad{(lambda,mu,nu)} to ++ \spad{x = lambda*mu*nu/(a*b)}, ++ \spad{y = lambda/a*sqrt((mu**2-a**2)*(nu**2-a**2)/(a**2-b**2))}, ++ \spad{z = lambda/b*sqrt((mu**2-b**2)*(nu**2-b**2)/(b**2-a**2))}. diff --git a/src/algebra/cra.spad.pamphlet b/src/algebra/cra.spad.pamphlet index 640170d..13fa6a1 100644 --- a/src/algebra/cra.spad.pamphlet +++ b/src/algebra/cra.spad.pamphlet @@ -10,6 +10,10 @@ \tableofcontents \eject \section{package CRAPACK CRApackage} +<>= +"CRAPACK" -> "PACKAGE" +"CRApackage(a:EuclideanDomain)" -> "Package" +@ <>= )abbrev package CRAPACK CRApackage diff --git a/src/algebra/retract.spad.pamphlet b/src/algebra/retract.spad.pamphlet index 3492d7e..7717c65 100644 --- a/src/algebra/retract.spad.pamphlet +++ b/src/algebra/retract.spad.pamphlet @@ -15,6 +15,7 @@ "FullyRetractableTo(a:Type)" -> "RetractableTo(a:Type)" "FullyRetractableTo(a:Ring)" -> "FullyRetractableTo(a:Type)" "FullyRetractableTo(a:CommutativeRing)" -> "FullyRetractableTo(a:Type)" +"FullyRetractableTo(a:SetCategory)" -> "FullyRetractableTo(a:Type)" @ <>= )abbrev category FRETRCT FullyRetractableTo