From bdc1b73ffab854f18aec23d459ff66ec1f8b8b6e Mon Sep 17 00:00:00 2001 From: dos-reis Date: Thu, 17 Jun 2010 22:31:40 +0000 Subject: * algebra/catdef.spad.pamphlet (DifferentialSpaceExtension): New. (DifferentialModuleExtension): Likewise. --- src/algebra/Makefile.in | 4 ++- src/algebra/Makefile.pamphlet | 4 ++- src/algebra/catdef.spad.pamphlet | 72 ++++++++++++++++++++++++++++++++++++++++ src/algebra/exposed.lsp.pamphlet | 2 ++ 4 files changed, 80 insertions(+), 2 deletions(-) (limited to 'src/algebra') diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in index 5bbaa9dd..d35fbbb8 100644 --- a/src/algebra/Makefile.in +++ b/src/algebra/Makefile.in @@ -343,6 +343,7 @@ $(OUT)/DIFFSPC.$(FASLEXT): $(OUT)/DIFFDOM.$(FASLEXT) $(OUT)/DIFFMOD.$(FASLEXT): $(OUT)/DIFFSPC.$(FASLEXT) $(OUT)/PDDOM.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) $(OUT)/PDSPC.$(FASLEXT): $(OUT)/PDDOM.$(FASLEXT) +$(OUT)/DSEXT.$(FASLEXT): $(OUT)/DIFFSPC.$(FASLEXT) $(OUT)/PDSPC.$(FASLEXT) axiom_algebra_layer_0 = \ AHYP ATTREG CFCAT ELTAB KOERCE KONVERT \ @@ -369,7 +370,8 @@ axiom_algebra_layer_0 = \ DIOPS DIOPS- STRING STRICAT ISTRING ILIST \ LIST DIFFDOM DIFFDOM- DIFFSPC DIFFSPC- DIFFMOD \ LINEXP PATMAB REAL CHARZ LOGIC LOGIC- \ - RTVALUE SYSPTR PDDOM PDDOM- PDSPC PDSPC- + RTVALUE SYSPTR PDDOM PDDOM- PDSPC PDSPC- \ + DSEXT DSEXT- axiom_algebra_layer_0_nrlibs = \ $(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_0)) diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index c65cf20b..0c64e0c3 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -297,6 +297,7 @@ $(OUT)/DIFFSPC.$(FASLEXT): $(OUT)/DIFFDOM.$(FASLEXT) $(OUT)/DIFFMOD.$(FASLEXT): $(OUT)/DIFFSPC.$(FASLEXT) $(OUT)/PDDOM.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) $(OUT)/PDSPC.$(FASLEXT): $(OUT)/PDDOM.$(FASLEXT) +$(OUT)/DSEXT.$(FASLEXT): $(OUT)/DIFFSPC.$(FASLEXT) $(OUT)/PDSPC.$(FASLEXT) axiom_algebra_layer_0 = \ AHYP ATTREG CFCAT ELTAB KOERCE KONVERT \ @@ -323,7 +324,8 @@ axiom_algebra_layer_0 = \ DIOPS DIOPS- STRING STRICAT ISTRING ILIST \ LIST DIFFDOM DIFFDOM- DIFFSPC DIFFSPC- DIFFMOD \ LINEXP PATMAB REAL CHARZ LOGIC LOGIC- \ - RTVALUE SYSPTR PDDOM PDDOM- PDSPC PDSPC- + RTVALUE SYSPTR PDDOM PDDOM- PDSPC PDSPC- \ + DSEXT DSEXT- axiom_algebra_layer_0_nrlibs = \ $(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_0)) diff --git a/src/algebra/catdef.spad.pamphlet b/src/algebra/catdef.spad.pamphlet index a09a99ea..bad221b9 100644 --- a/src/algebra/catdef.spad.pamphlet +++ b/src/algebra/catdef.spad.pamphlet @@ -376,6 +376,7 @@ DifferentialDomain(T: Type): Category == Type with @ +\section{Differential Space} <>= )abbrev category DIFFSPC DifferentialSpace @@ -400,6 +401,54 @@ DifferentialSpace(): Category == DifferentialDomain % with @ + +\section{Differential Space Extension} + +<>= +)abbrev category DSEXT DifferentialSpaceExtension +++ Author: Gabriel Dos Reis +++ Date Created: June 16, 2010 +++ Date Last Updated: Jun 16, 2010 +++ Related Constructors: Module, DifferentialSpace +++ Also See: +++ Description: +++ Extension of a base differential space with a derivation. +++ +DifferentialSpaceExtension(R: Type): Category == Type with + differentiate: (%,R -> R) -> % + ++ \spad{differentiate(x,d)} computes the derivative of + ++ \spad{x}, extending differentiation \spad{d} on \spad{R}. + differentiate: (%,R -> R,NonNegativeInteger) -> % + ++ \spad{differentiate(x,d,n)} computes the \spad{n}-th derivative + ++ of \spad{x} using a derivation extending \spad{d} on \spad{R}. + D: (%,R -> R) -> % + ++ \spad{D(x,d)} is a shorthand for \spad{differentiate(x,d)}. + D: (%,R -> R,NonNegativeInteger) -> % + ++ \spad{D(x,d,n)} is a shorthand for \spad{differentiate(x,d,n)}. + if R has DifferentialSpace then DifferentialSpace + if R has PartialDifferentialSpace Symbol then + PartialDifferentialSpace Symbol + add + differentiate(x: %, d: R -> R, n: NonNegativeInteger):% == + for i in 1..n repeat x := differentiate(x,d) + x + + D(x: %, d: R -> R) == + differentiate(x, d) + + D(x: %, d: R -> R, n: NonNegativeInteger) == + differentiate(x,d,n) + + if R has DifferentialSpace then + differentiate x == differentiate(x, differentiate$R) + + if R has PartialDifferentialSpace Symbol then + differentiate(x:%, v: Symbol):% == + differentiate(x, differentiate(#1, v)$R) + +@ + + \section{category DIFRING DifferentialRing} <>= )abbrev category DIFRING DifferentialRing @@ -424,6 +473,7 @@ DifferentialRing(): Category == Join(Ring,DifferentialSpace) @ + \section{Differential Module} <>= @@ -499,6 +549,25 @@ DifferentialExtension(R:Ring): Category == Ring with differentiate(x, differentiate(#1, v)$R) @ + +\section{Differential Module Extension} + +<>= +)abbrev category DMEXT DifferentialModuleExtension +++ Author: Gabriel Dos Reis +++ Date Created: June 16, 2010 +++ Date Last Updated: Jun 16, 2010 +++ Related Constructors: Module, DifferentialSpaceExtension +++ Also See: +++ DifferentialExtension +++ Description: +++ Category of modules that extend differential rings. +++ +DifferentialModuleExtension(R: CommutativeRing): Category == + Join(Module(R),DifferentialSpaceExtension R) +@ + + \section{category DIVRING DivisionRing} <>= )abbrev category DIVRING DivisionRing @@ -1981,12 +2050,15 @@ VectorSpace(S:Field): Category == Module(S) with <> <> <> +<> <> <> +<> <> <> <> <> +<> @ \eject diff --git a/src/algebra/exposed.lsp.pamphlet b/src/algebra/exposed.lsp.pamphlet index 6a09e207..ea6b06ce 100644 --- a/src/algebra/exposed.lsp.pamphlet +++ b/src/algebra/exposed.lsp.pamphlet @@ -630,9 +630,11 @@ (|DifferentialDomain| . DIFFDOM) (|DifferentialExtension| . DIFEXT) (|DifferentialModule| . DIFFMOD) + (|DifferentialModuleExtension| . DSEXT) (|DifferentialPolynomialCategory| . DPOLCAT) (|DifferentialRing| . DIFRING) (|DifferentialSpace| . DIFFSPC) + (|DifferentialSpaceExtension| . DSEXT) (|DifferentialVariableCategory| . DVARCAT) (|DirectProductCategory| . DIRPCAT) (|DivisionRing| . DIVRING) -- cgit v1.2.3