Seeking areas of little or weak documentation



As a new/old occasional user, I would say that the standard manual leaves a lot to be desired.  Part of the problem is the organization of the manual -- things that are closely related aren't even in the same chapter together.  Another part of the problem is that the searching mechanism isn't "fuzzy" enough to pick up the things that you might need.  Yet another problem is that there are lots of 3rd party applications that might be useful in solving your problem, but they aren't searched or indexed, so you have to go through and read the documentation for all of them.

Much of the information for how to use a feature is located in the "examples" for that feature, including the examples used to make sure that Maxima is working correctly (i.e., these examples are normally part of the manual).

Another problem is that there are typically several completely different mechanisms to do the same thing, and it isn't entirely obvious until lots of experimentation which mechanism will work for you.  I've been trying to understand the multiple different databases of information about functions & variables, including the various internal properties, the various user modifiable properties, the assumption database, etc.

I would like to see an entry on every single constant, variable and function that Maxima knows anything about, showing exactly what Maxima knows about it.  For example, Maxima seems to know that cosh(x) (x real) is always positive, and cosh(x)=cosh(-x) (i.e., cosh is an "evenfun").  However, I haven't been able to determine if Maxima can routinely figure out that cosh(x)-1>=0.  [For the benefit of Maxima's deduction machinery, it might be useful to have a function called 'cosh1(x)' = cosh(x)-1; such a function might also be useful for getting high precision results when x~0, a la exp1(x)=exp(x)-1, which comes in very handy for the same purposes.]

As another example, I said 'declare(od,odd)', but couldn't get signum(x)^od to simplify to signum(x).

The huge number of various flags in Maxima is very difficult to understand.  Any documentation of a function _has_ to indicate _exactly which_ flags will affect its behavior.  This process could be mechanized in the Maxima test suite: every function can be laboriously tested with every combination of flags.  Maxima can use the transitive closure of the function calling graph to mechanically compute from the source code which flags affect which functions.

At 11:23 AM 3/20/2011, Sol Lederman wrote:
>Hi, 
>
>I've been a techie for lots of years and I love Math although I'm new to Maxima. I'm looking to make a career change to becoming a tech writer and it's been suggested to me that I document a piece of an Open Source package to demonstrate my ability to do technical writing. So, here I am.
>
>Can list members point me to areas of Maxima that could most use documentation help?
>
>Thanks.
>
>Sol