diff options
Diffstat (limited to 'src/algebra')
-rw-r--r-- | src/algebra/Makefile.in | 42 | ||||
-rw-r--r-- | src/algebra/catdef.spad.pamphlet | 12 |
2 files changed, 20 insertions, 34 deletions
diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in index 721df237..554fbf18 100644 --- a/src/algebra/Makefile.in +++ b/src/algebra/Makefile.in @@ -689,28 +689,11 @@ TESTS=${INPUT}/INTHEORY.input ${INPUT}/VIEW2D.input ${INPUT}/TESTFR.input subdir = src/algebra/ +$(OUT)/SINT.$(FASLEXT): $(OUT)/INT.$(FASLEXT) +$(OUT)/NNI.$(FASLEXT): $(OUT)/INT.$(FASLEXT) +$(OUT)/PI.$(FASLEXT): $(OUT)/NNI.$(FASLEXT) -axiom_algebra_bootstrap_last_layer = \ - DFLOAT \ - DIVRING DIVRING- \ - EUCDOM EUCDOM- FFIELDC \ - FFIELDC- FPS FPS- \ - INS INS- INT \ - MTSCAT NNI \ - OUTFORM PI \ - POLYCAT POLYCAT- \ - QFCAT QFCAT- \ - RNS RNS- \ - SINT \ - SYMBOL \ - VECTOR - - -axiom_algebra_bootstrap_last_layer_objects = \ - $(addprefix $(OUT)/, \ - $(addsuffix .$(FASLEXT), $(axiom_algebra_bootstrap_last_layer))) - - +$(OUT)/TYPE.$(FASLEXT): $(OUT)/SINT.$(FASLEXT) $(OUT)/IEVALAB.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) $(OUT)/EVALAB.$(FASLEXT): $(OUT)/IEVALAB.$(FASLEXT) $(OUT)/ELTAB.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) @@ -791,8 +774,8 @@ $(OUT)/REAL.$(FASLEXT): $(OUT)/KONVERT.$(FASLEXT) $(OUT)/LOGIC.$(FASLEXT): $(OUT)/TYPE.$(FASLEXT) $(OUT)/BOOLE.$(FASLEXT): $(OUT)/LOGIC.$(FASLEXT) - -$(OUT)/SGROUP.$(FASLEXT) $(OUT)/SGROUP-.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) +$(OUT)/SGROUP.$(FASLEXT) $(OUT)/SGROUP-.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) \ + $(OUT)/PI.$(FASLEXT) $(OUT)/ABELSG.$(FASLEXT) $(OUT)/ABELSG-.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) $(OUT)/LMODULE.$(FASLEXT): $(OUT)/SETCAT.$(FASLEXT) \ $(OUT)/LLINSET.$(FASLEXT) $(OUT)/SGROUP.$(FASLEXT) @@ -858,7 +841,11 @@ axiom_algebra_layer_0 = \ LINEXP PATMAB REAL CHARZ LOGIC LOGIC- \ RTVALUE SYSPTR PDDOM PDDOM- PDSPC PDSPC- \ DSEXT DSEXT- ORDTYPE ORDTYPE- ORDSTRCT \ - BOOLE BOOLE- REF ALIST PRIMARR SRING + BOOLE BOOLE- REF ALIST PRIMARR SRING \ + INS INS- DIVRING DIVRING- EUCDOM EUCDOM- \ + FPS FPS- RNS RNS- \ + POLYCAT POLYCAT- QFCAT QFCAT- \ + INT NNI PI SINT SYMBOL DFLOAT axiom_algebra_layer_0_nrlibs = \ $(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_0)) @@ -1156,7 +1143,7 @@ axiom_algebra_layer_11 = \ TS TUPLE UPSCAT UPSCAT- \ XDPOLY XEXPPKG \ XF XF- XPOLY \ - XRPOLY + XRPOLY FFIELDC FFIELDC- MTSCAT axiom_algebra_layer_11_nrlibs = \ $(addsuffix .NRLIB/code.$(FASLEXT),$(axiom_algebra_layer_11)) @@ -1190,7 +1177,7 @@ axiom_algebra_layer_13 = \ ODESYS ODETOOLS ORDFUNS PERMAN \ PFECAT PFECAT- POINT PSEUDLIN \ PTPACK REP2 SETMN \ - SYMFUNC VECTOR2 CHAR \ + SYMFUNC VECTOR2 VECTOR CHAR \ INBCON INBCON- OUTBCON OUTBCON- axiom_algebra_layer_13_nrlibs = \ @@ -1683,7 +1670,6 @@ $(axiom_algebra_layer_20_objects): 19-stamp $(axiom_algebra_layer_21_objects): 20-stamp $(axiom_algebra_layer_22_objects): 21-stamp $(axiom_algebra_layer_23_objects): 22-stamp -$(axiom_algebra_bootstrap_last_layer_objects): 23-stamp $(axiom_algebra_layer_user_objects): bootstrap-stamp .PHONY: all-algstrap @@ -1864,7 +1850,7 @@ strap-stamp: strap-2/.finished @ echo === layer 23 of 23 complete ====== @ echo ================================== -bootstrap-stamp: 23-stamp $(axiom_algebra_bootstrap_last_layer_objects) +bootstrap-stamp: 23-stamp @ rm -f bootstrap-stamp @ $(STAMP) bootstrap-stamp @ echo ================================== diff --git a/src/algebra/catdef.spad.pamphlet b/src/algebra/catdef.spad.pamphlet index fe745809..2ca2216b 100644 --- a/src/algebra/catdef.spad.pamphlet +++ b/src/algebra/catdef.spad.pamphlet @@ -822,10 +822,10 @@ EuclideanDomain(): Category == PrincipalIdealDomain with u:= extendedEuclidean(first l,v.generator) [[u.coef1,:[u.coef2*vv for vv in v.coef]],u.generator] expressIdealMember(l,z) == - z = 0 => [0 for v in l] + z = 0 => just [0 for v in l] pid := principalIdeal l - (q := z exquo (pid.generator)) case "failed" => "failed" - [q*v for v in pid.coef] + (q := z exquo (pid.generator)) case "failed" => nothing + just [q*v for v in pid.coef] multiEuclidean(l,z) == n := #l zero? n => error "empty list passed to multiEuclidean" @@ -1765,9 +1765,9 @@ PrincipalIdealDomain(): Category == GcdDomain with ++ generator component is a generator of the ideal ++ generated by \spad{[f1,...,fn]} whose coef component satisfies ++ \spad{generator = sum (input.i * coef.i)} - expressIdealMember: (List %,%) -> Union(List %,"failed") - ++ expressIdealMember([f1,...,fn],h) returns a representation - ++ of h as a linear combination of the fi or "failed" if h + expressIdealMember: (List %,%) -> Maybe List % + ++ \spad{expressIdealMember([f1,...,fn],h)} returns a representation + ++ of h as a linear combination of the fi or \spad{nothing} if h ++ is not in the ideal generated by the fi. @ |