diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet index 3ef9743..1e25963 100644 --- a/books/bookvol10.4.pamphlet +++ b/books/bookvol10.4.pamphlet @@ -41819,7 +41819,8 @@ IdealDecompositionPackage(vl,nv) : C == T -- take away nv, now doesn't n:= # lvar #fullVars < n => error "wrong vars" n=0 => I - newVars:= append([vv for vv in fullVars| ^member?(vv,lvar)]$List(OV),lvar) + newVars:= + append([vv for vv in fullVars| ^member?(vv,lvar)]$List(OV),lvar) subsVars := [monomial(1,vv,1)$DPoly1 for vv in newVars] lJ:= [eval(g,fullVars,subsVars) for g in Id] J := groebner(lJ) @@ -44668,6 +44669,119 @@ InputFormFunctions1(R:Type):with @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{package INTERGB InterfaceGroebnerPackage} +<>= +)set break resume +)sys rm -f InterfaceGroebnerPackage.output +)spool InterfaceGroebnerPackage.output +)set message test on +)set message auto off +)clear all +--S 1 of 1 +)show InterfaceGroebnerPackage +--R InterfaceGroebnerPackage(K: Field,symb: List Symbol,E: OrderedAbelianMonoidSup,OV: OrderedSet,R: PolynomialCategory(K,E,OV)) is a package constructor +--R Abbreviation for InterfaceGroebnerPackage is INTERGB +--R This constructor is exposed in this frame. +--R Issue )edit bookvol10.4.pamphlet to see algebra source code for INTERGB +--R +--R------------------------------- Operations -------------------------------- +--R groebner : List R -> List R +--R +--E 1 + +)spool +)lisp (bye) +@ +<>= +==================================================================== +InterfaceGroebnerPackage examples +==================================================================== + +See Also: +o )show InterfaceGroebnerPackage + +@ +\pagehead{InterfaceGroebnerPackage}{INTERGB} +\pagepic{ps/v104interfacegroebnerpackage.ps}{INTERGB}{1.00} + +{\bf Exports:}\\ +\cross{INTERGB}{groebner} + +<>= +)abbrev package INTERGB InterfaceGroebnerPackage +++ Author: Gaetan Hache +++ Date Created: September 1996 +++ Date Last Updated: April, 2010, by Tim Daly +++ Description: +++ Part of the Package for Algebraic Function Fields in one variable PAFF +InterfaceGroebnerPackage(K,symb,E,OV,R):Exports == Implementation where + K:Field + symb: List Symbol + E:OrderedAbelianMonoidSup + OV: OrderedSet + R : PolynomialCategory(K,E,OV) + + Exports ==> with + groebner: List R -> List R + + Implementation ==> add + if ^(K has FiniteFieldCategory) then + + GBPackR ==> GroebnerPackage(K,E,OV,R) + groebner(l)==groebner(l)$GBPackR + + else + + q:PositiveInteger:=(characteristic()$K pretend PositiveInteger) + + PF ==> PrimeField(q) + DPF ==> DistributedMultivariatePolynomial(symb,PF) + D ==> DistributedMultivariatePolynomial(symb,K) + JCFGBPack ==> GroebnerPackage(PF,E,OV,DPF) + GBPack ==> GroebnerPackage(K,E,OV,D) + + coerceKtoPF: K -> PF + coerceKtoPF(a:K):PF== + index(lookup(a)$K)$PF + + coercePFtoK: PF -> K + coercePFtoK(a:PF):K== + index(lookup(a)$PF)$K + + coerceRtoDwithPF: R -> DPF + coerceRtoDwithPF(pol) == + map(coerceKtoPF(#1),pol)$MPolyCatFunctions2(OV,E,E,K,PF,R,DPF) + + coerceDtoRwithPF: DPF->R + coerceDtoRwithPF(pol) == + map(coercePFtoK(#1),pol)$MPolyCatFunctions2(OV,E,E,PF,K,DPF,R) + + coerceRtoD: R -> D + coerceRtoD(pol) == map(#1,pol)$MPolyCatFunctions2(OV,E,E,K,K,R,D) + + coerceDtoR: D->R + coerceDtoR(pol) == map(#1,pol)$MPolyCatFunctions2(OV,E,E,K,K,D,R) + + gs:= size()$K + if gs = q and (representationType()$K case "prime") then + groebner(l)== + ldmp:List DPF:= [coerceRtoDwithPF(pol) for pol in l] + gg:=groebner(ldmp)$JCFGBPack + [coerceDtoRwithPF(pol) for pol in gg] + else + groebner(l)== + ldmp:List D:= [coerceRtoD(pol) for pol in l] + gg:=groebner(ldmp)$GBPack + [coerceDtoR(pol) for pol in gg] + +@ +<>= +"INTERGB" [color="#FF4488",href="bookvol10.4.pdf#nameddest=INTERGB"] +"PFECAT" [color="#4488FF",href="bookvol10.2.pdf#nameddest=PFECAT"] +"INTERGB" -> "PFECAT" + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{package INTBIT IntegerBits} Bug! Cannot precompute params and return a function which simply computes the last call. e.g. ridHack1, below. @@ -154370,6 +154484,7 @@ ZeroDimensionalSolvePackage(R,ls,ls2): Exports == Implementation where <> <> <> +<> <> <> <> diff --git a/books/bookvol10.5.pamphlet b/books/bookvol10.5.pamphlet index fb0225b..ff596f9 100644 --- a/books/bookvol10.5.pamphlet +++ b/books/bookvol10.5.pamphlet @@ -548,7 +548,7 @@ BlasLevelOne() : Exports == Implementation where @ <>= -"BLAS1" [color="#FF4488",href="bookvol10.5.pdf#nameddest=BLAS1"] +"BLAS1" [color="#FF8844",href="bookvol10.5.pdf#nameddest=BLAS1"] "FIELD" [color="#4488FF",href="bookvol10.2.pdf#nameddest=FIELD"] "RADCAT" [color="#4488FF",href="bookvol10.2.pdf#nameddest=RADCAT"] "BLAS1" -> "FIELD" diff --git a/changelog b/changelog index 0193e36..2c820db 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,7 @@ +20100422 tpd src/axiom-website/patches.html 20100422.01.tpd.patch +20100422 tpd src/algebra/Makefile add InterfaceGroebnerPackage +20100422 tpd books/bookvol10.5 add InterfaceGroebnerPackage +20100422 tpd books/bookvol10.4 add InterfaceGroebnerPackage 20100421 tpd src/axiom-website/patches.html 20100421.01.tpd.patch 20100421 tpd src/algebra/Makefile add FFFACTSE 20100421 tpd books/bookvol5.pamphlet add FFFACTSE diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index fea2dab..fb8be9b 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -5159,7 +5159,8 @@ LAYER11=\ ${OUT}/HDP.o ${OUT}/HEXADEC.o ${OUT}/HEUGCD.o ${OUT}/IBPTOOLS.o \ ${OUT}/IFF.o ${OUT}/IBITS.o ${OUT}/ICARD.o ${OUT}/ICDEN.o \ ${OUT}/IDECOMP.o ${OUT}/IIARRAY2.o ${OUT}/IMATLIN.o ${OUT}/IMATQF.o \ - ${OUT}/INMODGCD.o ${OUT}/INNMFACT.o ${OUT}/INPSIGN.o ${OUT}/INTHERTR.o \ + ${OUT}/INMODGCD.o ${OUT}/INNMFACT.o ${OUT}/INPSIGN.o ${OUT}/INTERGB.o \ + ${OUT}/INTHERTR.o \ ${OUT}/INTRAT.o ${OUT}/INTRF.o ${OUT}/INTSLPE.o ${OUT}/INTTR.o \ ${OUT}/ISUMP.o ${OUT}/LAUPOL.o ${OUT}/LEADCDET.o ${OUT}/LGROBP.o \ ${OUT}/LIMITRF.o ${OUT}/LINDEP.o ${OUT}/LO.o ${OUT}/LPEFRAC.o \ @@ -6806,6 +6807,19 @@ LAYER11=\ /*"INPSIGN" -> {"UFD"; "ELTAB"; "DIFRING"; "DIFEXT"; "STEP"; "EUCDOM"}*/ /*"INPSIGN" -> {"PID"; "FIELD"; "DIVRING"; "INT"; "INS-"}*/ +"INTERGB" [color="#FF4488",href="bookvol10.4.pdf#nameddest=INTERGB"] +/*"INTERGB" -> { +/*"INTERGB" -> {"FIELD"; "EUCDOM"; "PID"; "GCDDOM"; "INTDOM"; "COMRING"}*/ +/*"INTERGB" -> {"RING"; "RNG"; "ABELGRP"; "CABMON"; "ABELMON"; "ABELSG"}*/ +/*"INTERGB" -> {"SETCAT"; "BASTYPE"; "KOERCE"; "SGROUP"; "MONOID"}*/ +/*"INTERGB" -> {"LMODULE"; "BMODULE"; "RMODULE"; "ALGEBRA"; "MODULE"}*/ +/*"INTERGB" -> {"ENTIRER"; "UFD"; "DIVRING"; "OAMONS"; "OCAMON"; "OAMON"}*/ +/*"INTERGB" -> {"OASGP"; "ORDSET"; "POLYCAT"; "PDRING"; "FAMR"; "AMR"}*/ +/*"INTERGB" -> {"CHARZ"; "CHARNZ"; "FRETRCT"; "RETRACT"; "EVALAB"}*/ +/*"INTERGB" -> {"IEVALAB"; "FLINEXP"; "LINEXP"; "KONVERT"; "PATMAB"}*/ +"INTERGB" -> "PFECAT" +/*"INTERGB" -> {"FFIELDC"; "FPC"; "FINITE"; "STEP"; "DIFRING"; "NNI"; "INT"}*/ + "INT" [color="#88FF44",href="bookvol10.3.pdf#nameddest=INT", shape=ellipse] /*"INT" -> {"INS"; "UFD"; "GCDDOM"; "INTDOM"; "COMRING"; "RING"; "RNG"}*/ @@ -16566,6 +16580,7 @@ SPADHELP=\ ${HELP}/IntegerCombinatoricFunctions.help \ ${HELP}/IntegerLinearDependence.help \ ${HELP}/IntegerNumberTheoryFunctions.help \ + ${HELP}/InterfaceGroebnerPackage.help \ ${HELP}/Kernel.help \ ${HELP}/KeyedAccessFile.help \ ${HELP}/LazardSetSolvingPackage.help \ @@ -16724,6 +16739,7 @@ REGRESS= \ IntegerCombinatoricFunctions.regress \ IntegerLinearDependence.regress \ IntegerNumberTheoryFunctions.regress \ + InterfaceGroebnerPackage.regress \ Kernel.regress \ KeyedAccessFile.regress \ LazardSetSolvingPackage.regress \ @@ -17367,6 +17383,18 @@ ${HELP}/IntegerNumberTheoryFunctions.help: ${BOOKS}/bookvol10.4.pamphlet >${INPUT}/IntegerNumberTheoryFunctions.input @echo "IntegerNumberTheoryFunctions (INTHEORY)" >>${HELPFILE} +${HELP}/InterfaceGroebnerPackage.help: ${BOOKS}/bookvol10.4.pamphlet + @echo 7455 create InterfaceGroebnerPackage.help from \ + ${BOOKS}/bookvol10.4.pamphlet + @${TANGLE} -R"InterfaceGroebnerPackage.help" \ + ${BOOKS}/bookvol10.4.pamphlet \ + >${HELP}/InterfaceGroebnerPackage.help + @cp ${HELP}/InterfaceGroebnerPackage.help ${HELP}/INTERGB.help + @${TANGLE} -R"InterfaceGroebnerPackage.input" \ + ${BOOKS}/bookvol10.4.pamphlet \ + >${INPUT}/InterfaceGroebnerPackage.input + @echo "InterfaceGroebnerPackage (INTERGB)" >>${HELPFILE} + ${HELP}/Kernel.help: ${BOOKS}/bookvol10.3.pamphlet @echo 7460 create Kernel.help from ${BOOKS}/bookvol10.3.pamphlet @${TANGLE} -R"Kernel.help" ${BOOKS}/bookvol10.3.pamphlet \ diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index c6d2ba7..f74787a 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -2651,5 +2651,7 @@ books/bookvol4 document how to make graphs in algebra books
zips/gcl-2.6.8pre4.tgz added, fix for ubuntu 9.10
20100421.01.tpd.patch books/bookvol10.4 add FiniteFieldFactorizationWithSizeParseBySideEffect
+20100422.01.tpd.patch +books/bookvol10.4 add InterfaceGroebnerPackage