diff --git a/books/bookvol10.3.pamphlet b/books/bookvol10.3.pamphlet index 5497719..d80c974 100644 --- a/books/bookvol10.3.pamphlet +++ b/books/bookvol10.3.pamphlet @@ -18994,6 +18994,322 @@ Complex(R:CommutativeRing): ComplexCategory(R) with @ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\section{domain CDFMAT ComplexDoubleFloatMatrix} +<>= +)set break resume +)sys rm -f ComplexDoubleFloatMatrix.output +)spool ComplexDoubleFloatMatrix.output +)set message test on +)set message auto off +)clear all + +--S 1 of 6 +)show ComplexDoubleFloatMatrix +--R ComplexDoubleFloatMatrix is a domain constructor +--R Abbreviation for ComplexDoubleFloatMatrix is CDFMAT +--R This constructor is exposed in this frame. +--R Issue )edit bookvol10.3.pamphlet to see algebra source code for CDFMAT +--R +--R------------------------------- Operations -------------------------------- +--R ?*? : (Integer,%) -> % ?*? : (%,%) -> % +--R ?+? : (%,%) -> % -? : % -> % +--R ?-? : (%,%) -> % antisymmetric? : % -> Boolean +--R copy : % -> % diagonal? : % -> Boolean +--R diagonalMatrix : List % -> % empty : () -> % +--R empty? : % -> Boolean eq? : (%,%) -> Boolean +--R horizConcat : (%,%) -> % maxColIndex : % -> Integer +--R maxRowIndex : % -> Integer minColIndex : % -> Integer +--R minRowIndex : % -> Integer ncols : % -> NonNegativeInteger +--R nrows : % -> NonNegativeInteger qnew : (Integer,Integer) -> % +--R sample : () -> % square? : % -> Boolean +--R squareTop : % -> % symmetric? : % -> Boolean +--R transpose : % -> % vertConcat : (%,%) -> % +--R #? : % -> NonNegativeInteger if $ has finiteAggregate +--R ?*? : (ComplexDoubleFloatVector,%) -> ComplexDoubleFloatVector +--R ?*? : (%,ComplexDoubleFloatVector) -> ComplexDoubleFloatVector +--R ?*? : (%,Complex DoubleFloat) -> % +--R ?*? : (Complex DoubleFloat,%) -> % +--R ?**? : (%,Integer) -> % if Complex DoubleFloat has FIELD +--R ?**? : (%,NonNegativeInteger) -> % +--R ?/? : (%,Complex DoubleFloat) -> % if Complex DoubleFloat has FIELD +--R ?=? : (%,%) -> Boolean if Complex DoubleFloat has SETCAT +--R any? : ((Complex DoubleFloat -> Boolean),%) -> Boolean if $ has finiteAggregate +--R coerce : ComplexDoubleFloatVector -> % +--R coerce : % -> OutputForm if Complex DoubleFloat has SETCAT +--R column : (%,Integer) -> ComplexDoubleFloatVector +--R columnSpace : % -> List ComplexDoubleFloatVector if Complex DoubleFloat has EUCDOM +--R count : (Complex DoubleFloat,%) -> NonNegativeInteger if $ has finiteAggregate and Complex DoubleFloat has SETCAT +--R count : ((Complex DoubleFloat -> Boolean),%) -> NonNegativeInteger if $ has finiteAggregate +--R determinant : % -> Complex DoubleFloat if Complex DoubleFloat has commutative * +--R diagonalMatrix : List Complex DoubleFloat -> % +--R elt : (%,List Integer,List Integer) -> % +--R elt : (%,Integer,Integer,Complex DoubleFloat) -> Complex DoubleFloat +--R elt : (%,Integer,Integer) -> Complex DoubleFloat +--R eval : (%,List Complex DoubleFloat,List Complex DoubleFloat) -> % if Complex DoubleFloat has EVALAB COMPLEX DFLOAT and Complex DoubleFloat has SETCAT +--R eval : (%,Complex DoubleFloat,Complex DoubleFloat) -> % if Complex DoubleFloat has EVALAB COMPLEX DFLOAT and Complex DoubleFloat has SETCAT +--R eval : (%,Equation Complex DoubleFloat) -> % if Complex DoubleFloat has EVALAB COMPLEX DFLOAT and Complex DoubleFloat has SETCAT +--R eval : (%,List Equation Complex DoubleFloat) -> % if Complex DoubleFloat has EVALAB COMPLEX DFLOAT and Complex DoubleFloat has SETCAT +--R every? : ((Complex DoubleFloat -> Boolean),%) -> Boolean if $ has finiteAggregate +--R exquo : (%,Complex DoubleFloat) -> Union(%,"failed") if Complex DoubleFloat has INTDOM +--R fill! : (%,Complex DoubleFloat) -> % +--R hash : % -> SingleInteger if Complex DoubleFloat has SETCAT +--R inverse : % -> Union(%,"failed") if Complex DoubleFloat has FIELD +--R latex : % -> String if Complex DoubleFloat has SETCAT +--R less? : (%,NonNegativeInteger) -> Boolean +--R listOfLists : % -> List List Complex DoubleFloat +--R map : (((Complex DoubleFloat,Complex DoubleFloat) -> Complex DoubleFloat),%,%,Complex DoubleFloat) -> % +--R map : (((Complex DoubleFloat,Complex DoubleFloat) -> Complex DoubleFloat),%,%) -> % +--R map : ((Complex DoubleFloat -> Complex DoubleFloat),%) -> % +--R map! : ((Complex DoubleFloat -> Complex DoubleFloat),%) -> % +--R matrix : List List Complex DoubleFloat -> % +--R member? : (Complex DoubleFloat,%) -> Boolean if $ has finiteAggregate and Complex DoubleFloat has SETCAT +--R members : % -> List Complex DoubleFloat if $ has finiteAggregate +--R minordet : % -> Complex DoubleFloat if Complex DoubleFloat has commutative * +--R more? : (%,NonNegativeInteger) -> Boolean +--R new : (NonNegativeInteger,NonNegativeInteger,Complex DoubleFloat) -> % +--R nullSpace : % -> List ComplexDoubleFloatVector if Complex DoubleFloat has INTDOM +--R nullity : % -> NonNegativeInteger if Complex DoubleFloat has INTDOM +--R parts : % -> List Complex DoubleFloat +--R pfaffian : % -> Complex DoubleFloat if Complex DoubleFloat has COMRING +--R qelt : (%,Integer,Integer) -> Complex DoubleFloat +--R qsetelt! : (%,Integer,Integer,Complex DoubleFloat) -> Complex DoubleFloat +--R rank : % -> NonNegativeInteger if Complex DoubleFloat has INTDOM +--R row : (%,Integer) -> ComplexDoubleFloatVector +--R rowEchelon : % -> % if Complex DoubleFloat has EUCDOM +--R scalarMatrix : (NonNegativeInteger,Complex DoubleFloat) -> % +--R setColumn! : (%,Integer,ComplexDoubleFloatVector) -> % +--R setRow! : (%,Integer,ComplexDoubleFloatVector) -> % +--R setelt : (%,List Integer,List Integer,%) -> % +--R setelt : (%,Integer,Integer,Complex DoubleFloat) -> Complex DoubleFloat +--R setsubMatrix! : (%,Integer,Integer,%) -> % +--R size? : (%,NonNegativeInteger) -> Boolean +--R subMatrix : (%,Integer,Integer,Integer,Integer) -> % +--R swapColumns! : (%,Integer,Integer) -> % +--R swapRows! : (%,Integer,Integer) -> % +--R transpose : ComplexDoubleFloatVector -> % +--R zero : (NonNegativeInteger,NonNegativeInteger) -> % +--R ?~=? : (%,%) -> Boolean if Complex DoubleFloat has SETCAT +--R +--E 1 + +--S 2 of 6 +a:CDFMAT:=qnew(2,3) +--R +--R +0. 0. 0.+ +--R (1) | | +--R +0. 0. 0.+ +--R Type: ComplexDoubleFloatMatrix +--E 2 + +--S 3 of 6 +qsetelt!(a,1,1,1.0+2*%i) +--R +--R (2) 1. + 2. %i +--R Type: Complex DoubleFloat +--E 3 + +--S 4 of 6 +a +--R +--R +0. 0. 0.+ +--R (3) | | +--R +0. 1. + 2. %i 0.+ +--R Type: ComplexDoubleFloatMatrix +--E 4 + +--S 5 of 6 +qsetelt!(a,0,0,2.0+4*%i) +--R +--R (4) 2. + 4. %i +--R Type: Complex DoubleFloat +--E 5 + +--S 6 of 6 +a +--R +--R +2. + 4. %i 0. 0.+ +--R (5) | | +--R + 0. 1. + 2. %i 0.+ +--R Type: ComplexDoubleFloatMatrix +--E 6 + +)spool +)lisp (bye) + +@ + +<>= +==================================================================== +ComplexDoubleFloatMatrix examples +==================================================================== +This domain creates a lisp simple array of machine doublefloats. +It provides one new function called qnew which takes an integer +that gives the array length. + +NOTE: Unlike normal Axiom arrays the ComplexDoubleFloatMatrix arrays +are 0-based so the first element is 0. Axiom arrays normally +start at 1. + +a:CDFMAT:=qnew(2,3) + +0. 0. 0.+ + | | + +0. 0. 0.+ + +qsetelt!(a,1,1,1.0+2*%i) + 1. + 2. %i + +a + +0. 0. 0.+ + | | + +0. 1. + 2. %i 0.+ + +qsetelt!(a,0,0,2.0+4*%i) + 2. + 4. %i + +a + +2. + 4. %i 0. 0.+ + | | + + 0. 1. + 2. %i 0.+ + +See Also: +o )help Float +o )help DoubleFloat +o )show ComplexDoubleFloatMatrix + +@ +\pagehead{ComplexDoubleFloatMatrix}{CDFMAT} +\pagepic{ps/v103complexdoublefloatmatrix.eps}{CDFMAT}{1.00} + +{\bf Exports:}\\ +\begin{tabular}{llll} +\cross{CDFMAT}{\#?} & +\cross{CDFMAT}{-?} & +\cross{CDFMAT}{?**?} & +\cross{CDFMAT}{?*?} \\ +\cross{CDFMAT}{?+?} & +\cross{CDFMAT}{?-?} & +\cross{CDFMAT}{?/?} & +\cross{CDFMAT}{?=?} \\ +\cross{CDFMAT}{?\~{}=?} & +\cross{CDFMAT}{antisymmetric?} & +\cross{CDFMAT}{any?} & +\cross{CDFMAT}{coerce} \\ +\cross{CDFMAT}{column} & +\cross{CDFMAT}{columnSpace} & +\cross{CDFMAT}{copy} & +\cross{CDFMAT}{count} \\ +\cross{CDFMAT}{determinant} & +\cross{CDFMAT}{diagonal?} & +\cross{CDFMAT}{diagonalMatrix} & +\cross{CDFMAT}{elt} \\ +\cross{CDFMAT}{empty} & +\cross{CDFMAT}{empty?} & +\cross{CDFMAT}{eq?} & +\cross{CDFMAT}{eval} \\ +\cross{CDFMAT}{every?} & +\cross{CDFMAT}{exquo} & +\cross{CDFMAT}{fill!} & +\cross{CDFMAT}{hash} \\ +\cross{CDFMAT}{horizConcat} & +\cross{CDFMAT}{inverse} & +\cross{CDFMAT}{latex} & +\cross{CDFMAT}{less?} \\ +\cross{CDFMAT}{listOfLists} & +\cross{CDFMAT}{map} & +\cross{CDFMAT}{map!} & +\cross{CDFMAT}{matrix} \\ +\cross{CDFMAT}{maxColIndex} & +\cross{CDFMAT}{maxRowIndex} & +\cross{CDFMAT}{member?} & +\cross{CDFMAT}{members} \\ +\cross{CDFMAT}{minColIndex} & +\cross{CDFMAT}{minRowIndex} & +\cross{CDFMAT}{minordet} & +\cross{CDFMAT}{more?} \\ +\cross{CDFMAT}{ncols} & +\cross{CDFMAT}{new} & +\cross{CDFMAT}{nrows} & +\cross{CDFMAT}{nullSpace} \\ +\cross{CDFMAT}{nullity} & +\cross{CDFMAT}{parts} & +\cross{CDFMAT}{pfaffian} & +\cross{CDFMAT}{qelt} \\ +\cross{CDFMAT}{qnew} & +\cross{CDFMAT}{qsetelt!} & +\cross{CDFMAT}{rank} & +\cross{CDFMAT}{row} \\ +\cross{CDFMAT}{rowEchelon} & +\cross{CDFMAT}{sample} & +\cross{CDFMAT}{scalarMatrix} & +\cross{CDFMAT}{setColumn!} \\ +\cross{CDFMAT}{setRow!} & +\cross{CDFMAT}{setelt} & +\cross{CDFMAT}{setsubMatrix!} & +\cross{CDFMAT}{size?} \\ +\cross{CDFMAT}{square?} & +\cross{CDFMAT}{squareTop} & +\cross{CDFMAT}{subMatrix} & +\cross{CDFMAT}{swapColumns!} \\ +\cross{CDFMAT}{swapRows!} & +\cross{CDFMAT}{symmetric?} & +\cross{CDFMAT}{transpose} & +\cross{CDFMAT}{vertConcat} \\ +\cross{CDFMAT}{zero} &&& +\end{tabular} + +<>= +)abbrev domain CDFMAT ComplexDoubleFloatMatrix +++ Author: Waldek Hebisch +++ Description: This is a low-level domain which implements matrices +++ (two dimensional arrays) of complex double precision floating point +++ numbers. Indexing is 0 based, there is no bound checking (unless +++ provided by lower level). + +ComplexDoubleFloatMatrix : MatrixCategory(Complex DoubleFloat, + ComplexDoubleFloatVector, + ComplexDoubleFloatVector) with + qnew : (Integer, Integer) -> % + ++ qnew(n, m) creates a new uninitialized n by m matrix. + ++ + ++X t1:CDFMAT:=qnew(3,4) + + == add + + NNI ==> Integer + Qelt2 ==> CDAREF2$Lisp + Qsetelt2 ==> CDSETAREF2$Lisp + Qnrows ==> CDANROWS$Lisp + Qncols ==> CDANCOLS$Lisp + Qnew ==> MAKE_-CDOUBLE_-MATRIX$Lisp + + minRowIndex x == 0 + minColIndex x == 0 + nrows x == Qnrows(x) + ncols x == Qncols(x) + maxRowIndex x == Qnrows(x) - 1 + maxColIndex x == Qncols(x) - 1 + + qelt(m, i, j) == Qelt2(m, i, j) + qsetelt_!(m, i, j, r) == Qsetelt2(m, i, j, r) + + empty() == Qnew(0$Integer, 0$Integer) + qnew(rows, cols) == Qnew(rows, cols) + new(rows, cols, a) == + res := Qnew(rows, cols) + for i in 0..(rows - 1) repeat + for j in 0..(cols - 1) repeat + Qsetelt2(res, i, j, a) + res + +@ +<>= +"CDFMAT" [color="#88FF44",href="bookvol10.3.pdf#nameddest=CDFMAT", + shape=ellipse] +"COMPCAT" [color=lightblue,href="bookvol10.2.pdf#nameddest=COMPCAT"]; +"CDFMAT" -> "COMPCAT" + +@ +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{domain CDFVEC ComplexDoubleFloatVector} <>= )set break resume @@ -149051,6 +149367,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 06adeb0..954e3af 100644 --- a/books/bookvol5.pamphlet +++ b/books/bookvol5.pamphlet @@ -23889,6 +23889,7 @@ otherwise the new algebra won't be loaded by the interpreter when needed. (|CommonDenominator| . CDEN) (|Commutator| . COMM) (|Complex| . COMPLEX) + (|ComplexDoubleFloatMatrix| . CDFMAT) (|ComplexDoubleFloatVector| . CDFVEC) (|ComplexFactorization| . COMPFACT) (|ComplexFunctions2| . COMPLEX2) @@ -38084,6 +38085,67 @@ occupies two positions in the real array. @ +\section{ComplexDoubleFloatMatrix} + +\defmacro{make-cdouble-matrix}{ComplexDoubleFloatMatrix function support} +<>= +(defmacro make-cdouble-matrix (n m) + `(make-array (list ,n (* 2 ,m)) :element-type 'double-float)) + +@ + +\defmacro{cdaref2}{ComplexDoubleFloatMatrix function support} +<>= +(defmacro cdaref2 (ov oi oj) + (let ((v (gensym)) + (i (gensym)) + (j (gensym))) + `(let ((,v ,ov) + (,i ,oi) + (,j ,oj)) + (cons + (aref (the (simple-array double-float (* *)) ,v) ,i (* 2 ,j)) + (aref (the (simple-array double-float (* *)) ,v) + ,i (+ (* 2 ,j) 1)))))) + +@ + +\defmacro{cdsetaref2}{ComplexDoubleFloatMatrix function support} +<>= +(defmacro cdsetaref2 (ov oi oj os) + (let ((v (gensym)) + (i (gensym)) + (j (gensym)) + (s (gensym))) + `(let ((,v ,ov) + (,i ,oi) + (,j ,oj) + (,s ,os)) + (setf (aref (the (simple-array double-float (* *)) ,v) ,i (* 2 ,j)) + (car ,s)) + (setf (aref (the (simple-array double-float (* *)) ,v) + ,i (+ (* 2 ,j) 1)) + (cdr ,s)) + ,s))) + +@ + +\defmacro{cdanrows}{ComplexDoubleFloatMatrix function support} +<>= +(defmacro cdanrows (v) + `(array-dimension (the (simple-array double-float (* *)) ,v) 0)) + +@ + +\defmacro{cdancols}{ComplexDoubleFloatMatrix function support} +<>= +(defmacro cdancols (v) + `(truncate + (array-dimension (the (simple-array double-float (* *)) ,v) 1) 2)) + +@ + + \section{Integer} \defun{divide2}{Integer divide function support} Note that this is defined as a SPADReplace function in Integer @@ -39735,8 +39797,12 @@ This needs to work off the internal exposure list, not the file. <> <> <> +<> <> <> +<> +<> +<> <> <> <> @@ -39781,6 +39847,7 @@ This needs to work off the internal exposure list, not the file. <> <> <> +<> <> <> <> diff --git a/books/ps/v103complexdoublefloatmatrix.eps b/books/ps/v103complexdoublefloatmatrix.eps new file mode 100644 index 0000000..2281fa9 --- /dev/null +++ b/books/ps/v103complexdoublefloatmatrix.eps @@ -0,0 +1,258 @@ +%!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 148 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 148 152 +%%PageOrientation: Portrait +0 0 1 beginpage +gsave +36 36 112 116 boxprim clip newpath +1 1 set_scale 0 rotate 40 40 translate +% CDFMAT +gsave +[ /Rect [ 0 72 104 108 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.3.pdf#nameddest=CDFMAT) >> + /Subtype /Link +/ANN pdfmark +0.273 0.733 1.000 nodecolor +52 90 52.12 18 ellipse_path fill +1 setlinewidth +filled +0.273 0.733 1.000 nodecolor +52 90 52.12 18 ellipse_path stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +22.5 85.9 moveto 59 (CDFMAT) alignedtext +grestore +% COMPCAT +gsave +[ /Rect [ 9 0 95 36 ] + /Border [ 0 0 0 ] + /Action << /Subtype /URI /URI (bookvol10.2.pdf#nameddest=COMPCAT) >> + /Subtype /Link +/ANN pdfmark +0.537 0.247 0.902 nodecolor +newpath 95 36 moveto +9 36 lineto +9 0 lineto +95 0 lineto +closepath fill +1 setlinewidth +filled +0.537 0.247 0.902 nodecolor +newpath 95 36 moveto +9 36 lineto +9 0 lineto +95 0 lineto +closepath stroke +0.000 0.000 0.000 nodecolor +14 /Times-Roman set_font +17 13.9 moveto 70 (COMPCAT) alignedtext +grestore +% CDFMAT->COMPCAT +gsave +1 setlinewidth +0.000 0.000 0.000 edgecolor +newpath 52 72 moveto +52 64 52 55 52 46 curveto +stroke +0.000 0.000 0.000 edgecolor +newpath 55.5 46 moveto +52 36 lineto +48.5 46 lineto +closepath fill +1 setlinewidth +solid +0.000 0.000 0.000 edgecolor +newpath 55.5 46 moveto +52 36 lineto +48.5 46 lineto +closepath stroke +grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +end +restore +%%EOF diff --git a/changelog b/changelog index 48c5f2e..5c5221a 100644 --- a/changelog +++ b/changelog @@ -1,3 +1,8 @@ +20100705 wxh src/axiom-website/patches.html 20100705.01.wxh.patch +20100705 wxh src/algebra/Makefile test and help ComplexDoubleFloatMatrix +20100705 wxh books/bookvol5 expose ComplexDoubleFloatMatrix, add macros +20100705 wxh books/bookvol10.3 add ComplexDoubleFloatMatrix +20100705 wxh books/ps/v103complexdoublefloatmatrix.eps added 20100704 wxh src/axiom-website/patches.html 20100704.01.wxh.patch 20100704 wxh src/algebra/Makefile test and help files for DFMAT 20100704 wxh books/bookvol5 expose DoubleFloatMatrix and add macros diff --git a/src/algebra/Makefile.pamphlet b/src/algebra/Makefile.pamphlet index 5a16d5c..3269146 100644 --- a/src/algebra/Makefile.pamphlet +++ b/src/algebra/Makefile.pamphlet @@ -12384,7 +12384,7 @@ LAYER17=\ ${OUT}/ALGSC.o ${OUT}/AN.o ${OUT}/APPRULE.o ${OUT}/ASP19.o \ ${OUT}/ASP20.o ${OUT}/ASP31.o ${OUT}/ASP35.o ${OUT}/ASP41.o \ ${OUT}/ASP42.o ${OUT}/ASP74.o ${OUT}/ASP77.o ${OUT}/ASP80.o \ - ${OUT}/CDFVEC.o \ + ${OUT}/CDFMAT.o ${OUT}/CDFVEC.o \ ${OUT}/CINTSLPE.o ${OUT}/COMBF.o ${OUT}/COMPFACT.o ${OUT}/COMPLEX.o \ ${OUT}/COMPLPAT.o ${OUT}/CMPLXRT.o ${OUT}/CPMATCH.o ${OUT}/CRFP.o \ ${OUT}/CTRIGMNP.o ${OUT}/D01WGTS.o ${OUT}/D02AGNT.o ${OUT}/D03EEFA.o \ @@ -12800,6 +12800,23 @@ LAYER17=\ "ASP80" -> "FS" /*"ASP80" -> "GROUP"*/ +"CDFMAT" [color="#88FF44",href="bookvol10.3.pdf#nameddest=CDFMAT"] +"CDFMAT" -> "COMPCAT" +/*"CDFMAT" -> {"MATCAT"; "ARR2CAT"; "HOAGG"; "AGG"; "TYPE"; "SETCAT"}*/ +/*"CDFMAT" -> {"BASTYPE"; "KOERCE"; "EVALAB"; "IEVALAB"; "FPS"; "RNS"}*/ +/*"CDFMAT" -> {"FIELD"; "EUCDOM"; "PID"; "GCDDOM"; "INTDOM"; "COMRING"}*/ +/*"CDFMAT" -> {"RING"; "RNG"; "ABELGRP"; "CABMON"; "ABELMON"; "ABELSG"}*/ +/*"CDFMAT" -> {"SGROUP"; "MONOID"; "LMODULE"; "BMODULE"; "RMODULE"}*/ +/*"CDFMAT" -> {"ALGEBRA"; "MODULE"; "ENTIRER"; "UFD"; "DIVRING"; "ORDRING"}*/ +/*"CDFMAT" -> {"OAGROUP"; "OCAMON"; "OAMON"; "OASGP"; "ORDSET"; "REAL"}*/ +/*"CDFMAT" -> {"KONVERT"; "RETRACT"; "RADCAT"; "PATMAB"; "CHARZ"; "MONOGEN"}*/ +/*"CDFMAT" -> {"FRAMALG"; "FINRALG"; "CHARNZ"; "FRETRCT"; "FLINEXP"}*/ +/*"CDFMAT" -> {"LINEXP"; "FINITE"; "DIFEXT"; "DIFRING"; "PDRING"; "FFIELDC"}*/ +/*"CDFMAT" -> {"FPC"; "STEP"; "FEVALAB"; "ELTAB"; "FPATMAB"; "PATAB"}*/ +/*"CDFMAT" -> {"TRANFUN"; "TRIGCAT"; "ATRIG"; "HYPCAT"; "AHYP"; "ELEMFUN"}*/ +/*"CDFMAT" -> {"PFECAT"; "VECTCAT"; "A1AGG"; "FLAGG"; "LNAGG"; "IXAGG"}*/ +/*"CDFMAT" -> {"ELTAGG"; "CLAGG"; "INT"; "SINT"; "NNI"; "OM"; "SPFCAT"}*/ + "CDFVEC" [color="#88FF44",href="bookvol10.3.pdf#nameddest=CDFVEC"] "CDFVEC" -> "COMPCAT" /*"CDFVEC" -> {"VECTCAT"; "A1AGG"; "FLAGG"; "LNAGG"; "IXAGG"; "HOAGG"}*/ @@ -17343,6 +17360,7 @@ SPADHELP=\ ${HELP}/Commutator.help \ ${HELP}/Complex.help \ ${HELP}/ComplexCategory.help \ + ${HELP}/ComplexDoubleFloatMatrix.help \ ${HELP}/ComplexDoubleFloatVector.help \ ${HELP}/ContinuedFraction.help \ ${HELP}/ConvertibleTo.help \ @@ -18033,6 +18051,7 @@ REGRESS= \ Commutator.regress \ Complex.regress \ ComplexCategory.regress \ + ComplexDoubleFloatMatrix.regress \ ComplexDoubleFloatVector.regress \ ContinuedFraction.regress \ ConvertibleTo.regress \ @@ -19835,6 +19854,18 @@ ${HELP}/ContinuedFraction.help: ${BOOKS}/bookvol10.3.pamphlet >${INPUT}/ContinuedFraction.input @echo "ContinuedFraction (CONTFRAC)" >>${HELPFILE} +${HELP}/ComplexDoubleFloatMatrix.help: ${BOOKS}/bookvol10.3.pamphlet + @echo 7150 create ComplexDoubleFloatMatrix.help from \ + ${BOOKS}/bookvol10.3.pamphlet + @${TANGLE} -R"ComplexDoubleFloatMatrix.help" \ + ${BOOKS}/bookvol10.3.pamphlet \ + >${HELP}/ComplexDoubleFloatMatrix.help + @cp ${HELP}/ComplexDoubleFloatMatrix.help ${HELP}/CDFMAT.help + @${TANGLE} -R"ComplexDoubleFloatMatrix.input" \ + ${BOOKS}/bookvol10.3.pamphlet \ + >${INPUT}/ComplexDoubleFloatMatrix.input + @echo "ComplexDoubleFloatMatrix (CDFMAT)" >>${HELPFILE} + ${HELP}/ComplexDoubleFloatVector.help: ${BOOKS}/bookvol10.3.pamphlet @echo 7150 create ComplexDoubleFloatVector.help from \ ${BOOKS}/bookvol10.3.pamphlet diff --git a/src/axiom-website/patches.html b/src/axiom-website/patches.html index 03ed1be..370e5e3 100644 --- a/src/axiom-website/patches.html +++ b/src/axiom-website/patches.html @@ -2980,5 +2980,7 @@ books/bookvol10.3 fix DoubleFloatVector unit test, help file
src/input/Makefile add TESTSET=notests
20100704.01.wxh.patch books/bookvol10.3 add DoubleFloatMatrix
+20100705.01.wxh.patch +books/bookvol10.3 add ComplexDoubleFloatMatrix