diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet index 4f02950..81fdeb6 100644 --- a/books/bookvol10.3.pamphlet +++ b/books/bookvol10.3.pamphlet @@ -81547,6 +81547,103 @@ Product (A:SetCategory,B:SetCategory) : C == T @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{domain PROJPL ProjectivePlane} +<>= +)set break resume +)sys rm -f ProjectivePlane.output +)spool ProjectivePlane.output +)set message test on +)set message auto off +)clear all + +--S 1 of 1 +)show ProjectivePlane +--R ProjectivePlane K: Field is a domain constructor +--R Abbreviation for ProjectivePlane is PROJPL +--R This constructor is exposed in this frame. +--R Issue )edit bookvol10.3.pamphlet to see algebra source code for PROJPL +--R +--R------------------------------- Operations -------------------------------- +--R ?=? : (%,%) -> Boolean coerce : List K -> % +--R coerce : % -> List K coerce : % -> OutputForm +--R conjugate : % -> % definingField : % -> K +--R degree : % -> PositiveInteger ?.? : (%,Integer) -> K +--R hash : % -> SingleInteger homogenize : % -> % +--R homogenize : (%,Integer) -> % lastNonNul : % -> Integer +--R lastNonNull : % -> Integer latex : % -> String +--R list : % -> List K orbit : % -> List % +--R pointValue : % -> List K projectivePoint : List K -> % +--R rational? : % -> Boolean setelt : (%,Integer,K) -> K +--R ?~=? : (%,%) -> Boolean +--R conjugate : (%,NonNegativeInteger) -> % +--R orbit : (%,NonNegativeInteger) -> List % +--R rational? : (%,NonNegativeInteger) -> Boolean +--R removeConjugate : List % -> List % +--R removeConjugate : (List %,NonNegativeInteger) -> List % +--R +--E 1 + +)spool +)lisp (bye) +@ +<>= +==================================================================== +ProjectivePlane examples +==================================================================== + +See Also: +o )show ProjectivePlane + +@ +\pagehead{ProjectivePlane}{PROJPL} +\pagepic{ps/v103projectiveplane.ps}{PROJPL}{1.00} + +{\bf Exports:}\\ +\begin{tabular}{lllll} +\cross{PROJPL}{?.?} & +\cross{PROJPL}{?=?} & +\cross{PROJPL}{?\~{}=?} & +\cross{PROJPL}{coerce} & +\cross{PROJPL}{conjugate} \\ +\cross{PROJPL}{definingField} & +\cross{PROJPL}{degree} & +\cross{PROJPL}{hash} & +\cross{PROJPL}{homogenize} & +\cross{PROJPL}{lastNonNul} \\ +\cross{PROJPL}{lastNonNull} & +\cross{PROJPL}{latex} & +\cross{PROJPL}{list} & +\cross{PROJPL}{orbit} & +\cross{PROJPL}{pointValue} \\ +\cross{PROJPL}{projectivePoint} & +\cross{PROJPL}{rational?} & +\cross{PROJPL}{removeConjugate} & +\cross{PROJPL}{setelt} & + +\end{tabular} + +<>= +)abbrev domain PROJPL ProjectivePlane +++ Author: Gaetan Hache +++ Date Created: 17 nov 1992 +++ Date Last Updated: May 2010 by Tim Daly +++ Description: +++ This is part of the PAFF package, related to projective space. +ProjectivePlane(K):Exports == Implementation where + K:Field + + Exports ==> ProjectiveSpaceCategory(K) + + Implementation ==> ProjectiveSpace(3,K) + +@ +<>= +"PROJPL" [color="#88FF44",href="bookvol10.3.pdf#nameddest=PROJPL"]; +"PROJSP" [color="#88FF44",href="bookvol10.3.pdf#nameddest=PROJSP"]; +"PROJPL" -> "PROJSP" + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{domain PROJSP ProjectiveSpace} <>= )set break resume @@ -81602,7 +81699,7 @@ o )show ProjectiveSpace \begin{tabular}{lllll} \cross{PROJSP}{?.?} & \cross{PROJSP}{?=?} & -\cross{PROJSP}{?~=?} & +\cross{PROJSP}{?\~{}=?} & \cross{PROJSP}{coerce} & \cross{PROJSP}{conjugate} \\ \cross{PROJSP}{definingField} & @@ -124908,6 +125005,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 60c4db5..4414903 100644 --- a/books/bookvol5.pamphlet +++ b/books/bookvol5.pamphlet @@ -24099,6 +24099,7 @@ otherwise the new algebra won't be loaded by the interpreter when needed. (|PrimeField| . PF) (|PrimitiveArrayFunctions2| . PRIMARR2) (|PrintPackage| . PRINT) + (|ProjectivePlane| . PROJPL) (|ProjectiveSpace| . PROJSP) (|QuadraticForm| . QFORM) (|QuasiComponentPackage| . QCMPACK) diff --git a/books/ps/v103projectiveplane.ps b/books/ps/v103projectiveplane.ps new file mode 100644 index 0000000..873d73d --- /dev/null +++ b/books/ps/v103projectiveplane.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 112 152 +%%PageOrientation: Portrait +0 0 1 beginpage +gsave +36 36 76 116 boxprim clip newpath +1 1 set_scale 0 rotate 40 40 translate +% PROJPL +gsave +[ /Rect [ 0 72 68 108 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.3.pdf#nameddest=PROJPL) >> + /Subtype /Link +/ANN pdfmark +0.273 0.733 1.000 nodecolor +newpath 68 108 moveto +0 108 lineto +0 72 lineto +68 72 lineto +closepath fill +1 setlinewidth +filled +0.273 0.733 1.000 nodecolor +newpath 68 108 moveto +0 108 lineto +0 72 lineto +68 72 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +8 85.9 moveto 52 (PROJPL) alignedtext +grestore +% PROJSP +gsave +[ /Rect [ 0 0 68 36 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.3.pdf#nameddest=PROJSP) >> + /Subtype /Link +/ANN pdfmark +0.273 0.733 1.000 nodecolor +newpath 68 36 moveto +0 36 lineto +0 0 lineto +68 0 lineto +closepath fill +1 setlinewidth +filled +0.273 0.733 1.000 nodecolor +newpath 68 36 moveto +0 36 lineto +0 0 lineto +68 0 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +7.5 13.9 moveto 53 (PROJSP) alignedtext +grestore +% PROJPL->PROJSP +gsave +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 34 72 moveto +34 64 34 55 34 46 curveto +stroke +0.000 0.000 0.000 edgecolor +newpath 37.5 46 moveto +34 36 lineto +30.5 46 lineto +closepath fill +1 setlinewidth +solid +0.000 0.000 0.000 edgecolor +newpath 37.5 46 moveto +34 36 lineto +30.5 46 lineto +closepath stroke +grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +%%BoundingBox: 36 36 112 152 +end +restore +%%EOF diff --git a/changelog b/changelog index 2b7e61f..1e29b38 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,8 @@ +20100515 tpd src/axiom-website/patches.html 20100515.03.tpd.patch +20100515 tpd src/algebra/Makefile help and test files for PROJPL +20100515 tpd books/bookvol5 expose ProjectivePlane +20100515 tpd books/bookvol10.3 add ProjectivePlane +20100515 tpd books/ps/v103projectiveplane.ps added 20100515 tpd src/axiom-website/patches.html 20100515.02.tpd.patch 20100515 tpd src/algebra/Makefile help and test files for PROJSP 20100515 tpd books/bookvol5 expose ProjectiveSpace diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index aef592d..4b8b6cd 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -2249,7 +2249,8 @@ LAYER7=\ ${OUT}/BPADIC.o \ ${OUT}/BTREE.o ${OUT}/CRAPACK.o ${OUT}/DEQUEUE.o ${OUT}/DLIST.o \ ${OUT}/DRAWCX.o ${OUT}/DRAWPT.o ${OUT}/D01GBFA.o ${OUT}/D02EJFA.o \ - ${OUT}/D03FAFA.o ${OUT}/FAMR.o ${OUT}/FAMR-.o ${OUT}/FLASORT.o \ + ${OUT}/D03FAFA.o ${OUT}/FAMR.o ${OUT}/FAMR-.o ${OUT}/FIELD.o \ + ${OUT}/FLASORT.o \ ${OUT}/FLAGG2.o ${OUT}/FGROUP.o ${OUT}/FM.o ${OUT}/FM1.o \ ${OUT}/FPC.o ${OUT}/FPC-.o ${OUT}/FMONOID.o ${OUT}/INDE.o \ ${OUT}/IPADIC.o ${OUT}/IROOT.o ${OUT}/IR2.o ${OUT}/LEXP.o \ @@ -2263,7 +2264,7 @@ LAYER7=\ ${OUT}/PADIC.o ${OUT}/PATTERN2.o ${OUT}/PATLRES.o ${OUT}/PARTPERM.o \ ${OUT}/PBWLB.o ${OUT}/PENDTREE.o ${OUT}/PGE.o ${OUT}/PGROEB.o \ ${OUT}/PINTERP.o ${OUT}/PLOTTOOL.o ${OUT}/PFR.o ${OUT}/PMDOWN.o \ - ${OUT}/PRTITION.o ${OUT}/PMINS.o ${OUT}/PMLSAGG.o ${OUT}/PMTOOLS.o \ + ${OUT}/PMINS.o ${OUT}/PMLSAGG.o ${OUT}/PMTOOLS.o ${OUT}/PRTITION.o \ ${OUT}/PSCAT.o ${OUT}/PSCAT-.o ${OUT}/QFORM.o ${OUT}/QUEUE.o \ ${OUT}/SCACHE.o ${OUT}/SEG.o ${OUT}/SEG2.o ${OUT}/SEXOF.o \ ${OUT}/STACK.o ${OUT}/STTAYLOR.o ${OUT}/TABLBUMP.o ${OUT}/TABLEAU.o \ @@ -4364,7 +4365,7 @@ LAYER8=\ @ \subsection{Layer9} -Depends on: BTAGG FLALG LODOCAT MATCAT SRAGG VECTCAT XF\\ +Depends on: BTAGG FLALG LODOCAT MATCAT SRAGG VECTCAT XF PROJSP\\ Used by next layer: IVECTOR PTCAT STRICAT <>= @@ -4372,7 +4373,7 @@ LAYER9=\ ${OUT}/BITS.o ${OUT}/DIRPROD2.o ${OUT}/IMATRIX.o ${OUT}/INTRVL.o \ ${OUT}/IVECTOR.o ${OUT}/LOCPOWC.o \ ${OUT}/LODO1.o ${OUT}/LODO2.o ${OUT}/LPOLY.o \ - ${OUT}/LSMP.o ${OUT}/LSMP1.o ${OUT}/MATCAT2.o \ + ${OUT}/LSMP.o ${OUT}/LSMP1.o ${OUT}/MATCAT2.o ${OUT}/PROJPL.o \ ${OUT}/PTCAT.o ${OUT}/STRICAT.o ${OUT}/TRIMAT.o \ layer9done @@ -4526,6 +4527,14 @@ LAYER9=\ "MATCAT2" -> "MATCAT" /*"MATCAT2" -> "ARR2CAT"*/ +"PROJPL" [color="#88FF44",href="bookvol10.3.pdf#nameddest=PROJPL"] +/*"PROJPL" -> {"PRSPCAT"; "SETCATD"; "SETCAT"; "BASTYPE"; "KOERCE"; "FIELD"}*/ +"PROJPL" -> "PROJSP" +/*"PROJPL" -> {"EUCDOM"; "PID"; "GCDDOM"; "INTDOM"; "COMRING"; "RING"; "RNG"}*/ +/*"PROJPL" -> {"ABELGRP"; "CABMON"; "ABELMON"; "ABELSG"; "SGROUP"; "MONOID"}*/ +/*"PROJPL" -> {"LMODULE"; "BMODULE"; "RMODULE"; "ALGEBRA"; "MODULE"}*/ +/*"PROJPL" -> {"ENTIRER"; "UFD"; "DIVRING"}*/ + "PTCAT" [color="#4488FF",href="bookvol10.2.pdf#nameddest=PTCAT"] "PTCAT" -> "VECTCAT" /*"PTCAT" -> {"A1AGG"; "FLAGG"; "LNAGG"; "IXAGG"; "HOAGG"; "AGG"; "TYPE"}*/ @@ -16303,6 +16312,21 @@ ${MID}/PROJSP.nrlib/code.o: ${MID}/PROJSP.spad | ${INTERPSYS} >${TMP}/trace ; \ fi ) @ +<>= + +PROJPLDEPS = SETCATD PRSPCAT PROJSP + +${MID}/PROJPL.nrlib/code.o: ${MID}/PROJPL.spad + @echo P3 making ${MID}/PROJPL.nrlib/code.o from ${MID}/PROJPL.spad + @ (cd ${MID} ; \ + if [ -z "${NOISE}" ] ; then \ + echo -e ")lib ${PROJPLDEPS} \n )co PROJPL.spad" \ + | ${INTERPSYS} ; \ + else \ + echo -e ")lib ${PROJPLDEPS} \n )co PROJPL.spad" \ + | ${INTERPSYS} >${TMP}/trace ; \ + fi ) +@ \section{Broken Files} These files are Aldor files @@ -17122,6 +17146,7 @@ SPADHELP=\ ${HELP}/Permutation.help \ ${HELP}/Polynomial.help \ ${HELP}/Product.help \ + ${HELP}/ProjectivePlane.help \ ${HELP}/ProjectiveSpace.help \ ${HELP}/ProjectiveSpaceCategory.help \ ${HELP}/PseudoAlgebraicClosureOfAlgExtOfRationalNumberCategory.help \ @@ -17287,6 +17312,7 @@ REGRESS= \ Plot.regress \ Polynomial.regress \ Product.regress \ + ProjectivePlane.regress \ ProjectiveSpace.regress \ ProjectiveSpaceCategory.regress \ PseudoAlgebraicClosureOfAlgExtOfRationalNumberCategory.regress \ @@ -18569,8 +18595,20 @@ ${HELP}/Product.help: ${BOOKS}/bookvol10.3.pamphlet >${INPUT}/Product.input @echo "Product (PRODUCT)" >>${HELPFILE} +${HELP}/ProjectivePlane.help: ${BOOKS}/bookvol10.3.pamphlet + @echo 7936 create ProjectivePlane.help from \ + ${BOOKS}/bookvol10.3.pamphlet + @${TANGLE} -R"ProjectivePlane.help" \ + ${BOOKS}/bookvol10.3.pamphlet \ + >${HELP}/ProjectivePlane.help + @cp ${HELP}/ProjectivePlane.help ${HELP}/PROJPL.help + @${TANGLE} -R"ProjectivePlane.input" \ + ${BOOKS}/bookvol10.3.pamphlet \ + >${INPUT}/ProjectivePlane.input + @echo "ProjectivePlane (PROJPL)" >>${HELPFILE} + ${HELP}/ProjectiveSpace.help: ${BOOKS}/bookvol10.3.pamphlet - @echo 7936 create ProjectiveSpace.help from \ + @echo 7937 create ProjectiveSpace.help from \ ${BOOKS}/bookvol10.3.pamphlet @${TANGLE} -R"ProjectiveSpace.help" \ ${BOOKS}/bookvol10.3.pamphlet \ @@ -18582,7 +18620,7 @@ ${HELP}/ProjectiveSpace.help: ${BOOKS}/bookvol10.3.pamphlet @echo "ProjectiveSpace (PROJSP)" >>${HELPFILE} ${HELP}/ProjectiveSpaceCategory.help: ${BOOKS}/bookvol10.2.pamphlet - @echo 7937 create ProjectiveSpaceCategory.help from \ + @echo 7938 create ProjectiveSpaceCategory.help from \ ${BOOKS}/bookvol10.2.pamphlet @${TANGLE} -R"ProjectiveSpaceCategory.help" \ ${BOOKS}/bookvol10.2.pamphlet \ diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 0f95e2b..68ff2af 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -2719,5 +2719,7 @@ books/bookvolbib Buh05 DLMF Mah05 Sei95 Seixx Sch92 SCC92 WJST90 books/bookvol10.2 add ProjectiveSpaceCategory
20100515.02.tpd.patch books/bookvol10.3 add ProjectiveSpace
+20100515.03.tpd.patch +books/bookvol10.3 add ProjectivePlane