diff --git a/books/bookvol10.2.pamphlet b/books/bookvol10.2.pamphlet index 0cdf86d..2680966 100644 --- a/books/bookvol10.2.pamphlet +++ b/books/bookvol10.2.pamphlet @@ -48081,6 +48081,7 @@ digraph pic { --S 1 of 1 )show PseudoAlgebraicClosureOfPerfectFieldCategory +--R --R PseudoAlgebraicClosureOfPerfectFieldCategory is a category constructor --R Abbreviation for PseudoAlgebraicClosureOfPerfectFieldCategory is PACPERC --R This constructor is exposed in this frame. @@ -48098,18 +48099,15 @@ digraph pic { --R associates? : (%,%) -> Boolean coerce : Fraction Integer -> % --R coerce : % -> % coerce : Integer -> % --R coerce : % -> OutputForm conjugate : % -> % ---R definingPolynomial : % -> SUP % definingPolynomial : () -> SUP % ---R extDegree : % -> PI factor : % -> Factored % +--R extDegree : % -> PositiveInteger factor : % -> Factored % --R fullOutput : % -> OutputForm gcd : List % -> % --R gcd : (%,%) -> % ground? : % -> Boolean --R hash : % -> SingleInteger inv : % -> % --R latex : % -> String lcm : List % -> % ---R lcm : (%,%) -> % lift : (%,%) -> SUP % ---R lift : % -> SUP % maxTower : List % -> % ---R newElement : (SUP %,Symbol) -> % one? : % -> Boolean ---R previousTower : % -> % prime? : % -> Boolean ---R ?quo? : (%,%) -> % recip : % -> Union(%,"failed") ---R reduce : SUP % -> % ?rem? : (%,%) -> % +--R lcm : (%,%) -> % maxTower : List % -> % +--R one? : % -> Boolean previousTower : % -> % +--R prime? : % -> Boolean ?quo? : (%,%) -> % +--R recip : % -> Union(%,"failed") ?rem? : (%,%) -> % --R sample : () -> % setTower! : % -> Void --R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored % --R squareFreePart : % -> % unit? : % -> Boolean @@ -48119,6 +48117,8 @@ digraph pic { --R ?**? : (%,NonNegativeInteger) -> % --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger +--R definingPolynomial : % -> SparseUnivariatePolynomial % +--R definingPolynomial : () -> SparseUnivariatePolynomial % --R distinguishedRootsOf : (SparseUnivariatePolynomial %,%) -> List % --R divide : (%,%) -> Record(quotient: %,remainder: %) --R euclideanSize : % -> NonNegativeInteger @@ -48127,9 +48127,13 @@ digraph pic { --R extendedEuclidean : (%,%,%) -> Union(Record(coef1: %,coef2: %),"failed") --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) --R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R lift : (%,%) -> SparseUnivariatePolynomial % +--R lift : % -> SparseUnivariatePolynomial % --R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R newElement : (SUP %,%,Symbol) -> % +--R newElement : (SparseUnivariatePolynomial %,Symbol) -> % +--R newElement : (SparseUnivariatePolynomial %,%,Symbol) -> % --R principalIdeal : List % -> Record(coef: List %,generator: %) +--R reduce : SparseUnivariatePolynomial % -> % --R subtractIfCan : (%,%) -> Union(%,"failed") --R unitNormal : % -> Record(unit: %,canonical: %,associate: %) --R @@ -48348,7 +48352,17 @@ These exports come from \refto{DivisionRing}(): ++ 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. -PseudoAlgebraicClosureOfPerfectFieldCategory() : Category == Field with +PseudoAlgebraicClosureOfPerfectFieldCategory() : Category == PUB where + + INT ==> Integer + K ==> Fraction Integer + NNI ==> NonNegativeInteger + SUP ==> SparseUnivariatePolynomial + BOOLEAN ==> Boolean + PI ==> PositiveInteger + FFFACTSE ==> FiniteFieldFactorizationWithSizeParseBySideEffect + + PUB ==> Field with definingPolynomial: () -> SUP(%) definingPolynomial: % -> SUP % @@ -55563,6 +55577,7 @@ digraph pic { --S 1 of 1 )show PseudoAlgebraicClosureOfFiniteFieldCategory +--R --R PseudoAlgebraicClosureOfFiniteFieldCategory is a category constructor --R Abbreviation for PseudoAlgebraicClosureOfFiniteFieldCategory is PACFFC --R This constructor is exposed in this frame. @@ -55582,22 +55597,19 @@ digraph pic { --R coerce : Fraction Integer -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm --R conjugate : % -> % createPrimitiveElement : () -> % ---R definingPolynomial : () -> SUP % definingPolynomial : % -> SUP % ---R differentiate : % -> % extDegree : % -> PI +--R differentiate : % -> % extDegree : % -> PositiveInteger --R factor : % -> Factored % fullOutput : % -> OutputForm --R gcd : List % -> % gcd : (%,%) -> % --R ground? : % -> Boolean hash : % -> SingleInteger --R index : PositiveInteger -> % init : () -> % --R inv : % -> % latex : % -> String --R lcm : List % -> % lcm : (%,%) -> % ---R lift : % -> SUP % lift : (%,%) -> SUP % --R lookup : % -> PositiveInteger maxTower : List % -> % ---R newElement : (SUP %,Symbol) -> % one? : % -> Boolean ---R order : % -> PositiveInteger previousTower : % -> % ---R prime? : % -> Boolean primeFrobenius : % -> % ---R primitive? : % -> Boolean primitiveElement : () -> % ---R ?quo? : (%,%) -> % random : () -> % ---R recip : % -> Union(%,"failed") reduce : SUP % -> % +--R one? : % -> Boolean order : % -> PositiveInteger +--R previousTower : % -> % prime? : % -> Boolean +--R primeFrobenius : % -> % primitive? : % -> Boolean +--R primitiveElement : () -> % ?quo? : (%,%) -> % +--R random : () -> % recip : % -> Union(%,"failed") --R ?rem? : (%,%) -> % sample : () -> % --R setTower! : % -> Void size : () -> NonNegativeInteger --R sizeLess? : (%,%) -> Boolean squareFree : % -> Factored % @@ -55610,6 +55622,8 @@ digraph pic { --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") --R conditionP : Matrix % -> Union(Vector %,"failed") +--R definingPolynomial : () -> SparseUnivariatePolynomial % +--R definingPolynomial : % -> SparseUnivariatePolynomial % --R differentiate : (%,NonNegativeInteger) -> % --R discreteLog : % -> NonNegativeInteger --R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") @@ -55622,12 +55636,16 @@ digraph pic { --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) --R factorsOfCyclicGroupSize : () -> List Record(factor: Integer,exponent: Integer) --R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R lift : % -> SparseUnivariatePolynomial % +--R lift : (%,%) -> SparseUnivariatePolynomial % --R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R newElement : (SUP %,%,Symbol) -> % +--R newElement : (SparseUnivariatePolynomial %,%,Symbol) -> % +--R newElement : (SparseUnivariatePolynomial %,Symbol) -> % --R nextItem : % -> Union(%,"failed") --R order : % -> OnePointCompletion PositiveInteger --R primeFrobenius : (%,NonNegativeInteger) -> % --R principalIdeal : List % -> Record(coef: List %,generator: %) +--R reduce : SparseUnivariatePolynomial % -> % --R representationType : () -> Union("prime",polynomial,normal,cyclic) --R subtractIfCan : (%,%) -> Union(%,"failed") --R tableForDiscreteLogarithm : Integer -> Table(PositiveInteger,NonNegativeInteger) @@ -58193,6 +58211,7 @@ digraph pic { --S 1 of 1 )show PseudoAlgebraicClosureOfRationalNumberCategory +--R --R PseudoAlgebraicClosureOfRationalNumberCategory is a category constructor --R Abbreviation for PseudoAlgebraicClosureOfRationalNumberCategory is PACRATC --R This constructor is exposed in this frame. @@ -58213,19 +58232,16 @@ digraph pic { --R coerce : Fraction Integer -> % coerce : Integer -> % --R coerce : Fraction Integer -> % coerce : % -> % --R coerce : Integer -> % coerce : % -> OutputForm ---R conjugate : % -> % definingPolynomial : % -> SUP % ---R definingPolynomial : () -> SUP % dimension : () -> CardinalNumber ---R extDegree : % -> PI factor : % -> Factored % +--R conjugate : % -> % dimension : () -> CardinalNumber +--R extDegree : % -> PositiveInteger factor : % -> Factored % --R fullOutput : % -> OutputForm gcd : List % -> % --R gcd : (%,%) -> % ground? : % -> Boolean --R hash : % -> SingleInteger inGroundField? : % -> Boolean --R inv : % -> % latex : % -> String --R lcm : List % -> % lcm : (%,%) -> % ---R lift : (%,%) -> SUP % lift : % -> SUP % ---R maxTower : List % -> % newElement : (SUP %,Symbol) -> % ---R one? : % -> Boolean previousTower : % -> % ---R prime? : % -> Boolean ?quo? : (%,%) -> % ---R recip : % -> Union(%,"failed") reduce : SUP % -> % +--R maxTower : List % -> % one? : % -> Boolean +--R previousTower : % -> % prime? : % -> Boolean +--R ?quo? : (%,%) -> % recip : % -> Union(%,"failed") --R ?rem? : (%,%) -> % retract : % -> Fraction Integer --R retract : % -> Fraction Integer retract : % -> Integer --R sample : () -> % setTower! : % -> Void @@ -58241,6 +58257,8 @@ digraph pic { --R ?^? : (%,NonNegativeInteger) -> % --R characteristic : () -> NonNegativeInteger --R charthRoot : % -> Union(%,"failed") if Fraction Integer has CHARNZ or Fraction Integer has FINITE +--R definingPolynomial : % -> SparseUnivariatePolynomial % +--R definingPolynomial : () -> SparseUnivariatePolynomial % --R degree : % -> OnePointCompletion PositiveInteger --R discreteLog : (%,%) -> Union(NonNegativeInteger,"failed") if Fraction Integer has CHARNZ or Fraction Integer has FINITE --R distinguishedRootsOf : (SparseUnivariatePolynomial %,%) -> List % @@ -58252,12 +58270,16 @@ digraph pic { --R extendedEuclidean : (%,%) -> Record(coef1: %,coef2: %,generator: %) --R extensionDegree : () -> OnePointCompletion PositiveInteger --R gcdPolynomial : (SparseUnivariatePolynomial %,SparseUnivariatePolynomial %) -> SparseUnivariatePolynomial % +--R lift : (%,%) -> SparseUnivariatePolynomial % +--R lift : % -> SparseUnivariatePolynomial % --R multiEuclidean : (List %,%) -> Union(List %,"failed") ---R newElement : (SUP %,%,Symbol) -> % +--R newElement : (SparseUnivariatePolynomial %,Symbol) -> % +--R newElement : (SparseUnivariatePolynomial %,%,Symbol) -> % --R order : % -> OnePointCompletion PositiveInteger if Fraction Integer has CHARNZ or Fraction Integer has FINITE --R primeFrobenius : % -> % if Fraction Integer has CHARNZ or Fraction Integer has FINITE --R primeFrobenius : (%,NonNegativeInteger) -> % if Fraction Integer has CHARNZ or Fraction Integer has FINITE --R principalIdeal : List % -> Record(coef: List %,generator: %) +--R reduce : SparseUnivariatePolynomial % -> % --R retractIfCan : % -> Union(Fraction Integer,"failed") --R retractIfCan : % -> Union(Fraction Integer,"failed") --R retractIfCan : % -> Union(Integer,"failed") diff --git a/books/bookvol10.4.pamphlet b/books/bookvol10.4.pamphlet index 1e25963..e61c52c 100644 --- a/books/bookvol10.4.pamphlet +++ b/books/bookvol10.4.pamphlet @@ -24686,6 +24686,187 @@ FactoringUtilities(E,OV,R,P) : C == T where "FACUTIL" -> "PFECAT" @ + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{package FACTRN FactorisationOverPseudoAlgebraicClosureOfRationalNumber} +<>= +)set break resume +)sys rm -f FactorisationOverPseudoAlgebraicClosureOfRationalNumber.output +)spool FactorisationOverPseudoAlgebraicClosureOfRationalNumber.output +)set message test on +)set message auto off +)clear all + +--S 1 of 1 +)show FactorisationOverPseudoAlgebraicClosureOfRationalNumber +--R +--R FactorisationOverPseudoAlgebraicClosureOfRationalNumber K: PseudoAlgebraicClosureOfRationalNumberCategory is a package constructor +--R Abbreviation for FactorisationOverPseudoAlgebraicClosureOfRationalNumber is FACTRN +--R This constructor is exposed in this frame. +--R Issue )edit bookvol10.4.pamphlet to see algebra source code for FACTRN +--R +--R------------------------------- Operations -------------------------------- +--R factor : (SparseUnivariatePolynomial K,K) -> Factored SparseUnivariatePolynomial K +--R factorSqFree : (SparseUnivariatePolynomial K,K) -> Factored SparseUnivariatePolynomial K +--R +--E 1 + +)spool +)lisp (bye) +@ +<>= +==================================================================== +FactorisationOverPseudoAlgebraicClosureOfRationalNumber examples +==================================================================== + +See Also: +o )show FactorisationOverPseudoAlgebraicClosureOfRationalNumber + +@ +\pagehead{FactorisationOverPseudoAlgebraicClosureOfRationalNumber}{FACTRN} +\pagepic{ps/v104factorisationoverpseudoalgebraicclosureofrationalnumber.ps}{FACTRN}{1.00} + +{\bf Exports:}\\ +\begin{tabular}{ll} +\cross{FACTRN}{factor} & +\cross{FACTRN}{factorSqFree} +\end{tabular} + +<>= +)abbrev package FACTRN FactorisationOverPseudoAlgebraicClosureOfRationalNumber +++ Author: Gaetan Hache +++ Date Created: September 1996 +++ Date Last Updated: May, 2010, by Tim Daly +++ Description: +++ Part of the Package for Algebraic Function Fields in one variable PAFF +FactorisationOverPseudoAlgebraicClosureOfRationalNumber(K):Exports == + Implementation where + K:PseudoAlgebraicClosureOfRationalNumberCategory + SUP ==> SparseUnivariatePolynomial + Q ==> Fraction Integer + NNI ==> NonNegativeInteger + UP ==> SUP(K) + UPUP ==> SUP(SUP(K)) + + Exports ==> with + factor: (UP,K) -> Factored UP + factorSqFree: (UP,K) -> Factored UP + + Implementation ==> add + up2Rat: UP -> SUP(Q) + rat2up: SUP(Q) -> UP + + factRat: UP -> Factored UP + liftPoly: (UP, K) -> UPUP + + liftDefPoly: UP -> UPUP + + norm: (UP, K) -> UP + + factParPert: ( UP,K,K) -> Factored UP + + trans: (UP, K) -> UP + + swapCoefWithVar: ( UP , NNI) -> UPUP + + frRat2frUP: Factored SUP(Q) -> Factored UP + + factor(pol,a)== + polSF:= squareFree pol + reduce("*" , _ + [ factorSqFree(fr.fctr,a)**(fr.xpnt pretend NNI) _ + for fr in factorList polSF] , 1) + + factorSqFree(pol,a)== + ratPol:SUP(Q) + ground? a => + ratPol:= up2Rat pol + frRat2frUP factor( ratPol )$RationalFactorize( SUP(Q) ) :: Factored UP + nPol:= norm(pol,a) + ta:=previousTower a + factN := factor( nPol , ta ) + lfactnPol:= factorList factN + G:UP:=1 + L: Factored UP:= 1 + for fr in lfactnPol repeat + G:= gcd( [ pol , fr.fctr ] ) + pol:= pol quo$UP G + if one? fr.xpnt then + L := L * flagFactor( G, 1 ,"prime")$Factored(UP) + else + L := L * factParPert( G, a, a ) + L + + factParPert(pol, a, b)== + polt:=trans(pol,b) + frpol:= factorList factor(polt,a) + sl:= [ fr.fctr for fr in frpol ] + slt:= [ trans(p , -b) for p in sl ] + nfrpol:= [ flagFactor( p, fr.xpnt , fr.flg )$Factored(UP) _ + for p in slt for fr in frpol ] + reduce("*" , nfrpol) + + frRat2frUP(fr)== + frpol:= factorList fr + sl:= [ fr.fctr for fr in frpol ] + slt:= [ rat2up p for p in sl ] + nfrpol:= [ flagFactor( p, fr.xpnt , fr.flg )$Factored(UP) _ + for p in slt for fr in frpol ] + reduce("*" , nfrpol) + + up2Rat(pol)== + zero?(pol) => 0 + d:=degree pol + a:Q:= retract(leadingCoefficient pol)@Q + monomial(a,d)$SUP(Q) + up2Rat(reductum pol) + + rat2up(pol)== + zero?(pol) => 0 + d:=degree pol + a:K:=(leadingCoefficient pol) :: K + monomial(a,d)$UP + rat2up(reductum pol) + + trans(pol,a)== + zero? pol => 0 + lc:=leadingCoefficient pol + d:=degree pol + + lc*( monomial(1,1)$UP + monomial(-a,0)$UP )**d + trans(reductum pol , a) + + liftDefPoly(pol)== + zero?(pol) => 0 + lc:= leadingCoefficient pol + d:= degree pol + monomial( monomial(lc,0)$UP , d )$UPUP + liftDefPoly reductum pol + + norm(pol,a)== + lpol:=liftPoly(pol,a) + defPol:=definingPolynomial a + ldefPol:=liftDefPoly defPol + resultant(ldefPol,lpol) + + swapCoefWithVar(coef,n)== + ground? coef => + monomial( monomial( retract coef , n)$SUP(K) , 0)$UPUP + lcoef:=leadingCoefficient(coef) + d:=degree(coef) + monomial( monomial(lcoef, n )$SUP(K) , d)$UPUP + _ + swapCoefWithVar( reductum coef, n ) + + liftPoly(pol,a)== + zero? pol => 0 + lcoef:=leadingCoefficient pol + n:=degree pol + liftCoef:= lift(lcoef,a)$K + swapCoefWithVar(liftCoef , n) + liftPoly( reductum pol , a ) + +@ +<>= +"FACTRN" [color="#FF4488",href="bookvol10.4.pdf#nameddest=FACTRN"] +"PFECAT" [color="#4488FF",href="bookvol10.2.pdf#nameddest=PFECAT"] +"FACTRN" -> "PFECAT" + +@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{package FGLMICPK FGLMIfCanPackage} \pagehead{FGLMIfCanPackage}{FGLMICPK} @@ -154393,6 +154574,7 @@ ZeroDimensionalSolvePackage(R,ls,ls2): Exports == Implementation where <> <> <> +<> <> <> <> diff --git a/books/bookvol5.pamphlet b/books/bookvol5.pamphlet index fb70a81..94b8a73 100644 --- a/books/bookvol5.pamphlet +++ b/books/bookvol5.pamphlet @@ -23908,6 +23908,7 @@ otherwise the new algebra won't be loaded by the interpreter when needed. (|ExpressionToUnivariatePowerSeries| . EXPR2UPS) (|Factored| . FR) (|FactoredFunctions2| . FR2) + (|FactorisationOverPseudoAlgebraicClosureOfRationalNumber| . FACTRN) (|File| . FILE) (|FileName| . FNAME) (|FiniteAbelianMonoidRingFunctions2| . FAMR2) diff --git a/books/ps/v104factorisationoverpseudoalgebraicclosureofrationalnumber.ps b/books/ps/v104factorisationoverpseudoalgebraicclosureofrationalnumber.ps new file mode 100644 index 0000000..c536b77 --- /dev/null +++ b/books/ps/v104factorisationoverpseudoalgebraicclosureofrationalnumber.ps @@ -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 116 152 +%%PageOrientation: Portrait +0 0 1 beginpage +gsave +36 36 80 116 boxprim clip newpath +1 1 set_scale 0 rotate 40 40 translate +% FACTRN +gsave +[ /Rect [ 0 72 72 108 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.4.pdf#nameddest=FACTRN) >> + /Subtype /Link +/ANN pdfmark +0.939 0.733 1.000 nodecolor +newpath 72 108 moveto +0 108 lineto +0 72 lineto +72 72 lineto +closepath fill +1 setlinewidth +filled +0.939 0.733 1.000 nodecolor +newpath 72 108 moveto +0 108 lineto +0 72 lineto +72 72 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +8 85.9 moveto 56 (FACTRN) alignedtext +grestore +% PFECAT +gsave +[ /Rect [ 1 0 71 36 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.2.pdf#nameddest=PFECAT) >> + /Subtype /Link +/ANN pdfmark +0.606 0.733 1.000 nodecolor +newpath 71 36 moveto +1 36 lineto +1 0 lineto +71 0 lineto +closepath fill +1 setlinewidth +filled +0.606 0.733 1.000 nodecolor +newpath 71 36 moveto +1 36 lineto +1 0 lineto +71 0 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +9 13.9 moveto 54 (PFECAT) alignedtext +grestore +% FACTRN->PFECAT +gsave +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 36 72 moveto +36 64 36 55 36 46 curveto +stroke +0.000 0.000 0.000 edgecolor +newpath 39.5 46 moveto +36 36 lineto +32.5 46 lineto +closepath fill +1 setlinewidth +solid +0.000 0.000 0.000 edgecolor +newpath 39.5 46 moveto +36 36 lineto +32.5 46 lineto +closepath stroke +grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +%%BoundingBox: 36 36 116 152 +end +restore +%%EOF diff --git a/changelog b/changelog index 2e69382..c0c102e 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,9 @@ +20100508 tpd src/axiom-website/patches.html 20100508.01.tpd.patch +20100508 tpd v104factorisationoverpseudoalgebraicclosureofrationalnumber.ps add +20100508 tpd src/algebra/Makefile add FACTRN test and help +20100508 tpd books/bookvol5 add FACTRN +20100508 tpd books/bookvol10.4 add FACTRN +20100508 tpd books/bookvol10.2 fix PseudoAlgebraicClosureOfPerfectFieldCategory 20100507 tpd src/axiom-website/patches.html 20100507.01.tpd.patch 20100507 tpd src/algebra/Makefile document and test Interval 20100507 tpd books/bookvol10.3 document and test Interval diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index 27138dd..3207f8e 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -8732,13 +8732,13 @@ LAYER11=\ @ \subsection{Layer12} -Depends on: DIOPS DPOLCAT FINRALG FRAC RMATCAT RRCC UPXSCAT FFSQFR\\ +Depends on: DIOPS DPOLCAT FINRALG FRAC RMATCAT RRCC UPXSCAT FFSQFR PACRATC\\ Used by next layer: DIAGG FRAMALG MDAGG SMATCAT UPXSCCA <>= LAYER12=\ ${OUT}/DIAGG.o ${OUT}/DIAGG-.o ${OUT}/DSMP.o ${OUT}/EXPUPXS.o \ - ${OUT}/FFFACTSE.o \ + ${OUT}/FACTRN.o ${OUT}/FFFACTSE.o \ ${OUT}/FRAMALG.o ${OUT}/FRAMALG-.o ${OUT}/MDAGG.o ${OUT}/ODPOL.o \ ${OUT}/PLOT.o ${OUT}/RMCAT2.o ${OUT}/ROIRC.o ${OUT}/SDPOL.o \ ${OUT}/SMATCAT.o ${OUT}/SMATCAT-.o ${OUT}/TUBETOOL.o ${OUT}/UPXSCCA.o \ @@ -8809,6 +8809,24 @@ LAYER12=\ /*"EXPUPXS" -> {"EVALAB"; "IEVALAB"; "DIFEXT"; "FLINEXP"; "PATAB"; "FPATMAB"}*/ /*"EXPUPXS" -> {"TYPE"; "PFECAT"}*/ +"FACTRN" [color="#FF4488",href="bookvol10.4.pdf#nameddest=FACTRN"] +"FACTRN" -> "PACRATC" +/*"FACTRN" -> {"PACPERC"; "FIELD"; "EUCDOM"; "PID"; "GCDDOM"}*/ +/*"FACTRN" -> {"INTDOM"; "COMRING"; "RING"; "RNG"; "ABELGRP"; "CABMON"}*/ +/*"FACTRN" -> {"ABELMON"; "ABELSG"; "SETCAT"; "BASTYPE"; "KOERCE"; "SGROUP"}*/ +/*"FACTRN" -> {"MONOID"; "LMODULE"; "BMODULE"; "RMODULE"; "ALGEBRA"}*/ +/*"FACTRN" -> {"MODULE"; "ENTIRER"; "UFD"; "DIVRING"; "CHARZ"; "RETRACT"}*/ +/*"FACTRN" -> {"XF"; "VSPACE"; "FPC"; "CHARNZ"; "FINITE"; "UPOLYC"}*/ +/*"FACTRN" -> {"POLYCAT"; "PDRING"; "FAMR"; "AMR"; "FRETRCT"; "EVALAB"}*/ +/*"FACTRN" -> {"IEVALAB"; "FLINEXP"; "LINEXP"; "ORDSET"; "KONVERT"; "PATMAB"}*/ +/*"FACTRN" -> {"PFECAT"}*/ +/*"FACTRN" -> {"ELTAB"; "DIFRING"; "DIFEXT"; "STEP"; "LSAGG"; "STAGG"}*/ +/*"FACTRN" -> {"URAGG" "RCAGG"; "HOAGG"; "AGG"; "TYPE"; "LNAGG"; "IXAGG"}*/ +/*"FACTRN" -> {"ELTAGG" "CLAGG"; "FLAGG"; "ELAGG"; "OM"; "INT"; "LIST"} */ +/*"FACTRN" -> {"ILIST" "LSAGG-"; "INS"; "OINTDOM"; "ORDRING"; "OAGROUP"}*/ +/*"FACTRN" -> {"OCAMON" "OAMON"; "OASGP"; "CFCAT"; "REAL"; "QFCAT"}*/ +/*"FACTRN" -> {"FEVALAB""PATAB"; "FPATMAB"}*/ + "FFFACTSE" [color="#FF4488",href="bookvol10.4.pdf#nameddest=FFFACTSE"] /*"FFFACTSE" -> {"FFIELDC"; "FPC"; "FIELD"; "EUCDOM"; "PID"}*/ /*"FFFACTSE" -> {"GCDDOM"; "INTDOM"; "COMRING"; "RING"; "RNG"}*/ @@ -15891,6 +15909,21 @@ ${MID}/PACRATC.nrlib/code.o: ${MID}/PACRATC.spad | ${INTERPSYS} >${TMP}/trace ; \ fi ) @ +<>= + +FACTRNDEPS = PACPERC PACRATC + +${MID}/FACTRN.nrlib/code.o: ${MID}/FACTRN.spad + @echo P3 making ${MID}/FACTRN.nrlib/code.o from ${MID}/FACTRN.spad + @ (cd ${MID} ; \ + if [ -z "${NOISE}" ] ; then \ + echo -e ")lib ${FACTRNDEPS} \n )co FACTRN.spad" \ + | ${INTERPSYS} ; \ + else \ + echo -e ")lib ${FACTRNDEPS} \n )co FACTRN.spad" \ + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) +@ \section{Broken Files} These files are Aldor files @@ -16627,6 +16660,7 @@ SPADHELP=\ ${HELP}/EuclideanGroebnerBasisPackage.help \ ${HELP}/Factored.help \ ${HELP}/FactoredFunctions2.help \ + ${HELP}/FactorisationOverPseudoAlgebraicClosureOfRationalNumber.help \ ${HELP}/File.help \ ${HELP}/FileName.help \ ${HELP}/FiniteFieldFactorizationWithSizeParseBySideEffect.help \ @@ -16790,6 +16824,7 @@ REGRESS= \ EuclideanGroebnerBasisPackage.regress \ Factored.regress \ FactoredFunctions2.regress \ + FactorisationOverPseudoAlgebraicClosureOfRationalNumber.regress \ File.regress \ FileName.regress \ FiniteFieldFactorizationWithSizeParseBySideEffect.regress \ @@ -17236,6 +17271,26 @@ ${HELP}/FactoredFunctions2.help: ${BOOKS}/bookvol10.4.pamphlet >${INPUT}/FactoredFunctions2.input @echo "FactoredFunctions2 (FR2)" >>${HELPFILE} +${HELP}/FactorisationOverPseudoAlgebraicClosureOfRationalNumber.help: \ + ${BOOKS}/bookvol10.4.pamphlet + @echo 7285 create \ + FactorisationOverPseudoAlgebraicClosureOfRationalNumber.help from \ + ${BOOKS}/bookvol10.4.pamphlet + @${TANGLE} \ + -R"FactorisationOverPseudoAlgebraicClosureOfRationalNumber.help" \ + ${BOOKS}/bookvol10.4.pamphlet \ + >${HELP}/FactorisationOverPseudoAlgebraicClosureOfRationalNumber.help + @cp \ + ${HELP}/FactorisationOverPseudoAlgebraicClosureOfRationalNumber.help \ + ${HELP}/FACTRN.help + @${TANGLE} \ + -R"FactorisationOverPseudoAlgebraicClosureOfRationalNumber.input" \ + ${BOOKS}/bookvol10.4.pamphlet \ + >${INPUT}/FactorisationOverPseudoAlgebraicClosureOfRationalNumber.input + @echo \ + "FactorisationOverPseudoAlgebraicClosureOfRationalNumber (FACTRN)" \ + >>${HELPFILE} + ${HELP}/File.help: ${BOOKS}/bookvol10.3.pamphlet @echo 7290 create File.help from ${BOOKS}/bookvol10.3.pamphlet @${TANGLE} -R"File.help" ${BOOKS}/bookvol10.3.pamphlet \ diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index ead9def..6e39d03 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -2673,5 +2673,7 @@ books/bookvol10.2 PseudoAlgebraicClosureOfRationalNumberCategory added
src/axiom-website/documentation.html quote Bill Hart on LP
20100507.01.tpd.patch books/bookvol10.3 document and test Interval
+20100508.01.tpd.patch +books/bookvol10.2 fix PseudoAlgebraicClosureOfPerfectFieldCategory