diff options
Diffstat (limited to 'src/algebra')
-rw-r--r-- | src/algebra/Makefile.in | 6 | ||||
-rw-r--r-- | src/algebra/Makefile.pamphlet | 6 | ||||
-rw-r--r-- | src/algebra/catdef.spad.pamphlet | 57 | ||||
-rw-r--r-- | src/algebra/exposed.lsp.pamphlet | 2 |
4 files changed, 65 insertions, 6 deletions
diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in index 8d53e502..3a7c745b 100644 --- a/src/algebra/Makefile.in +++ b/src/algebra/Makefile.in @@ -339,6 +339,8 @@ $(OUT)/OUT.$(FASLEXT): $(OUT)/VOID.$(FASLEXT) $(OUT)/DIFFDOM.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) $(OUT)/DIFFSPC.$(FASLEXT): $(OUT)/DIFFDOM.$(FASLEXT) +$(OUT)/DIFFMOD.$(FASLEXT): $(OUT)/DIFFSPC.$(FASLEXT) +$(OUT)/PDDOM.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) axiom_algebra_layer_0 = \ AHYP ATTREG CFCAT ELTAB KOERCE KONVERT \ @@ -363,9 +365,9 @@ axiom_algebra_layer_0 = \ RCAGG RCAGG- SETAGG SETAGG- HOAGG HOAGG- \ TBAGG TBAGG- KDAGG KDAGG- DIAGG DIAGG- \ DIOPS DIOPS- STRING STRICAT ISTRING ILIST \ - LIST DIFFDOM DIFFDOM- DIFFSPC DIFFSPC- \ + LIST DIFFDOM DIFFDOM- DIFFSPC DIFFSPC- DIFFMOD \ LINEXP PATMAB REAL CHARZ LOGIC LOGIC- \ - RTVALUE SYSPTR + RTVALUE SYSPTR PDDOM PDDOM- 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 c5618b5a..8a88d732 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -293,6 +293,8 @@ $(OUT)/OUT.$(FASLEXT): $(OUT)/VOID.$(FASLEXT) $(OUT)/DIFFDOM.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) $(OUT)/DIFFSPC.$(FASLEXT): $(OUT)/DIFFDOM.$(FASLEXT) +$(OUT)/DIFFMOD.$(FASLEXT): $(OUT)/DIFFSPC.$(FASLEXT) +$(OUT)/PDDOM.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) axiom_algebra_layer_0 = \ AHYP ATTREG CFCAT ELTAB KOERCE KONVERT \ @@ -317,9 +319,9 @@ axiom_algebra_layer_0 = \ RCAGG RCAGG- SETAGG SETAGG- HOAGG HOAGG- \ TBAGG TBAGG- KDAGG KDAGG- DIAGG DIAGG- \ DIOPS DIOPS- STRING STRICAT ISTRING ILIST \ - LIST DIFFDOM DIFFDOM- DIFFSPC DIFFSPC- \ + LIST DIFFDOM DIFFDOM- DIFFSPC DIFFSPC- DIFFMOD \ LINEXP PATMAB REAL CHARZ LOGIC LOGIC- \ - RTVALUE SYSPTR + RTVALUE SYSPTR PDDOM PDDOM- 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 ddd378dc..32f1f3c7 100644 --- a/src/algebra/catdef.spad.pamphlet +++ b/src/algebra/catdef.spad.pamphlet @@ -406,8 +406,6 @@ DifferentialSpace(): Category == DifferentialDomain % with @ - - \section{category DIFRING DifferentialRing} <<category DIFRING DifferentialRing>>= )abbrev category DIFRING DifferentialRing @@ -432,6 +430,32 @@ DifferentialRing(): Category == Join(Ring,DifferentialSpace) @ +\section{Differential Module} + +<<category DIFFMOD DifferentialModule>>= +)abbrev category DIFFMOD DifferentialModule +++ Author: Gabriel Dos Reis +++ Date Created: June 14, 2010 +++ Date Last Updated: Jun 16, 2010 +++ Related Constructors: Module, DifferentialSpace +++ Also See: +++ Description: +++ An R-module equipped with a distinguised differential operator. +++ If R is a differential ring, then differentiation on the module +++ should extend differentiation on the differential ring R. The +++ latter can be the null operator. In that case, the differentiation +++ operator on the module is just an R-linear operator. For that +++ reason, we do not require that the ring R be a DifferentialRing; +++ +++ Axioms: +++ \spad{differentiate(x + y) = differentiate(x) + differentiate(x)} +++ \spad{differentiate(r*y) = r*differentiate(y) + differentiate(r)*y} + +DifferentialModule(R: CommutativeRing): Category == + Join(Module R, DifferentialSpace) +@ + + \section{category DIFEXT DifferentialExtension} <<category DIFEXT DifferentialExtension>>= )abbrev category DIFEXT DifferentialExtension @@ -1399,6 +1423,33 @@ OrderedSet(): Category == SetCategory with ((x: %) <= (y: %)) : Boolean == not (y < x) @ + +\section{Partial Differential Domain} + +<<category PDDOM PartialDifferentialDomain>>= +)abbrev category PDDOM PartialDifferentialDomain +++ Author: Gabriel Dos Reis +++ Date Created: June 16, 2010 +++ Date Last Modified: June 16, 2010 +++ Description: +++ This category captures the interface of domains with a distinguished +++ operation named \spad{differentiate} for partial differentiation with +++ respect to some domain of variables. +++ See Also: +++ DifferentialDomain +PartialDifferentialDomain(T: Type, S: Type): Category == Type with + differentiate: (%,S) -> T + ++ \spad{differentiate(x,v)} computes the partial derivative + ++ of \spad{x} with respect to \spad{v}. + D: (%,S) -> T + ++ \spad{D(x,v)} is a shorthand for \spad{differentiate(x,v)} + add + D(x,v) == + differentiate(x,v) + +@ + + \section{category PDRING PartialDifferentialRing} <<category PDRING PartialDifferentialRing>>= )abbrev category PDRING PartialDifferentialRing @@ -1919,6 +1970,8 @@ VectorSpace(S:Field): Category == Module(S) with <<category OAMONS OrderedAbelianMonoidSup>> <<category DIFFDOM DifferentialDomain>> <<category DIFRING DifferentialRing>> +<<category DIFFMOD DifferentialModule>> +<<category PDDOM PartialDifferentialDomain>> <<category PDRING PartialDifferentialRing>> <<category DIFEXT DifferentialExtension>> @ diff --git a/src/algebra/exposed.lsp.pamphlet b/src/algebra/exposed.lsp.pamphlet index f0ec1803..6a09e207 100644 --- a/src/algebra/exposed.lsp.pamphlet +++ b/src/algebra/exposed.lsp.pamphlet @@ -629,6 +629,7 @@ (|DictionaryOperations| . DIOPS) (|DifferentialDomain| . DIFFDOM) (|DifferentialExtension| . DIFEXT) + (|DifferentialModule| . DIFFMOD) (|DifferentialPolynomialCategory| . DPOLCAT) (|DifferentialRing| . DIFRING) (|DifferentialSpace| . DIFFSPC) @@ -732,6 +733,7 @@ (|OrderedSet| . ORDSET) (|OutputByteConduit| . OUTBCON) (|PAdicIntegerCategory| . PADICCT) + (|PartialDifferentialDomain| . PDDOM) (|PartialDifferentialRing| . PDRING) (|PartialTranscendentalFunctions| . PTRANFN) (|Patternable| . PATAB) |