fixes typos and a missing reference.
[maxima.git] / share / matrix / pfaff.usg
blobc8e0c21e32c996e4d680bc482a8d6fa45d88e243
1         PFAFF > and PFAFF LISP contain a function called PFAFFIAN(N,LIST)
2 which returns the Pfaffian of its list argument.  PFAFFIAN
3 takes two arguments.  The first is an integer which denotes the order
4 of the Pfaffian to be expanded.  The second is a list of the elements
5 of the Pfaffian.  As an illustration, one would evaluate the Pfaffian
7                         |  A  B  C  |
8                         |     D  E  |
9                                  F  |
11 as :            PFAFFIAN(3,[A,B,C,D,E,F]);
13 Another example:
15         |  A  B  C  D  E  |
16               F  G  H  I  |
17                  J  K  L  |     is PFAFFIAN(5,[A,B,C,D,E,F,G,H,I,J,K,L]);
18                     M  N  |
19                        O  |
22 In order to speed the evaluation, a hashed array called PFAFFM is
23 created and added to from time to time, whenever a PFAFFIAN of
24 a new and higher order is  evaluated.   This array contains infor-
25 mation used by the function PFAFFIAN and is of no interest to the
26 user.  KILLing it will slow the evaluations, but will not other-
27 wise affect the results.  Modifying the array PFAFFM will lead to
28 errors.
30 Some error-checking is done by PFAFFIAN.  If the length of the
31 list argument is not equal to (N+1)*N/2, or if the integer argument
32 is not a positive integer, or if the second argument is not a 
33 list, an error is detected and both arguments are put into a list,
34 to which ERREXP is then bound.
36 The demo file is PFAFF DEMO.
38                                         Written by ASB