Forgot to load lapack in a few examples
[maxima.git] / share / contrib / format / README
blobf85dfa0ea1e1141e5c63004d821ad1fcfc1030e3
1 ***************************************************************
2 *   Notes by importer to Maxima:                              *
3 *    This package originally included a modified pois2m.lisp  *
4 *    file.  This file can not be included in Maxima due to    *
5 *    the presence of a Macsyma Inc. copyright in the code.    *
6 *    As of the initial import of the code, it does not work    *
7 *    with the current Maxima.                                 *
8 ***************************************************************
11 ANNOUNCEMENT
12   Announcing the availability of FORMAT a hierarchical expression
13 formatter for Macsyma*. 
15 From the abstract of the documentation:
16   "A package for formatting algebraic expressions in Macsyma* ...
17 It provides facilities for user-directed hierarchical structuring of
18 expressions, as well as for directing simplifications to selected
19 subexpressions.  It emphasizes a semantic rather than syntactic description
20 of the desired form.  The package also provides utilities for obtaining efficiently
21 the coefficients of polynomials, trigonometric sums and power series."
23 Some examples may be clearer than words:
25 /* A Basic rearrangement: */
26 (c1) format((a+b*x)*(c-x)^2,%poly(x),%factor);
27         3                2                        2
28 (d1) b x  - (2 b c - a) x  + c (b c - 2 a) x + a c
30 /* A `mathematical' alternative to map or substpart...*/
31 (c2) format((1+2*a+a^2)*b + a*(1+2*b+b^2),%sum,%product,%factor);
32               2          2
33 (d2) a (b + 1)  + (a + 1)  b
35 /* Focussing simplifications */
36 (c3) foo:X^2*SIN(Y)^4-2*X^2*SIN(Y)^2+X^4*COS(Y)^4-2*X^4*COS(Y)^2+X^4+X^2+1$
38 (c4) trigsimp(foo);
39         4    2     4         4    2       4
40 (d4) (x  + x ) cos (y) - 2 x  cos (y) + x  + 1
42 /* That helps, but this is better: */
43 (c5) format(foo,%poly(x),trigsimp);
44        4    4       2    4
45 (d5) x  sin (y) + x  cos (y) + 1
47 The package is written in Lisp, but should run under DOE & Macsyma Inc's
48 versions of Macsyma.
50 FILES & INSTALLATION:
51    You  have  a  couple  of  options  for installation.  FORMAT uses the
52 COEFLIST module for functions to  separate polynomials, trig series  and
53 series into a `coefficient list' representation.  One version of
54 COEFLIST uses an enhanced version of the Richard Fateman's Poisson
55 package to manipulate trig series.   This version of Poisson is (I
56 think) more robust and adds more flexibility in the kinds of poisson
57 series that can be manipulated.  However, it is only 99.44% compatible.
58 It's up to you. See pois2m.ps & decide.
60 If you want to run FORMAT without loading the alternate poisson
61 package, you need these files:
63 miller-format.lisp   ; the source to the FORMAT procedure
64 coeflist.lisp        ; source for coefficient list extraction.
65 autoload-m.macsyma   ; autoloading definitions
67 If you want to use the poisson package, use these files:
69 miller-format.lisp   ; the source to the FORMAT procedure
70 coeflistp.lisp       ; source for coefficient list extraction (using Pois2m).
71 pois2m.lisp          ; enhanced Poisson package.
72 autoload-mp.macsyma  ; autoloading definitions
74 Also see the Documentation files:
75  format.ps           ; documentation for FORMAT & COEFLIST (12 pages, Postscript) 
76  pois2m.ps           ; description of enhanced pois2m (2 pages, Postscript) 
77 and the Demo files:
78  format.demo
79  coeflist.demo
80  pois2.demo
82 In anycase, 
83   1) put the files somewhere where macsyma will find them, (eg.
84 in a directory in the (macsyma variable) FILE_SEARCH list; or prepend
85 the directory containing the files to FILE_SEARCH),  
86   2) compile them w/ compile_file("miller-format.lisp"); etc.
87   3) have your macsyma-init file load the appropriate autoload-m file so
88 that macsyma will know where to find the procedures.
89   
90 If you are using a Schelter's DOE macsyma, there are a few declarations
91 at the top of FORMAT.LISP and COEFLIST.LISP that will first need to be
92 commented/uncommented.
95 DISCLAIMER: The use of commercial products or their names implies no
96 endorsement by NIST, the Dept. of Commerce or  the U.S. Government.
98 CONTACT:  Bruce Miller; miller@cam.nist.gov