diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet index aad79bd..6224668 100644 --- a/books/bookvol10.3.pamphlet +++ b/books/bookvol10.3.pamphlet @@ -655,7 +655,7 @@ AffineSpace(dim,K):Exports == Implementation where coerce(pt:LIST(K))== ^(dim=#pt) => error "Le point n'a pas la bonne dimension" ptt:%:= pt - ptt + ptt @ <>= @@ -22410,7 +22410,7 @@ o )show Divisor ++ The following is part of the PAFF package Divisor(S:SetCategoryWithDegree):Exports == Implementation where - PT ==> Record(gen:S,exp: Integer) + PT ==> Record(gen:S,exp: Integer) INT ==> Integer BOOLEAN ==> Boolean LIST ==> List @@ -47218,7 +47218,7 @@ InfiniteTuple(S:Type): Exports == Implementation where @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\section{domain INFCLSPT InfinitlyClosePoint} +\section{domain INFCLSPT InfinitlyClosePoint} <>= )set break resume )sys rm -f InfinitlyClosePoint.output @@ -47314,28 +47314,26 @@ o )show InfinitlyClosePoint ++ Date Last Updated: May 2010 by Tim Daly ++ Description: ++ This domain is part of the PAFF package -InfinitlyClosePoint(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET):_ - Exports == Implementation where +InfinitlyClosePoint(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET):Exports == Implementation where K:Field symb: List Symbol E:DirectProductCategory(#symb,NonNegativeInteger) OV ==> OrderedVariableList(symb) PolyRing: PolynomialCategory(K,E,OV) - OV2 ==> OrderedVariableList(['X,'Y]) - - PCS: LocalPowerSeriesCategory(K) - ProjPt:ProjectiveSpaceCategory(K) - Plc: PlacesCategory(K,PCS) - DIVISOR: DivisorCategory(Plc) - BLMET : BlowUpMethodCategory - bls ==> ['X,'Y] BlUpRing ==> DistributedMultivariatePolynomial(bls , K) E2 ==> DirectProduct( #bls , NonNegativeInteger ) outRec ==> Record(name:Symbol,mult:NonNegativeInteger) AFP ==> AffinePlane(K) + OV2 ==> OrderedVariableList( bls ) + PCS: LocalPowerSeriesCategory(K) + ProjPt:ProjectiveSpaceCategory(K) + Plc: PlacesCategory(K,PCS) + DIVISOR: DivisorCategory(Plc) + BLMET : BlowUpMethodCategory + bigoutRecBLQT ==> Record(dominate:ProjPt,_ name:Symbol,_ mult:NonNegativeInteger,_ @@ -47353,20 +47351,21 @@ InfinitlyClosePoint(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET):_ subMultip: NonNegativeInteger,_ expD:DIVISOR) - representation ==> Record(point:ProjPt, - curve:BlUpRing, - localPoint:AFP, - mult:NonNegativeInteger, - chrt:BLMET, - subMultiplicity:NonNegativeInteger, - excpDiv:DIVISOR, - localParam:List(PCS), - actualExtension:K, - symbName:Symbol) + representation ==> Record(point:ProjPt,_ + curve:BlUpRing,_ + localPoint:AFP,_ + mult:NonNegativeInteger,_ + chrt:BLMET,_ + subMultiplicity:NonNegativeInteger,_ + excpDiv:DIVISOR,_ + localParam:List(PCS),_ + actualExtension:K,_ + symbName:Symbol) + + + Exports == InfinitlyClosePointCategory(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET) with - Exports == InfinitlyClosePointCategory(K,symb,PolyRing,E,ProjPt,PCS,_ - Plc,DIVISOR,BLMET) with fullOut: % -> OutputForm ++ fullOut(tr) yields a full output of tr (see function fullOutput). @@ -47387,7 +47386,7 @@ InfinitlyClosePoint(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET):_ d:= degree pol lc:= leadingCoefficient pol dd: List NonNegativeInteger := entries d - ddr:= vector([dd.i for i in 1..#dd | ^(i=nV)])$Vector(NonNegativeInteger) + ddr:=vector([dd.i for i in 1..#dd | ^(i=nV)])$Vector(NonNegativeInteger) ddre:E2 := directProduct( ddr )$E2 monomial(lc,ddre)$BlUpRing + polyRing2BiRing( reductum pol , nV ) @@ -47406,8 +47405,7 @@ InfinitlyClosePoint(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET):_ oo :: OutputForm BLMET has BlowUpWithHamburgerNoether => oo2:= [ pointV(a), symbNameV(a), multV(a), curveV(a), _ - localPointV(a), chartV(a), subMultV(a), excpDivV(a) ]$bigoutRecHN - + localPointV(a), chartV(a), subMultV(a), excpDivV(a) ]$bigoutRecHN oo2 :: OutputForm fullOutputFlag:Boolean:=false() @@ -47422,29 +47420,25 @@ InfinitlyClosePoint(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET):_ oo :: OutputForm degree(a)== - K has PseudoAlgebraicClosureOfPerfectFieldCategory => _ - extDegree actualExtensionV a + K has PseudoAlgebraicClosureOfPerfectFieldCategory => extDegree actualExtensionV a 1 - create(pointA,curveA,localPointA,multA,chartA,subM,excpDivA,atcL,aName)== - ([pointA,curveA,localPointA,multA,chartA,subM,excpDivA,_ - empty()$List(PCS),atcL,aName]$Rep)::% + create(pointA,curveA,localPointA,multA,chartA,subM,excpDivA,atcL,aName)== -- CHH + ([pointA,curveA,localPointA,multA,chartA,subM,excpDivA,empty()$List(PCS),atcL,aName]$Rep)::% create(pointA,curveA)== nV := lastNonNul pointA localPointA := projPt2affPt(pointA,nV) multA:NonNegativeInteger:=0$NonNegativeInteger chartA:BLMET - if BLMET has QuadraticTransform then _ - chartA:=( [0,0, nV] :: List Integer ) :: BLMET + if BLMET has QuadraticTransform then chartA:=( [0,0, nV] :: List Integer ) :: BLMET -- CHH if BLMET has HamburgerNoether then chartA := createHN( 0,0,nV,0,0,true,"right") -- A changer le "right" excpDivA:DIVISOR:= 0$DIVISOR actL:K:=definingField pointA aName:Symbol:=new(P)$Symbol affCurvA : BlUpRing := polyRing2BiRing(curveA,nV) - create(pointA,affCurvA,localPointA,multA,chartA,_ - 0$NonNegativeInteger,excpDivA,actL,aName) + create(pointA,affCurvA,localPointA,multA,chartA,0$NonNegativeInteger,excpDivA,actL,aName) subMultV(a:%)== (a:Rep)(subMultiplicity) @@ -47460,7 +47454,7 @@ InfinitlyClosePoint(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET):_ multV(a:%) ==(a:Rep)(mult) - chartV(a:%) ==(a:Rep)(chrt) + chartV(a:%) ==(a:Rep)(chrt) -- CHH excpDivV(a:%) ==(a:Rep)(excpDiv) @@ -47474,15 +47468,16 @@ InfinitlyClosePoint(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET):_ setlocalPoint_!(a:%,n:AFP) ==(a:Rep)(localPoint):=n - setmult_!(a:%,n:NonNegativeInteger) ==(a:Rep)(mult):=n + setmult_!(a:%,n:NonNegativeInteger) ==(a:Rep)(mult):=n - setchart_!(a:%,n:BLMET) ==(a:Rep)(chrt):=n + setchart_!(a:%,n:BLMET) ==(a:Rep)(chrt):=n -- CHH setlocalParam_!(a:%,n:List(PCS)) ==(a:Rep)(localParam):=n setexcpDiv_!(a:%,n:DIVISOR) ==(a:Rep)(excpDiv):=n setsymbName_!(a:%,n:Symbol) ==(a:Rep)(symbName):=n + @ <>= "INFCLSPT" [color="#88FF44",href="bookvol10.3.pdf#nameddest=INFCLSPT"] @@ -47491,6 +47486,145 @@ InfinitlyClosePoint(K,symb,PolyRing,E,ProjPt,PCS,Plc,DIVISOR,BLMET):_ @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{domain INFCLSPS InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField} +<>= +)set break resume +)sys rm -f InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField.output +)spool InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField.output +)set message test on +)set message auto off +)clear all + +--S 1 of 1 +)show InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField +--R InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField(K: FiniteFieldCategory,symb: List Symbol,BLMET: BlowUpMethodCategory) is a domain constructor +--R Abbreviation for InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField is INFCLSPS +--R This constructor is exposed in this frame. +--R Issue )edit bookvol10.3.pamphlet to see algebra source code for INFCLSPS +--R +--R------------------------------- Operations -------------------------------- +--R ?=? : (%,%) -> Boolean chartV : % -> BLMET +--R coerce : % -> OutputForm degree : % -> PositiveInteger +--R fullOut : % -> OutputForm fullOutput : () -> Boolean +--R fullOutput : Boolean -> Boolean hash : % -> SingleInteger +--R latex : % -> String multV : % -> NonNegativeInteger +--R setchart! : (%,BLMET) -> BLMET symbNameV : % -> Symbol +--R ?~=? : (%,%) -> Boolean +--R actualExtensionV : % -> PseudoAlgebraicClosureOfFiniteField K +--R create : (ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K,DistributedMultivariatePolynomial(symb,PseudoAlgebraicClosureOfFiniteField K)) -> % +--R create : (ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K,DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],PseudoAlgebraicClosureOfFiniteField K),AffinePlane PseudoAlgebraicClosureOfFiniteField K,NonNegativeInteger,BLMET,NonNegativeInteger,Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K,PseudoAlgebraicClosureOfFiniteField K,Symbol) -> % +--R curveV : % -> DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],PseudoAlgebraicClosureOfFiniteField K) +--R excpDivV : % -> Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K +--R localParamV : % -> List NeitherSparseOrDensePowerSeries PseudoAlgebraicClosureOfFiniteField K +--R localPointV : % -> AffinePlane PseudoAlgebraicClosureOfFiniteField K +--R pointV : % -> ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K +--R setcurve! : (%,DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],PseudoAlgebraicClosureOfFiniteField K)) -> DistributedMultivariatePolynomial([construct,QUOTEX,QUOTEY],PseudoAlgebraicClosureOfFiniteField K) +--R setexcpDiv! : (%,Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K) -> Divisor PlacesOverPseudoAlgebraicClosureOfFiniteField K +--R setlocalParam! : (%,List NeitherSparseOrDensePowerSeries PseudoAlgebraicClosureOfFiniteField K) -> List NeitherSparseOrDensePowerSeries PseudoAlgebraicClosureOfFiniteField K +--R setlocalPoint! : (%,AffinePlane PseudoAlgebraicClosureOfFiniteField K) -> AffinePlane PseudoAlgebraicClosureOfFiniteField K +--R setmult! : (%,NonNegativeInteger) -> NonNegativeInteger +--R setpoint! : (%,ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K) -> ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField K +--R setsubmult! : (%,NonNegativeInteger) -> NonNegativeInteger +--R setsymbName! : (%,Symbol) -> Symbol +--R subMultV : % -> NonNegativeInteger +--R +--E 1 + +)spool +)lisp (bye) + +@ +<>= +==================================================================== +InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField examples +==================================================================== + +See Also: +o )show InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField + +@ +\pagehead{InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField}{INFCLSPS} +\pagepic{ps/v103infinitlyclosepointoverpseudoalgebraicclosureoffinitefield.eps}{INFCLSPS}{1.00} + +{\bf Exports:}\\ +\begin{tabular}{lll} +\cross{INFCLSPS}{?=?} & +\cross{INFCLSPS}{?\~{}=?} & +\cross{INFCLSPS}{actualExtensionV} \\ +\cross{INFCLSPS}{chartV} & +\cross{INFCLSPS}{coerce} & +\cross{INFCLSPS}{create} \\ +\cross{INFCLSPS}{curveV} & +\cross{INFCLSPS}{degree} & +\cross{INFCLSPS}{excpDivV} \\ +\cross{INFCLSPS}{fullOut} & +\cross{INFCLSPS}{fullOutput} & +\cross{INFCLSPS}{hash} \\ +\cross{INFCLSPS}{latex} & +\cross{INFCLSPS}{localParamV} & +\cross{INFCLSPS}{localPointV} \\ +\cross{INFCLSPS}{multV} & +\cross{INFCLSPS}{pointV} & +\cross{INFCLSPS}{setchart!} \\ +\cross{INFCLSPS}{setcurve!} & +\cross{INFCLSPS}{setexcpDiv!} & +\cross{INFCLSPS}{setlocalParam!} \\ +\cross{INFCLSPS}{setlocalPoint!} & +\cross{INFCLSPS}{setmult!} & +\cross{INFCLSPS}{setpoint!} \\ +\cross{INFCLSPS}{setsubmult!} & +\cross{INFCLSPS}{setsymbName!} & +\cross{INFCLSPS}{subMultV} \\ +\cross{INFCLSPS}{symbNameV} && +\end{tabular} + +<>= +)abbrev domain INFCLSPS InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField +++ Authors: Gaetan Hache +++ Date Created: june 1996 +++ Date Last Updated: May 2010 by Tim Daly +++ Description: +++ This domain is part of the PAFF package +InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField(K,symb,BLMET):_ + Exports == Implementation where + + K:FiniteFieldCategory + symb: List Symbol + BLMET : BlowUpMethodCategory + + E ==> DirectProduct(#symb,NonNegativeInteger) + KK ==> PseudoAlgebraicClosureOfFiniteField(K) + PolyRing ==> DistributedMultivariatePolynomial(symb,KK) + ProjPt ==> ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField(K) + PCS ==> NeitherSparseOrDensePowerSeries(KK) + Plc ==> PlacesOverPseudoAlgebraicClosureOfFiniteField(K) + DIVISOR ==> Divisor(Plc) + + Exports == InfinitlyClosePointCategory(KK,symb,PolyRing,E,ProjPt,_ + PCS,Plc,DIVISOR,BLMET) with + + fullOut: % -> OutputForm + ++ fullOut(tr) yields a full output of tr (see function fullOutput). + + fullOutput: Boolean -> Boolean + + ++ fullOutput(b) sets a flag such that when true, a coerce to OutputForm + ++ yields the full output of tr, otherwise encode(tr) is output + ++ (see encode function). The default is false. + + fullOutput: () -> Boolean + ++ fullOutput returns the value of the flag set by fullOutput(b). + + Implementation == InfinitlyClosePoint(KK,symb,PolyRing,E,ProjPt,_ + PCS,Plc,DIVISOR,BLMET) +@ +<>= +"INFCLSPS" [color="#88FF44",href="bookvol10.3.pdf#nameddest=INFCLSPS"] +"PROJPLPS" [color="#88FF44",href="bookvol10.3.pdf#nameddest=PROJPLPS"] +"INFCLSPS" -> "PROJPLPS" + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{domain IAN InnerAlgebraicNumber} \pagehead{InnerAlgebraicNumber}{IAN} \pagepic{ps/v103inneralgebraicnumber.ps}{IAN}{1.00} @@ -72879,6 +73013,7 @@ OutputForm(): SetCategory with %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \chapter{Chapter P} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{domain PADIC PAdicInteger} \pagehead{PAdicInteger}{PADIC} \pagepic{ps/v103padicinteger.ps}{PADIC}{1.00} @@ -79018,10 +79153,10 @@ Plcs(K:Field,PCS:LocalPowerSeriesCategory(K)):Exports == Implementation where rec ==> Record(theName:nameOfPlace,_ locPar: List PCS,_ - deg: PositiveInteger,_ - isALeaf:Boolean,_ - inName:Symbol,_ - actualSet:Symbol) + deg: PositiveInteger,_ + isALeaf:Boolean,_ + inName:Symbol,_ + actualSet:Symbol) Exports ==> PlacesCategory(K,PCS) @@ -79107,9 +79242,9 @@ Plcs(K:Field,PCS:LocalPowerSeriesCategory(K)):Exports == Implementation where fpl:% while ^found and ^empty?(ll) repeat fpl:= first ll - -- remember: the "=" test is on done on the symbolic name - found:= pt.theName = fpl.theName - ll:=rest ll + -- remember: the "=" test is on done on the symbolic name + found:= pt.theName = fpl.theName + ll:=rest ll ^found => listOfFoundPlaces:=cons(pt,listOfFoundPlaces) pt @@ -83379,6 +83514,345 @@ ProjectiveSpace(dim,K):Exports == Implementation where @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{domain PACEXT PseudoAlgebraicClosureOfAlgExtOfRationalNumber} +<>= +)set break resume +)sys rm -f PseudoAlgebraicClosureOfAlgExtOfRationalNumber.output +)spool PseudoAlgebraicClosureOfAlgExtOfRationalNumber.output +)set message test on +)set message auto off +)clear all + +--S 1 of 1 +)show PseudoAlgebraicClosureOfAlgExtOfRationalNumber +--E 1 + +)spool +)lisp (bye) +@ +<>= +==================================================================== +PseudoAlgebraicClosureOfAlgExtOfRationalNumber examples +==================================================================== + +See Also: +o )show PseudoAlgebraicClosureOfAlgExtOfRationalNumber + +@ +\pagehead{PseudoAlgebraicClosureOfAlgExtOfRationalNumber}{PACEXT} +\pagepic{ps/v103pseudoalgebraicclosureofalgextofrationalnumber.eps}{PACEXT}{1.00} + +{\bf Exports:}\\ + +<>= +)abbrev domain PACEXT PseudoAlgebraicClosureOfAlgExtOfRationalNumber +-- PseudoAlgebraicClosureOfAlgExtOfRationalNumber +++ Authors: Gaetan Hache +++ Date Created: jan 1998 +++ Date Last Updated: May 2010 by Tim Daly +++ Description: +++ This domain implement dynamic extension over the +++ PseudoAlgebraicClosureOfRationalNumber. +++ A tower extension T of the ground field K is any sequence of field +++ extension (T : K_0, K_1, ..., K_i...,K_n) where K_0 = K +++ and for i =1,2,...,n, K_i is an extension of K_{i-1} of degree > 1 +++ and defined by an irreducible polynomial p(Z) in K_{i-1}. +++ Two towers (T_1: K_01, K_11,...,K_i1,...,K_n1) and +++ (T_2: K_02, K_12,...,K_i2,...,K_n2) +++ are said to be related if T_1 <= T_2 (or T_1 >= T_2), +++ that is if K_i1 = K_i2 for i=1,2,...,n1 +++ (or i=1,2,...,n2). Any algebraic operations defined for several elements +++ are only defined if all of the concerned elements are comming from +++ a set of related tour extensions. +PseudoAlgebraicClosureOfAlgExtOfRationalNumber(downLevel:K):Exp == Impl where + K ==> PseudoAlgebraicClosureOfRationalNumber + INT ==> Integer + NNI ==> NonNegativeInteger + SUP ==> SparseUnivariatePolynomial + BOOLEAN ==> Boolean + PI ==> PositiveInteger + FACTRN ==> FactorisationOverPseudoAlgebraicClosureOfAlgExtOfRationalNumber + + recRep ==> Record(recEl:SUP(%),_ + recTower:SUP(%),_ + recDeg:PI,_ + recPrevTower:%,_ + recName:Symbol) + + Exp == PseudoAlgebraicClosureOfAlgExtOfRationalNumberCategory with + + fullOutput: % -> OutputForm + + retractToGrn: % -> K + + Impl == add + Rep := Union(recRep,K) + + -- signature of local function + replaceRecEl: (%,SUP(%)) -> % + + down: % -> % + + retractPol( pol:SUP(%) ):SUP(K)== + zero? pol => 0$SUP(K) + lc := leadingCoefficient pol + d := degree pol + rlc := retractToGrn( lc ) + monomial( rlc , d )$SUP(K) + retractPol( reductum pol ) + + retractToGrn(aa)== + aa case K => aa + a:=(aa pretend recRep) + el:= a.recEl + t:= a.recTower + d:= a.recDeg * extDegree downLevel + pt:= a.recPrevTower + n:= a.recName + newElement(retractPol el, retractPol t, d, retractToGrn pt, n)$K + + newElement(pol,subF,inName) == + -- pol is an irreducible polynomial over the field extension + -- given by subF. + -- The output of this function is a root of pol. + dp:=degree pol + listCoef: List % := coefficients pol + a1:% := inv first listCoef + b1:% := last listCoef + rr:% := b1*a1 + one?(dp) => + one?(#listCoef) => 0 + - rr + ground?(pol) => error "Cannot create a new element with a constant" + d:PI := (dp pretend PI) * extDegree(subF) + [monomial(1$%,1)$SUP(%),pol,d,subF,inName] :: Rep + + coerce(a:Integer):%== (a :: K) + + down(a:%) == + a case K => a + aa:=(a pretend recRep) + elel := aa.recEl + ^ground?(elel)$SUP(%) => a + gel:%:=ground(elel) + down(gel) + + n:INT * a:% == + one?(n) => a + zero?(a) or zero?(n) => 0 + (n < 0) => - ((-n)*a) + mm:PositiveInteger:=(n pretend PositiveInteger) + double(mm,a)$RepeatedDoubling(%) + + replaceRecEl(a,el)== + a case K => a + aa:=copy a + aa.recEl := el + aa + + localTower :% := downLevel + + lift(a) == + a case K => monomial(a,0) + (a pretend recRep).recEl + + lift(a,b)== + extDegree a > extDegree b => _ + error "Cannot lift something at lower level !!!!!" + extDegree a < extDegree b => monomial(a,0)$SUP(%) + lift a + + reduce(a)== + localTower case K => + coefficient(a,0) + ar:= a rem (localTower pretend recRep).recTower + replaceRecEl(localTower,ar) + + maxTower(la)== + --return an element from the list la which is in the largest + --extension of the ground field + --PRECONDITION: all elements in same tower, else no meaning? + m:="max"/[extDegree(a)$% for a in la] + first [b for b in la | extDegree(b)=m] + + ground?(a)== a case K + + vectorise(a,lev)== + da:=extDegree a + dlev:=extDegree lev + dlev < da => _ + error "Cannot vectorise at a lower level than the element to vectorise" + lev case K => [a] + pa:SUP(%) + na:% + ^(da = dlev) => + pa:= monomial(a,0)$SUP(%) + na:= replaceRecEl(lev,pa) + vectorise(na,lev)$% + + prevLev:=previousTower(lev) + a case K => error "At this point a is not suppose to be in K" + aEl:=(a pretend recRep).recEl + daEl:=degree definingPolynomial(a)$% + lv:=[vectorise(c,prevLev)$% for c in entries(vectorise(aEl,daEl)$SUP(%))] + concat lv + + retractIfCan(a:%):Union(K,"failed")== + a case K => a + "failed" + + retractIfCan(a:%):Union(Integer,"failed")== + a case K => retractIfCan(a)$K + "failed" + + setTower!(a) == + if a case K then + localTower := downLevel + else + localTower:=a + void() + + definingPolynomial == definingPolynomial(localTower) + + a:% + b:% == + (a case K) and (b case K) => a +$K b + extDegree(a) > extDegree(b) => b + a + res1:SUP(%) + res2:% + if extDegree(a) = extDegree(b) then + res1:= b.recEl +$SUP(%) a.recEl + res2:= replaceRecEl(b,res1) + else + res1:= b.recEl +$SUP(%) monomial(a,0)$SUP(%) + res2:= replaceRecEl(b,res1) + down(res2) + + a:% * b:% == + (a case K) and (b case K) => a *$K b + extDegree(a) > extDegree(b) => b * a + res1:SUP(%) + res2:% + if extDegree(a) = extDegree(b) then + res1:= b.recEl *$SUP(%) a.recEl rem b.recTower + res2:= replaceRecEl(b,res1) + else + res1:= b.recEl *$SUP(%) monomial(a,0)$SUP(%) + res2:= replaceRecEl(b,res1) + down(res2) + + distinguishedRootsOf(polyZero,ee) == + setTower!(ee) + zero?(polyZero) => error "to lazy to give you all the roots of 0 !!!" + factorf: Factored SUP % := factor(polyZero,localTower)$FACTRN(%) + listFact:List SUP % := [pol.fctr for pol in factorList(factorf)] + listOfZeros:List(%):=empty() + for p in listFact repeat + root:=newElement(p, new(E::Symbol)$Symbol) + listOfZeros:List(%):=concat([ root ], listOfZeros) + listOfZeros + + 1 == 1$K + + 0 == 0$K + + newElement(poll:SUP(%),inName:Symbol)== + newElement(poll,localTower,inName)$% + + --Field operations + inv(a)== + a case K => inv(a)$K + aRecEl:= (a pretend recRep).recEl + aDefPoly:= (a pretend recRep).recTower + aInv := extendedEuclidean( aRecEl , aDefPoly, 1 ) + aInv case "failed" => error "PACOFF : division by zero" + -- On doit retourner un Record représentant l'inverse de a. + -- Ce Record est exactement le même que celui de a sauf + -- qu'il faut remplacer le polynôme du selecteur recEl + -- par le polynôme représentant l'inverse de a : + -- C'est ce que fait la fonction replaceRecEl. + replaceRecEl( a , aInv.coef1 ) + + a:% / b:% == a * inv(b) + + a:K * b:%== + (a :: %) * b + + b:% * a:K == a*b + + a:% - b:% == + a + (-b) + + a:% * b:Fraction(Integer) == + bn:=numer b + bd:=denom b + ebn:%:= bn * 1$% + ebd:%:= bd * 1$% + a * ebn * inv(ebd) + + -a:% == + a case K => -$K a + [-$SUP(%) (a pretend recRep).recEl,_ + (a pretend recRep).recTower,_ + (a pretend recRep).recDeg,_ + (a pretend recRep).recPrevTower,_ + (a pretend recRep).recName ] + + bb:% = aa:% == + b:=down bb + a:=down aa + ^( extDegree(b) =$NNI extDegree(a) ) => false + (b case K) => ( (retract a)@K =$K (retract b)@K ) + rda := a :: recRep + rdb := b :: recRep + not (rda.recTower =$SUP(%) rdb.recTower) => false + rdb.recEl =$SUP(%) rda.recEl + + zero?(a:%) == + da:=down a -- just to be sure !!! + ^(da case K) => false + zero?(da)$K + + one?(a:%) == + da:= down a -- just to be sure !!! + ^(da case K) => false + one?(da)$K + + coerce(a:K):% == a + + coerce(a:%):OutputForm == + a case K => ((retract a)@K) ::OutputForm + outputForm((a pretend recRep).recEl,_ + ((a pretend recRep).recName)::OutputForm) $SUP(%) + + fullOutput(a:%):OutputForm== + a case K => ((retract a)@K) ::OutputForm + (a pretend recRep)::OutputForm + + definingPolynomial(a:%): SUP % == + a case K => monomial(1,1)$SUP(%) + (a pretend recRep).recTower + + extDegree(a:%): PI == + a case K => 1 + (a pretend recRep).recDeg + + previousTower(a:%):% == + a case K => error "No previous extension for ground field element" + (a pretend recRep).recPrevTower + + name(a:%):Symbol == + a case K => error "No name for ground field element" + (a pretend recRep).recName + + characteristic == characteristic()$K + +@ +<>= +"PACEXT" [color="#88FF44",href="bookvol10.3.pdf#nameddest=PACEXT"]; +"FACTEXT" [color="#FF4488",href="bookvol10.4.pdf#nameddest=FACTEXT"] +"PACEXT" -> "FACTEXT" + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{domain PACOFF PseudoAlgebraicClosureOfFiniteField} <>= )set break resume @@ -83609,9 +84083,9 @@ PseudoAlgebraicClosureOfFiniteField(K):Exports == Implementation where recRep ==> Record(recEl:SUP(%),_ recTower:SUP(%),_ - recDeg:PI,_ - recPrevTower:%,_ - recName:Symbol) + recDeg:PI,_ + recPrevTower:%,_ + recName:Symbol) Exports == Join(PseudoAlgebraicClosureOfFiniteFieldCategory,_ ExtensionField(K)) with @@ -83686,7 +84160,6 @@ PseudoAlgebraicClosureOfFiniteField(K):Exports == Implementation where pa:= monomial(a,0)$SUP(%) na:= replaceRecEl(lev,pa) vectorise(na,lev)$% - prevLev:=previousTower(lev) a case K => _ error "At this point a is not suppose to be in K, big error" @@ -83717,10 +84190,10 @@ PseudoAlgebraicClosureOfFiniteField(K):Exports == Implementation where res2:% if extDegree(a) = extDegree(b) then res1:= b.recEl +$SUP(%) a.recEl - res2:= replaceRecEl(b,res1) + res2:= replaceRecEl(b,res1) else res1:= b.recEl +$SUP(%) monomial(a,0)$SUP(%) - res2:= replaceRecEl(b,res1) + res2:= replaceRecEl(b,res1) down(res2) a:% * b:% == @@ -83730,21 +84203,21 @@ PseudoAlgebraicClosureOfFiniteField(K):Exports == Implementation where res2:% if extDegree(a) = extDegree(b) then res1:= b.recEl *$SUP(%) a.recEl rem b.recTower - res2:= replaceRecEl(b,res1) + res2:= replaceRecEl(b,res1) else res1:= b.recEl *$SUP(%) monomial(a,0)$SUP(%) - res2:= replaceRecEl(b,res1) + res2:= replaceRecEl(b,res1) down(res2) distinguishedRootsOf(polyZero,ee) == setTower!(ee) zero?(polyZero) => error "to lazy to give you all the roots of 0 !!!" - factorf: Factored SUP % := factor(polyZero)$FFFACTSE(%,SUP(%)) - listFact:List SUP % := [pol.fctr for pol in factorList(factorf)] + factorf: Factored SUP % := factor(polyZero)$FFFACTSE(%,SUP(%)) + listFact:List SUP % := [pol.fctr for pol in factorList(factorf)] listOfZeros:List(%):=empty() - for p in listFact repeat - root:=newElement(p, new(D::Symbol)$Symbol) - listOfZeros:List(%):=concat([ root ], listOfZeros) + for p in listFact repeat + root:=newElement(p, new(D::Symbol)$Symbol) + listOfZeros:List(%):=concat([ root ], listOfZeros) listOfZeros random== @@ -84126,9 +84599,9 @@ PseudoAlgebraicClosureOfRationalNumber:Exports == Implementation where recRep ==> Record(recEl:SUP(%),_ recTower:SUP(%),_ - recDeg:PI,_ - recPrevTower:%,_ - recName:Symbol) + recDeg:PI,_ + recPrevTower:%,_ + recName:Symbol) Exports == PseudoAlgebraicClosureOfRationalNumberCategory with @@ -84228,10 +84701,10 @@ PseudoAlgebraicClosureOfRationalNumber:Exports == Implementation where res2:% if extDegree(a) = extDegree(b) then res1:= b.recEl +$SUP(%) a.recEl - res2:= replaceRecEl(b,res1) + res2:= replaceRecEl(b,res1) else res1:= b.recEl +$SUP(%) monomial(a,0)$SUP(%) - res2:= replaceRecEl(b,res1) + res2:= replaceRecEl(b,res1) down(res2) a:% * b:% == @@ -84241,21 +84714,21 @@ PseudoAlgebraicClosureOfRationalNumber:Exports == Implementation where res2:% if extDegree(a) = extDegree(b) then res1:= b.recEl *$SUP(%) a.recEl rem b.recTower - res2:= replaceRecEl(b,res1) + res2:= replaceRecEl(b,res1) else res1:= b.recEl *$SUP(%) monomial(a,0)$SUP(%) - res2:= replaceRecEl(b,res1) + res2:= replaceRecEl(b,res1) down(res2) distinguishedRootsOf(polyZero,ee) == setTower!(ee) zero?(polyZero) => error "to lazy to give you all the roots of 0 !!!" - factorf: Factored SUP % := factor(polyZero,ee)$FACTRN(%) - listFact:List SUP % := [pol.fctr for pol in factorList(factorf)] + factorf: Factored SUP % := factor(polyZero,ee)$FACTRN(%) + listFact:List SUP % := [pol.fctr for pol in factorList(factorf)] listOfZeros:List(%):=empty() - for p in listFact repeat - root:=newElement(p, new(D::Symbol)$Symbol) - listOfZeros:List(%):=concat([ root ], listOfZeros) + for p in listFact repeat + root:=newElement(p, new(D::Symbol)$Symbol) + listOfZeros:List(%):=concat([ root ], listOfZeros) listOfZeros 1 == 1$K @@ -115615,7 +116088,7 @@ UnivariateTaylorSeriesCZero(Coef,var): Exports == Implementation where map(integrate(#1,s),x) if Coef has TranscendentalFunctionCategory and _ - Coef has PrimitiveFunctionCategory and _ + Coef has PrimitiveFunctionCategory and _ Coef has AlgebraicallyClosedFunctionSpace Integer then integrateWithOneAnswer: (Coef,Symbol) -> Coef @@ -126422,6 +126895,7 @@ Note that this code is not included in the generated catdef.spad file. <> <> <> +<> <> <> <> @@ -126541,6 +127015,7 @@ Note that this code is not included in the generated catdef.spad file. <> <> <> +<> <> <> diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet index 7a32396..9020152 100644 --- a/books/bookvol5.pamphlet +++ b/books/bookvol5.pamphlet @@ -23978,6 +23978,7 @@ otherwise the new algebra won't be loaded by the interpreter when needed. (|InfiniteTupleFunctions2| . ITFUN2) (|InfiniteTupleFunctions3| . ITFUN3) (|InfinitlyClosePoint| . INFCLSPT) + (|InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField| . INFCLSPS) (|Infinity| . INFINITY) (|Integer| . INT) (|IntegerCombinatoricFunctions| . COMBINAT) @@ -24111,6 +24112,7 @@ otherwise the new algebra won't be loaded by the interpreter when needed. (|ProjectivePlane| . PROJPL) (|ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField| . PROJPLPS) (|ProjectiveSpace| . PROJSP) + (|PseudoAlgebraicClosureOfAlgExtOfRationalNumber| . PACEXT) (|QuadraticForm| . QFORM) (|QuasiComponentPackage| . QCMPACK) (|Quaternion| . QUAT) diff --git a/books/ps/v103infinitlyclosepointoverpseudoalgebraicclosureoffinitefield.eps b/books/ps/v103infinitlyclosepointoverpseudoalgebraicclosureoffinitefield.eps new file mode 100644 index 0000000..7de1bfa --- /dev/null +++ b/books/ps/v103infinitlyclosepointoverpseudoalgebraicclosureoffinitefield.eps @@ -0,0 +1,266 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Graphviz version 2.20.2 (Mon Mar 30 10:09:11 UTC 2009) +%%For: (root) root +%%Title: pic +%%Pages: 1 +%%BoundingBox: 36 36 130 152 +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw text fitted to its expected width +/alignedtext { % width text + /text exch def + /width exch def + gsave + width 0 gt { + [] 0 setdash + text stringwidth pop width exch sub text length div 0 text ashow + } if + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +setupLatin1 +%%Page: 1 1 +%%PageBoundingBox: 36 36 130 152 +%%PageOrientation: Portrait +0 0 1 beginpage +gsave +36 36 94 116 boxprim clip newpath +1 1 set_scale 0 rotate 40 40 translate +% INFCLSPS +gsave +[ /Rect [ 1 72 85 108 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.3.pdf#nameddest=INFCLSPS) >> + /Subtype /Link +/ANN pdfmark +0.273 0.733 1.000 nodecolor +newpath 85 108 moveto +1 108 lineto +1 72 lineto +85 72 lineto +closepath fill +1 setlinewidth +filled +0.273 0.733 1.000 nodecolor +newpath 85 108 moveto +1 108 lineto +1 72 lineto +85 72 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +9 85.9 moveto 68 (INFCLSPS) alignedtext +grestore +% PROJPLPS +gsave +[ /Rect [ 0 0 86 36 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.3.pdf#nameddest=PROJPLPS) >> + /Subtype /Link +/ANN pdfmark +0.273 0.733 1.000 nodecolor +newpath 86 36 moveto +0 36 lineto +0 0 lineto +86 0 lineto +closepath fill +1 setlinewidth +filled +0.273 0.733 1.000 nodecolor +newpath 86 36 moveto +0 36 lineto +0 0 lineto +86 0 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +8 13.9 moveto 70 (PROJPLPS) alignedtext +grestore +% INFCLSPS->PROJPLPS +gsave +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 43 72 moveto +43 64 43 55 43 46 curveto +stroke +0.000 0.000 0.000 edgecolor +newpath 46.5 46 moveto +43 36 lineto +39.5 46 lineto +closepath fill +1 setlinewidth +solid +0.000 0.000 0.000 edgecolor +newpath 46.5 46 moveto +43 36 lineto +39.5 46 lineto +closepath stroke +grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +end +restore +%%EOF diff --git a/books/ps/v103pseudoalgebraicclosureofalgextofrationalnumber.eps b/books/ps/v103pseudoalgebraicclosureofalgextofrationalnumber.eps new file mode 100644 index 0000000..2da1c73 --- /dev/null +++ b/books/ps/v103pseudoalgebraicclosureofalgextofrationalnumber.eps @@ -0,0 +1,268 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: Graphviz version 2.20.2 (Mon Mar 30 10:09:11 UTC 2009) +%%For: (root) root +%%Title: pic +%%Pages: (atend) +%%BoundingBox: (atend) +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw text fitted to its expected width +/alignedtext { % width text + /text exch def + /width exch def + gsave + width 0 gt { + [] 0 setdash + text stringwidth pop width exch sub text length div 0 text ashow + } if + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +setupLatin1 +%%Page: 1 1 +%%PageBoundingBox: 36 36 124 152 +%%PageOrientation: Portrait +0 0 1 beginpage +gsave +36 36 88 116 boxprim clip newpath +1 1 set_scale 0 rotate 40 40 translate +% PACEXT +gsave +[ /Rect [ 4 72 76 108 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.3.pdf#nameddest=PACEXT) >> + /Subtype /Link +/ANN pdfmark +0.273 0.733 1.000 nodecolor +newpath 76 108 moveto +4 108 lineto +4 72 lineto +76 72 lineto +closepath fill +1 setlinewidth +filled +0.273 0.733 1.000 nodecolor +newpath 76 108 moveto +4 108 lineto +4 72 lineto +76 72 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +12 85.9 moveto 56 (PACEXT) alignedtext +grestore +% FACTEXT +gsave +[ /Rect [ 0 0 80 36 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.4.pdf#nameddest=FACTEXT) >> + /Subtype /Link +/ANN pdfmark +0.939 0.733 1.000 nodecolor +newpath 80 36 moveto +0 36 lineto +0 0 lineto +80 0 lineto +closepath fill +1 setlinewidth +filled +0.939 0.733 1.000 nodecolor +newpath 80 36 moveto +0 36 lineto +0 0 lineto +80 0 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +8 13.9 moveto 64 (FACTEXT) alignedtext +grestore +% PACEXT->FACTEXT +gsave +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 40 72 moveto +40 64 40 55 40 46 curveto +stroke +0.000 0.000 0.000 edgecolor +newpath 43.5 46 moveto +40 36 lineto +36.5 46 lineto +closepath fill +1 setlinewidth +solid +0.000 0.000 0.000 edgecolor +newpath 43.5 46 moveto +40 36 lineto +36.5 46 lineto +closepath stroke +grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +%%BoundingBox: 36 36 124 152 +end +restore +%%EOF diff --git a/changelog b/changelog index 9e12f8e..46f1457 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,9 @@ +20100520 tpd src/axiom-website/patches.html 20100520.01.tpd.patch +20100520 tpd src/algebra/Makefile help and test for PACECT, INFCLSPS +20100520 tpd books/bookvol5 expose PACECT, INFCLSPS +20100520 tpd books/bookvol10.3 add PACEXT, INFCLSPS +20100520 tpd ps/v103pseudoalgebraicclosureofalgextofrationalnumber.eps +20100520 tpd v103infinitlyclosepointoverpseudoalgebraicclosureoffinitefield.eps 20100518 tpd src/axiom-website/patches.html 20100518.08.tpd.patch 20100518 tpd src/algebra/Makefile help and test for InfClsPt 20100518 tpd books/bookvol5 expose InfClsPt diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index cac25bd..e05b73e 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -12117,8 +12117,7 @@ LAYER17=\ ${OUT}/FSPRMELT.o ${OUT}/FSRED.o ${OUT}/FSUPFACT.o ${OUT}/FSPECF.o \ ${OUT}/FS2.o ${OUT}/FS2UPS.o ${OUT}/GAUSSFAC.o ${OUT}/GCNAALG.o \ ${OUT}/GENUFACT.o ${OUT}/GENUPS.o ${OUT}/GTSET.o ${OUT}/GPOLSET.o \ - ${OUT}/IAN.o ${OUT}/INEP.o ${OUT}/INFCLSPT.o \ - ${OUT}/INFPROD0.o ${OUT}/INFSP.o \ + ${OUT}/IAN.o ${OUT}/INEP.o ${OUT}/INFPROD0.o ${OUT}/INFSP.o \ ${OUT}/INPRODFF.o ${OUT}/INPRODPF.o ${OUT}/INTAF.o ${OUT}/INTALG.o \ ${OUT}/INTEF.o ${OUT}/INTG0.o ${OUT}/INTHERAL.o ${OUT}/INTPAF.o \ ${OUT}/INTPM.o ${OUT}/INTTOOLS.o ${OUT}/ITRIGMNP.o ${OUT}/JORDAN.o \ @@ -13425,28 +13424,6 @@ LAYER17=\ /*"INEP" -> {"MONOGEN"; "FRAMALG"; "FINRALG"; "FINITE"; "FFIELDC"}*/ /*"INEP" -> {"FPC"; "PI"}*/ -"INFCLSPT" [color="#88FF44",href="bookvol10.3.pdf#nameddest=INFCLSPT"] -"INFCLSPT" -> "INFCLCT" -/*"INFCLSPT" -> {"SETCATD"; "AFFPL"; "SETCAT"; "BASTYPE"; "KOERCE"; "FIELD"}*/ -/*"INFCLSPT" -> {"EUCDOM"; "PID"; "GCDDOM"; "INTDOM"; "COMRING"; "RING"}*/ -/*"INFCLSPT" -> {"RNG"; "ABELGRP"; "CABMON"; "ABELMON"; "ABELSG"; "SGROUP"}*/ -/*"INFCLSPT" -> {"MONOID"; "LMODULE"; "BMODULE"; "RMODULE"; "ALGEBRA"}*/ -/*"INFCLSPT" -> {"MODULE"; "ENTIRER"; "UFD"; "DIVRING"; "POLYCAT"; "PDRING"}*/ -/*"INFCLSPT" -> {"FAMR"; "AMR"; "CHARZ"; "CHARNZ"; "FRETRCT"; "RETRACT"}*/ -/*"INFCLSPT" -> {"EVALAB"; "IEVALAB"; "FLINEXP"; "LINEXP"; "ORDSET"}*/ -/*"INFCLSPT" -> {"KONVERT"; "PATMAB"; "PFECAT"; "DIRPCAT"; "IXAGG"; "HOAGG"}*/ -/*"INFCLSPT" -> {"AGG"; "TYPE"; "ELTAGG"; "ELTAB"; "DIFEXT"; "DIFRING"}*/ -/*"INFCLSPT" -> {"FINITE"; "ORDRING"; "OAGROUP"; "OCAMON"; "OAMON"; "OASGP"}*/ -/*"INFCLSPT" -> {"OAMONS"; "VSPACE"; "PRSPCAT"; "LOCPOWC"; "UPSCAT"; "PSCAT"}*/ -/*"INFCLSPT" -> {"PLACESC"; "DIVCAT"; "FAMONC"; "BLMETCT"; "SINT"; "NNI"}*/ -/*"INFCLSPT" -> {"INT"; "LSAGG"; "STAGG"; "URAGG"; "RCAGG"; "LNAGG"}*/ -/*"INFCLSPT" -> {"CLAGG"; "FLAGG"; "ELAGG"; "OM"; "LIST"; "ILIST"; "LSAGG-"}*/ -/*"INFCLSPT" -> {"STAGG-"; "ELAGG-"; "FLAGG-"; "URAGG-"; "LNAGG-"; "RCAGG-"}*/ -/*"INFCLSPT" -> {"IXAGG-"; "CLAGG-"; "HOAGG-"; "ORDSET-"; "AGG-"; "ELTAGG-"}*/ -/*"INFCLSPT" -> {"SETCAT-"; "BASTYPE-"; "BOOLEAN"; "VECTOR"; "PACPERC"; "PI"}*/ -/*"INFCLSPT" -> {"SYMBOL"; "REF"; "ALIST"; "STRING"; "CHAR"; "OUTFORM"}*/ -/*"INFCLSPT" -> {"PRIMARR"; "A1AGG-"; "ISTRING"; "SRAGG-"}*/ - "INFPROD0" [color="#FF4488",href="bookvol10.4.pdf#nameddest=INFPROD0"] /*"INFPROD0" -> {"INTDOM"; "COMRING"; "RING"; "RNG"; "ABELGRP"; "CABMON"}*/ /*"INFPROD0" -> {"ABELMON"; "ABELSG"; "SETCAT"; "BASTYPE"; "KOERCE"}*/ @@ -14809,7 +14786,7 @@ LAYER18=\ ${OUT}/ESCONT.o ${OUT}/EXPR.o ${OUT}/EXPRSOL.o ${OUT}/EXPR2UPS.o \ ${OUT}/FACTEXT.o \ ${OUT}/FDIV.o ${OUT}/FSCINT.o ${OUT}/FSINT.o ${OUT}/FS2EXPXP.o \ - ${OUT}/GSERIES.o ${OUT}/HELLFDIV.o ${OUT}/ICP.o \ + ${OUT}/GSERIES.o ${OUT}/HELLFDIV.o \ ${OUT}/INVLAPLA.o ${OUT}/IR2F.o \ ${OUT}/IRRF2F.o ${OUT}/LAPLACE.o ${OUT}/LIMITPS.o ${OUT}/LODEEF.o \ ${OUT}/NODE1.o ${OUT}/NOTTING.o \ @@ -15123,25 +15100,6 @@ LAYER18=\ /*"HELLFDIV" -> {"IXAGG"; "HOAGG"; "AGG"; "ELTAGG"; "CLAGG"; "VECTOR"}*/ /*"HELLFDIV" -> {"IVECTOR"; "IARRAY1"; "INS"; "CFCAT"; "PI"}*/ -"ICP" [color="#88FF44",href="bookvol10.3.pdf#nameddest=ICP"] -/*"ICP" -> {"DIVCAT"; "PROJPL"; "NSDPS"; "DIV"}*/ -"ICP" -> "PLACES" -"ICP" -> "INFCLSPT" -/*"ICP" -> {"INFCLCT"; "SETCATD"; "SETCAT"; "BASTYPE"; "KOERCE"; "FIELD"}*/ -/*"ICP" -> {"EUCDOM"; "PID"; "GCDDOM"; "INTDOM"; "COMRING"; "RING"; "RNG"}*/ -/*"ICP" -> {"ABELGRP"; "CABMON"; "ABELMON"; "ABELSG"; "SGROUP"; "MONOID"}*/ -/*"ICP" -> {"LMODULE"; "BMODULE"; "RMODULE"; "ALGEBRA"; "MODULE"; "ENTIRER"}*/ -/*"ICP" -> {"UFD"; "DIVRING"; "LSAGG"; "STAGG"; "URAGG"; "RCAGG"; "HOAGG"}*/ -/*"ICP" -> {"AGG"; "TYPE"; "EVALAB"; "IEVALAB"; "LNAGG"; "IXAGG"; "ELTAGG"}*/ -/*"ICP" -> {"ELTAB"; "CLAGG"; "KONVERT"; "FLAGG"; "ORDSET"; "ELAGG"; "OM"}*/ -/*"ICP" -> {"INT"; "LIST"; "ILIST"; "DIRPCAT"; "FRETRCT"; "RETRACT"}*/ -/*"ICP" -> {"DIFEXT"; "DIFRING"; "PDRING"; "FLINEXP"; "LINEXP"; "FINITE"}*/ -/*"ICP" -> {"ORDRING"; "OAGROUP"; "OCAMON"; "OAMON"; "OASGP"; "OAMONS"}*/ -/*"ICP" -> {"VSPACE"; "PLACESC"; "BLMETCT"; "SYMBOL"; "REF"; "ALIST"}*/ -/*"ICP" -> {"STRING"; "CHAR"; "SINT"; "OUTFORM"; "PRIMARR"; "A1AGG-"}*/ -/*"ICP" -> {"ISTRING"; "SRAGG-"; "FLAGG-"; "LNAGG-"; "LSAGG-"; "STAGG-"}*/ -/*"ICP" -> {"ELAGG-"; "URAGG-"}*/ - "INVLAPLA" [color="#FF4488",href="bookvol10.4.pdf#nameddest=INVLAPLA"] /*"INVLAPLA" -> {"EUCDOM"; "PID"; "GCDDOM"; "INTDOM"; "COMRING"; "RING"}*/ /*"INVLAPLA" -> {"RNG"; "ABELGRP"; "CABMON"; "ABELMON"; "ABELSG"; "SETCAT"}*/ @@ -15630,12 +15588,13 @@ LAYER18=\ @ \subsection{Layer19} -Depends on: EXPRSOL SFRTCAT\\ +Depends on: EXPRSOL SFRTCAT FACTEXT\\ Next layer depends on: RECOP <>= LAYER19=\ ${OUT}/IRURPK.o ${OUT}/LAZM3PK.o ${OUT}/LEXTRIPK.o ${OUT}/NORMPK.o \ + ${OUT}/PACEXT.o \ ${OUT}/RECOP.o ${OUT}/RURPK.o ${OUT}/SFRGCD.o ${OUT}/SFQCMPK.o \ ${OUT}/SNTSCAT.o ${OUT}/SRDCMPK.o ${OUT}/SREGSET.o ${OUT}/ZDSOLVE.o \ layer19done @@ -15704,6 +15663,29 @@ LAYER19=\ /*"NORMPK" -> {"A1AGG-"; "ISTRING"; "NNI"; "BOOLEAN"; "ILIST"}*/ /*"NORMPK" -> {"LSAGG-"; "STAGG-"}*/ +"PACEXT" [color="#88FF44",href="bookvol10.3.pdf#nameddest=PACEXT"] +/*"PACEXT" -> {"FIELD"; "EUCDOM"; "PID"; "GCDDOM"; "INTDOM"; "COMRING"}*/ +/*"PACEXT" -> {"RING"; "RNG"; "ABELGRP"; "CABMON"; "ABELMON"; "ABELSG"}*/ +/*"PACEXT" -> {"SETCAT"; "BASTYPE"; "KOERCE"; "SGROUP"; "MONOID"; "LMODULE"}*/ +/*"PACEXT" -> {"BMODULE"; "RMODULE"; "ALGEBRA"; "MODULE"; "ENTIRER"; "UFD"}*/ +/*"PACEXT" -> {"DIVRING"; "CHARZ"; "RETRACT"; "XF"; "VSPACE"; "FPC"}*/ +/*"PACEXT" -> {"CHARNZ"; "FINITE"; "PI"; "NNI"; "INT"; "LIST"; "ILIST"}*/ +/*"PACEXT" -> {"LSAGG-"; "STAGG-"; "ELAGG-"; "FLAGG-"; "URAGG-"; "LNAGG-"}*/ +/*"PACEXT" -> {"RCAGG-"; "IXAGG-"; "CLAGG-"; "HOAGG-"; "ORDSET-"; "AGG-"}*/ +/*"PACEXT" -> {"ELTAGG-"; "SETCAT-"; "BASTYPE-"; "LSAGG"; "STAGG"; "URAGG"}*/ +/*"PACEXT" -> {"RCAGG"; "HOAGG"; "AGG"; "TYPE"; "EVALAB"; "IEVALAB"}*/ +/*"PACEXT" -> {"LNAGG"; "IXAGG"; "ELTAGG"; "ELTAB"; "CLAGG"; "KONVERT"}*/ +/*"PACEXT" -> {"FLAGG"; "ORDSET"; "ELAGG"; "OM"; "VECTOR"; "IVECTOR"}*/ +/*"PACEXT" -> {"IARRAY1"; "VECTCAT-"; "A1AGG-"; "UPOLYC"; "POLYCAT"}*/ +/*"PACEXT" -> {"PDRING"; "FAMR"; "AMR"; "FRETRCT"; "FLINEXP"; "LINEXP"}*/ +/*"PACEXT" -> {"PATMAB"; "PFECAT"; "DIFRING"; "DIFEXT"; "STEP"; "SYMBOL"}*/ +/*"PACEXT" -> {"REF"; "ALIST"; "STRING"; "CHAR"; "SINT"; "OUTFORM"}*/ +/*"PACEXT" -> {"PRIMARR"; "ISTRING"; "SRAGG-"; "INS"; "OINTDOM"; "ORDRING"}*/ +/*"PACEXT" -> {"OAGROUP"; "OCAMON"; "OAMON"; "OASGP"; "CFCAT"; "REAL"}*/ +/*"PACEXT" -> {"BOOLEAN"; "QFCAT"; "FEVALAB"; "PATAB"; "FPATMAB"; "PACPERC"}*/ +/*"PACEXT" -> {"PACRATC"; "PACRAT"}*/ +"PACEXT" -> "FACTEXT" + "RECOP" [color="#FF4488",href="bookvol10.4.pdf#nameddest=RECOP"] "RECOP" -> "EXPRSOL" /* by loadlib */ /*"RECOP" -> {"UFPS"; "UTSSOL"; "ORDSET"; "SETCAT"; "BASTYPE"; "KOERCE"}*/ @@ -15839,7 +15821,7 @@ Next layer depends on: GUESS <>= LAYER20=\ - ${OUT}/GUESS.o \ + ${OUT}/GUESS.o ${OUT}/INFCLSPT.o \ layer20done @ @@ -15875,15 +15857,37 @@ LAYER20=\ /*"GUESS" -> {"BASTYPE-"; "IVECTOR"; "IARRAY1"; "VECTCAT-"; "IXAGG-"}*/ /*"GUESS" -> {"RCAGG-"; "CLAGG-"}*/ +"INFCLSPT" [color="#88FF44",href="bookvol10.3.pdf#nameddest=INFCLSPT"] +"INFCLSPT" -> "INFCLCT" +/*"INFCLSPT" -> {"SETCATD"; "AFFPL"; "SETCAT"; "BASTYPE"; "KOERCE"; "FIELD"}*/ +/*"INFCLSPT" -> {"EUCDOM"; "PID"; "GCDDOM"; "INTDOM"; "COMRING"; "RING"}*/ +/*"INFCLSPT" -> {"RNG"; "ABELGRP"; "CABMON"; "ABELMON"; "ABELSG"; "SGROUP"}*/ +/*"INFCLSPT" -> {"MONOID"; "LMODULE"; "BMODULE"; "RMODULE"; "ALGEBRA"}*/ +/*"INFCLSPT" -> {"MODULE"; "ENTIRER"; "UFD"; "DIVRING"; "POLYCAT"; "PDRING"}*/ +/*"INFCLSPT" -> {"FAMR"; "AMR"; "CHARZ"; "CHARNZ"; "FRETRCT"; "RETRACT"}*/ +/*"INFCLSPT" -> {"EVALAB"; "IEVALAB"; "FLINEXP"; "LINEXP"; "ORDSET"}*/ +/*"INFCLSPT" -> {"KONVERT"; "PATMAB"; "PFECAT"; "DIRPCAT"; "IXAGG"; "HOAGG"}*/ +/*"INFCLSPT" -> {"AGG"; "TYPE"; "ELTAGG"; "ELTAB"; "DIFEXT"; "DIFRING"}*/ +/*"INFCLSPT" -> {"FINITE"; "ORDRING"; "OAGROUP"; "OCAMON"; "OAMON"; "OASGP"}*/ +/*"INFCLSPT" -> {"OAMONS"; "VSPACE"; "PRSPCAT"; "LOCPOWC"; "UPSCAT"; "PSCAT"}*/ +/*"INFCLSPT" -> {"PLACESC"; "DIVCAT"; "FAMONC"; "BLMETCT"; "SINT"; "NNI"}*/ +/*"INFCLSPT" -> {"INT"; "LSAGG"; "STAGG"; "URAGG"; "RCAGG"; "LNAGG"}*/ +/*"INFCLSPT" -> {"CLAGG"; "FLAGG"; "ELAGG"; "OM"; "LIST"; "ILIST"; "LSAGG-"}*/ +/*"INFCLSPT" -> {"STAGG-"; "ELAGG-"; "FLAGG-"; "URAGG-"; "LNAGG-"; "RCAGG-"}*/ +/*"INFCLSPT" -> {"IXAGG-"; "CLAGG-"; "HOAGG-"; "ORDSET-"; "AGG-"; "ELTAGG-"}*/ +/*"INFCLSPT" -> {"SETCAT-"; "BASTYPE-"; "BOOLEAN"; "VECTOR"; "PACPERC"; "PI"}*/ +/*"INFCLSPT" -> {"SYMBOL"; "REF"; "ALIST"; "STRING"; "CHAR"; "OUTFORM"}*/ +/*"INFCLSPT" -> {"PRIMARR"; "A1AGG-"; "ISTRING"; "SRAGG-"}*/ + @ \subsection{Layer21} Depends on: GUESS -Next layer depends on: GUESSF1 +Next layer depends on: GUESSF1 INFCLSPT <>= LAYER21=\ ${OUT}/GUESSAN.o ${OUT}/GUESSINT.o ${OUT}/GUESSF1.o ${OUT}/GUESSP.o \ - ${OUT}/GUESSUP.o \ + ${OUT}/GUESSUP.o ${OUT}/ICP.o \ layer21done @ @@ -15968,13 +15972,32 @@ LAYER21=\ /*"GUESSUP" -> {"FEVALAB"; "PATAB"; "FPATMAB"; "TYPE"; "FS"; "ES"}*/ /*"GUESSUP" -> {"GROUP"; "COMBOPC"}*/ +"ICP" [color="#88FF44",href="bookvol10.3.pdf#nameddest=ICP"] +/*"ICP" -> {"DIVCAT"; "PROJPL"; "NSDPS"; "DIV"}*/ +"ICP" -> "PLACES" +"ICP" -> "INFCLSPT" +/*"ICP" -> {"INFCLCT"; "SETCATD"; "SETCAT"; "BASTYPE"; "KOERCE"; "FIELD"}*/ +/*"ICP" -> {"EUCDOM"; "PID"; "GCDDOM"; "INTDOM"; "COMRING"; "RING"; "RNG"}*/ +/*"ICP" -> {"ABELGRP"; "CABMON"; "ABELMON"; "ABELSG"; "SGROUP"; "MONOID"}*/ +/*"ICP" -> {"LMODULE"; "BMODULE"; "RMODULE"; "ALGEBRA"; "MODULE"; "ENTIRER"}*/ +/*"ICP" -> {"UFD"; "DIVRING"; "LSAGG"; "STAGG"; "URAGG"; "RCAGG"; "HOAGG"}*/ +/*"ICP" -> {"AGG"; "TYPE"; "EVALAB"; "IEVALAB"; "LNAGG"; "IXAGG"; "ELTAGG"}*/ +/*"ICP" -> {"ELTAB"; "CLAGG"; "KONVERT"; "FLAGG"; "ORDSET"; "ELAGG"; "OM"}*/ +/*"ICP" -> {"INT"; "LIST"; "ILIST"; "DIRPCAT"; "FRETRCT"; "RETRACT"}*/ +/*"ICP" -> {"DIFEXT"; "DIFRING"; "PDRING"; "FLINEXP"; "LINEXP"; "FINITE"}*/ +/*"ICP" -> {"ORDRING"; "OAGROUP"; "OCAMON"; "OAMON"; "OASGP"; "OAMONS"}*/ +/*"ICP" -> {"VSPACE"; "PLACESC"; "BLMETCT"; "SYMBOL"; "REF"; "ALIST"}*/ +/*"ICP" -> {"STRING"; "CHAR"; "SINT"; "OUTFORM"; "PRIMARR"; "A1AGG-"}*/ +/*"ICP" -> {"ISTRING"; "SRAGG-"; "FLAGG-"; "LNAGG-"; "LSAGG-"; "STAGG-"}*/ +/*"ICP" -> {"ELAGG-"; "URAGG-"}*/ + @ \subsection{Layer22} Depends on: GUESSF1 <>= LAYER22=\ - ${OUT}/GUESSF.o \ + ${OUT}/GUESSF.o ${OUT}/INFCLSPS.o \ layer22done @ @@ -15998,8 +16021,26 @@ LAYER22=\ /*"GUESSF" -> {"IEVALAB"; "EVALAB"; "PATAB"; "FPATMAB"; "TYPE"; "FRETRCT"} */ /*"GUESSF" -> {"GROUP"; "PDRING"; "FLINEXP"} */ +"INFCLSPS" [color="#88FF44",href="bookvol10.3.pdf#nameddest=INFCLSPS"] +"INFCLSPS" -> "PROJPLPS" +/*"INFCLSPS" -> {"PACOFF"; "NSDPS"; "PLACESPS"; "DIV"; "DIVCAT"; "INFCLCT"}*/ +/*"INFCLSPS" -> {"INFCLSPT"; "SETCATD"; "SETCAT"; "BASTYPE"; "KOERCE"}*/ +/*"INFCLSPS" -> {"PACFFC"; "FFIELDC"; "FPC"; "FIELD"; "EUCDOM"; "PID"}*/ +/*"INFCLSPS" -> {"GCDDOM"; "INTDOM"; "COMRING"; "RING"; "RNG"; "ABELGRP"}*/ +/*"INFCLSPS" -> {"CABMON"; "ABELMON"; "ABELSG"; "SGROUP"; "MONOID"}*/ +/*"INFCLSPS" -> {"LMODULE"; "BMODULE"; "RMODULE"; "ALGEBRA"; "MODULE"}*/ +/*"INFCLSPS" -> {"ENTIRER"; "UFD"; "DIVRING"; "CHARNZ"; "FINITE"; "STEP"}*/ +/*"INFCLSPS" -> {"DIFRING"; "PACPERC"; "LSAGG"; "STAGG"; "URAGG"; "RCAGG"}*/ +/*"INFCLSPS" -> {"HOAGG"; "AGG"; "TYPE"; "EVALAB"; "IEVALAB"; "LNAGG"}*/ +/*"INFCLSPS" -> {"IXAGG"; "ELTAGG"; "ELTAB"; "CLAGG"; "KONVERT"; "FLAGG"}*/ +/*"INFCLSPS" -> {"ORDSET"; "ELAGG"; "OM"; "INT"; "LIST"; "ILIST"; "DIRPCAT"}*/ +/*"INFCLSPS" -> {"FRETRCT"; "RETRACT"; "DIFEXT"; "PDRING"; "FLINEXP"}*/ +/*"INFCLSPS" -> {"LINEXP"; "ORDRING"; "OAGROUP"; "OCAMON"; "OAMON"}*/ +/*"INFCLSPS" -> {"OASGP"; "OAMONS"; "VSPACE"; "PLACESC"; "BLMETCT"}*/ +/*"INFCLSPS" -> {"SYMBOL"; "REF"; "ALIST"; "STRING"; "CHAR"; "SINT"}*/ +/*"INFCLSPS" -> {"OUTFORM"; "PRIMARR"; "A1AGG-"; "ISTRING"; "SRAGG-"}*/ +/*"INFCLSPS" -> {"FLAGG-"; "LNAGG-"; "LSAGG-"; "STAGG-"; "ELAGG-"; "URAGG-"}*/ -} @ \subsection{Order} The final order of the layers is determined here. @@ -16374,6 +16415,21 @@ ${MID}/FACTEXT.nrlib/code.o: ${MID}/FACTEXT.spad @ <>= +PACEXTDEPS = PACEXTC PACPERC PACRATC PACRAT FACTEXT + +${MID}/PACEXT.nrlib/code.o: ${MID}/PACEXT.spad + @echo P3 making ${MID}/PACEXT.nrlib/code.o from ${MID}/PACEXT.spad + @ (cd ${MID} ; \ + if [ -z "${NOISE}" ] ; then \ + echo -e ")lib ${PACEXTDEPS} \n )co PACEXT.spad" \ + | ${INTERPSYS} ; \ + else \ + echo -e ")lib ${PACEXTDEPS} \n )co PACEXT.spad" \ + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) +@ +<>= + LOPDEPS = PACPERC ${MID}/LOP.nrlib/code.o: ${MID}/LOP.spad @@ -16688,11 +16744,17 @@ ${MID}/INFCLSPT.nrlib/code.o: ${MID}/INFCLSPT.spad | ${INTERPSYS} >${TMP}/trace ; \ fi ) @ -<>= - ICPDEPS = LOCPOWC PRSPCAT DIVCAT BLMETCT PROJPL NSDPS PLACES DIV \ INFCLCT INFCLSPT SETCATD PLACESC AFFPL +<>= + +ICPDEPS = UTSZ FFSQFR FFFACTSE INTERGB PACPERC PACFFC PACRATC FACTRN \ + PACRAT PACOFF PACEXTC FACTEXT PACEXT LOP RFP LOCPOWC NSDPS \ + LISYSER BLMETCT BLQT BLHN PRSPCAT PROJSP PROJPL PROJPLPS \ + SETCATD AFSPCAT AFFSP AFFPL AFFPLPS DIVCAT DIV PLACESC PLCS \ + PLACES PLACESPS INFCLCT INFCLSPT + ${MID}/ICP.nrlib/code.o: ${MID}/ICP.spad @echo P3 making ${MID}/ICP.nrlib/code.o from ${MID}/ICP.spad @ (cd ${MID} ; \ @@ -16704,6 +16766,25 @@ ${MID}/ICP.nrlib/code.o: ${MID}/ICP.spad | ${INTERPSYS} >${TMP}/trace ; \ fi ) @ +<>= + +INFCLSPSDEPS = UTSZ FFSQFR FFFACTSE INTERGB PACPERC PACFFC PACRATC FACTRN \ + PACRAT PACOFF PACEXTC FACTEXT PACEXT LOP RFP LOCPOWC NSDPS \ + LISYSER BLMETCT BLQT BLHN PRSPCAT PROJSP PROJPL PROJPLPS \ + SETCATD AFSPCAT AFFSP AFFPL AFFPLPS DIVCAT DIV PLACESC PLCS \ + PLACES PLACESPS INFCLCT INFCLSPT ICP + +${MID}/INFCLSPS.nrlib/code.o: ${MID}/INFCLSPS.spad + @echo P3 making ${MID}/INFCLSPS.nrlib/code.o from ${MID}/INFCLSPS.spad + @ (cd ${MID} ; \ + if [ -z "${NOISE}" ] ; then \ + echo -e ")lib ${INFCLSPSDEPS} \n )co INFCLSPS.spad" \ + | ${INTERPSYS} ; \ + else \ + echo -e ")lib ${INFCLSPSDEPS} \n )co INFCLSPS.spad" \ + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) +@ \section{Broken Files} These files are Aldor files @@ -17470,6 +17551,7 @@ SPADHELP=\ ${HELP}/InfClsPt.help \ ${HELP}/InfinitlyClosePoint.help \ ${HELP}/InfinitlyClosePointCategory.help \ + ${HELP}/InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField.help \ ${HELP}/Integer.help \ ${HELP}/IntegerCombinatoricFunctions.help \ ${HELP}/IntegerLinearDependence.help \ @@ -17540,6 +17622,7 @@ SPADHELP=\ ${HELP}/ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField.help \ ${HELP}/ProjectiveSpace.help \ ${HELP}/ProjectiveSpaceCategory.help \ + ${HELP}/PseudoAlgebraicClosureOfAlgExtOfRationalNumber.help \ ${HELP}/PseudoAlgebraicClosureOfAlgExtOfRationalNumberCategory.help \ ${HELP}/PseudoAlgebraicClosureOfFiniteField.help \ ${HELP}/PseudoAlgebraicClosureOfFiniteFieldCategory.help \ @@ -17664,6 +17747,7 @@ REGRESS= \ InfClsPt.regress \ InfinitlyClosePoint.regress \ InfinitlyClosePointCategory.regress \ + InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField.regress \ Integer.regress \ IntegerCombinatoricFunctions.regress \ IntegerLinearDependence.regress \ @@ -17720,6 +17804,7 @@ REGRESS= \ ProjectivePlaneOverPseudoAlgebraicClosureOfFiniteField.regress \ ProjectiveSpace.regress \ ProjectiveSpaceCategory.regress \ + PseudoAlgebraicClosureOfAlgExtOfRationalNumber.regress \ PseudoAlgebraicClosureOfAlgExtOfRationalNumberCategory.regress \ PseudoAlgebraicClosureOfFiniteField.regress \ PseudoAlgebraicClosureOfFiniteFieldCategory.regress \ @@ -18474,8 +18559,28 @@ ${HELP}/InfinitlyClosePointCategory.help: ${BOOKS}/bookvol10.2.pamphlet >${INPUT}/InfinitlyClosePointCategory.input @echo "InfinitlyClosePointCategory (INFCLCT)" >>${HELPFILE} +${HELP}/InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField.help: \ + ${BOOKS}/bookvol10.3.pamphlet + @echo 7420 create \ + InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField.help \ + from ${BOOKS}/bookvol10.3.pamphlet + @${TANGLE} \ + -R"InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField.help" \ + ${BOOKS}/bookvol10.3.pamphlet \ + >${HELP}/InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField.help + @cp \ + ${HELP}/InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField.help \ + ${HELP}/INFCLSPS.help + @${TANGLE} \ + -R"InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField.input" \ + ${BOOKS}/bookvol10.3.pamphlet \ + >${INPUT}/InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField.input + @echo \ + "InfinitlyClosePointOverPseudoAlgebraicClosureOfFiniteField (INFCLSPS)" \ + >>${HELPFILE} + ${HELP}/Integer.help: ${BOOKS}/bookvol10.3.pamphlet - @echo 7420 create Integer.help from ${BOOKS}/bookvol10.3.pamphlet + @echo 7425 create Integer.help from ${BOOKS}/bookvol10.3.pamphlet @${TANGLE} -R"Integer.help" ${BOOKS}/bookvol10.3.pamphlet \ >${HELP}/Integer.help @cp ${HELP}/Integer.help ${HELP}/INT.help @@ -19215,6 +19320,26 @@ ${HELP}/ProjectiveSpaceCategory.help: ${BOOKS}/bookvol10.2.pamphlet >${INPUT}/ProjectiveSpaceCategory.input @echo "ProjectiveSpaceCategory (PRSPCAT)" >>${HELPFILE} +${HELP}/PseudoAlgebraicClosureOfAlgExtOfRationalNumber.help: \ + ${BOOKS}/bookvol10.3.pamphlet + @echo 7940 create \ + PseudoAlgebraicClosureOfAlgExtOfRationalNumber.help from \ + ${BOOKS}/bookvol10.3.pamphlet + @${TANGLE} \ + -R"PseudoAlgebraicClosureOfAlgExtOfRationalNumber.help" \ + ${BOOKS}/bookvol10.3.pamphlet \ + >${HELP}/PseudoAlgebraicClosureOfAlgExtOfRationalNumber.help + @cp \ + ${HELP}/PseudoAlgebraicClosureOfAlgExtOfRationalNumber.help \ + ${HELP}/PACEXT.help + @${TANGLE} \ + -R"PseudoAlgebraicClosureOfAlgExtOfRationalNumber.input" \ + ${BOOKS}/bookvol10.3.pamphlet \ + >${INPUT}/PseudoAlgebraicClosureOfAlgExtOfRationalNumber.input + @echo \ + "PseudoAlgebraicClosureOfAlgExtOfRationalNumber (PACEXT)" \ + >>${HELPFILE} + ${HELP}/PseudoAlgebraicClosureOfAlgExtOfRationalNumberCategory.help: \ ${BOOKS}/bookvol10.2.pamphlet @echo 7940 create \ diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 4aced9c..88170dc 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -2763,5 +2763,7 @@ books/bookvol10.2 add chunk names to final list for INFCLCT
books/ps/v103infinitlyclosepoint.eps change to lowercase
20100518.08.tpd.patch books/bookvol10.3 add InfClsPt
+20100520.01.tpd.patch +books/bookvol10.3 add PACEXT, INFCLSPS