aboutsummaryrefslogtreecommitdiff
path: root/src/algebra
diff options
context:
space:
mode:
Diffstat (limited to 'src/algebra')
-rw-r--r--src/algebra/Makefile.in6
-rw-r--r--src/algebra/Makefile.pamphlet6
-rw-r--r--src/algebra/catdef.spad.pamphlet57
-rw-r--r--src/algebra/exposed.lsp.pamphlet2
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)