Subject: CVS commit: pkgsrc/math/mathomatic
From: Aleksej Saushev
Date: 2011-05-01 01:28:57
Message id: 20110430232857.2BFAA175DD@cvs.netbsd.org

Log Message:
Update Mathomatic to version 15.6.0.

Changes in Mathomatic version 15.6.0:
------------------------------------

Many tweaks and corrections to simplification and polynomial operations were made.

Created m4 Mathomatic input file "tests/trig".  Lists all trig and
hypertrig functions, allowing testing of their simplification
and manipulation.

Sped up polynomial operations to be another 30 times faster
in some cases.  Finished and cleaned up the polynomial factoring
and division C code.  Thanks again to Kingsley G. Morse Jr. for
showing me this needed to be done.

The "simplify quick" command was changed to not combine unlike
denominators, making it much more useful, doing better
simplification than any other simplify option sometimes.

The tally command now returns the ending total and sets it as the
current equation.

Fixed an old bug just discovered today where expressions like
(x - y)*(x^99 - y^99) were being factored into something huge
with the simplify and fraction commands, which are the only
commands that do polynomial factoring.

Improved coloring scheme: all prompt and normal text is now the
terminal emulator's default color for text (usually uncolored).
Expressions remain colored if color mode is enabled.  Thanks to
Carl U. Grayser for the good idea.

Improved the fraction command by factoring polynomials first.
Specifying the "numerator" and "denominator" options together
will make the fraction command return with failure if the result
is not a fraction, otherwise the entire fraction is returned.

Changes in Mathomatic version 15.5.3:
------------------------------------

Simplify expressions with positive bases like 16^(x/2) and (2^m)^n by default;
previously only simplified these with the "simplify symbolic" command.

The exit status of Mathomatic now shows any errors when run with the
-e option.  So if a command fails, it exits to the OS with the exit
status 1.  Exit status is 0 if everything went OK.  Also works without
the -e option, when files are specified on the shell command line.
An error will abort the script, returning you to the operating system
with an exit status of 1.

Changed makefile to allow installing m4 Mathomatic without installing
the documentation.  Use "sudo make bininstall matho-rmath-install" to
install m4 Mathomatic executables and man pages.
Then "sudo make docinstall" installs all documentation.

The rmath man page math function and constant lists have been corrected
and the rmath man page has been added to the main user documentation.

Output of universal constants is now prettier when displaying.  No
more i#, e#, and pi#, they are displayed as they are entered: i, e,
and pi.  HTML mode displays the small Greek letter pi for pi.

The nintegrate command now works with complex numbers and trigonometry,
and does not change the current equation to the result.

Link the man page rmath.1 to matho.1 when installing, so that every
executable has a man page.

Added "numerator" and "denominator" options to the fraction \ 
command,
which returns only the numerator or denominator after making sure the
expression is a simple algebraic fraction.

Autocalc now deletes only the previous autocalc when autocalc is used.
It was deleting all autocalc results except for the current one every
time, preventing copying.

Improved simplification of expressions like (x + (2^(1/2)))^{3,4,5,6}.
It broke a while back when factor_times() constant factoring was
improved.  The fix uses factor_times() less, preserving reduced surds.

Saving "plot_prefix" with the "set save" command was not escaping
semicolons, so they were disappearing from the prefix.  Fixed now.

Changes in Mathomatic version 15.5.2:
------------------------------------

Renamed the "factorial" directory to "examples".

Fixed entering negative odd roots like (-32)^(1/3) to not approximate,
instead simplifying to -2*4^(1/3).  So all surds are preserved, now.

Added man pages for the Mathomatic Symbolic Math Library functions.
Allow building a PDF book of all Mathomatic man pages.

Simplify command simplification sped up even more, by putting algebraic
fraction reduction in the right place and not overusing it.
Responsiveness has greatly improved for large expressions.  Thanks go
to Kingsley G. Morse Jr. for help with this and for filing a bug report.

The simplify command functionality was improved.  It was fixed to
not mess up with unwanted fractional coefficients.

Changes in Mathomatic version 15.5.1:
------------------------------------

Many minor cleanups and corrections were made.

Renamed Mathomatic User's Manual to Official Mathomatic User Guide.

Calculate command now outputs fewer newlines.  Not so much blank space.

Allow equation-number-ranges on the plot command line.  For example,
"plot all" works now, to plot all stored equations and expressions
at once, for easy comparison.

Changes in Mathomatic version 15.5.0:
------------------------------------

Fixed result of (constant % inf) to equal constant.

Restored explicitly linking with ncurses library when compiled
with readline, because Red Hat Linux wrongly requires this.
There is no way to know ahead of time whether this is needed, so
remove the "-lncurses" from the makefile if there is a problem
linking.

Upgraded set option "fractions_display_mode" to display fractions
as mixed fractions when possible, when set to mode 2.  A mixed
fraction is possible when the numerator of a simple fraction is
greater than the denominator, like 9/4, which displays as (2+(1/4))
in mixed fraction display mode 2.  Mode 1 is the default, which
functions as before, displaying 2.25 as the simple fraction 9/4.
To display mixed fractions only on command, just type "display mixed"
to display the current expression with mixed fractions output
that one time.

Autocalc (used when typing a numerical only expression at the main
prompt) now keeps the result until next time autocalc is used,
so that it can be acted on further by Mathomatic commands, if desired.
All previous autocalc results are erased every time autocalc is used.
This provides much better calculator functionality for Mathomatic
and improves ease-of-use.

Use HTML infinity symbol (∞) for infinities in HTML output mode.

Allow solid fraction bar display in HTML output mode by using \ 
"–".
Previously the ASCII dash character "-" was used, making a dashed line
that separated the numerator and denominator of fractions.  Now the line
should be solid in HTML output mode.

Improved divide command for numerical division.  Added mixed fractions
and cleaned up output.

Ported matho-primes to MS-Windows and included it in the Windows
version on my website: "http://mathomatic.org/winam2.zip".

The fraction command is now repeatable by preceding it with "repeat".
This repeatedly runs it until the smallest expression is achieved.

Simplification was sped up, especially with "simplify quick", therefore
differentiating and the Taylor command are faster.

Removed the requirement for the Unix "time" command with m4 Mathomatic.

Allow array variable refs like a[2] or a[1][2] when generating C code.
Just "set special []" to allow straight brackets in variable names.

Another ease-of-use enhancement was implemented, making it possible to
use "#equation-number" anywhere in any expression, it will insert the
expression at that equation number.  This is an improvement that should
have been done long ago.  However, don't expect it to work with the
plot command, "plot #1" does not work because the argument to plot is a
string and/or the current equation.  For example, typing things like
"y=#1^2" is a convenient way to raise the expression in equation space
number 1 to the power of 2 and set it equal to y, or whatever you wish.

Changes in Mathomatic version 15.4.4:
------------------------------------

Many minor but obnoxious bugs were fixed.

Fixed result of constant modulo 0 (e.g. 9 % 0) and infinity modulo
constant (e.g. inf % 9) to be NaN.

Disabled shelling out and the edit command only in m4 Mathomatic.
The terminal hung when shelling out or editing with an m4 front-end.
Plotting still works and pagination is working now for m4 Mathomatic.

Cleaned up tests/quartic.in, it now works without m4 Mathomatic, and is
a single formula to solve most fourth degree polynomial equations.

Created a nice man page for rmath and matho (rmath.1).

Changes in Mathomatic version 15.4.3:
------------------------------------

Fixed negate priority to be the same as TIMES/DIVIDE like Maxima (yay!).
So now entering -x^2 is meaningful.  Previously negate was the highest
priority (high precedence) operator.  Entering -2^2 now results in -4
instead of 4, as in most other mathematics programs (except for pure
calculators like bc).

Flush standard output before reading a line of input from the user
when not using readline, so that the MinGW version works with mintty.

Added a new "for" command, for plugging in sequential values into a
variable in the current expression and displaying the results.
The syntax is the same as the sum and product commands.

Changes in Mathomatic version 15.4.1:
------------------------------------

Upgraded the plot command towards always giving gnuplot a proper plot command,
no matter what the user input is.  The plot command now automatically renames the
variable in a single variable expression to the x variable, so plotting
will always succeed.

Removed Python script "misc/mp"; Couldn't get mpmath to work properly for
all input.

Improved results of the fraction command.

Now saving readline history in $HOME/mathomatic_history when compiled for CygWin.
Now additionally searching for "mathomatic.rc" in $HOME when compiled \ 
for CygWin.

Ported matho-pascal and matho-primes to double floats if USE_DOUBLES is defined,
for systems that don't support long double floats.

Changes in Mathomatic version 15.4.0:
------------------------------------

Added "compare approximate" command option, use of which is more likely to
result in a successful comparison.  Runs the approximate command on
both expressions before comparing, if needed.

The variables command syntax was upgraded to be the same as the code command.

Added code to delete identities in the optimize command.  When identical
equations were optimized, identities would result.  These are now removed.

Fixed incorrect syntax in the menu files in menu directory.

Added "tests/quartic.in".  At last, a working set of equations for \ 
calculating
the four solutions of any quartic equation, similar to "tests/cubic.in".

Fixed parser routine to give a helpful error message when a cursor or function key
string is encountered.  Escape, carriage return, and form-feed are ignored now.

Changes in Mathomatic version 15.3.7:
------------------------------------

Fixed the modulus operator (%) to always evaluate to an integer when
both arguments are integer.
7921%14 was giving 11.000000000001, now gives exactly 11.

Equation number ranges for commands may include unallocated equation
spaces now, allowing entry of any reasonable range.

Changes in Mathomatic version 15.3.6:
------------------------------------

Many minor fixes for consistency and helpfulness were made.

Cleaned up "factor numbers" command for consistency in operation and to
work as documented.

Warn when substituting a non-integer expression into an integer variable.

Added m4/degrees.m4, this can be read into rmath with "rmath degrees.m4"
to use degree units instead of radians for trig functions.
"sudo make m4install-degrees" installs degree mode as the default for
matho and rmath by appending m4/degrees.m4 to m4/functions.m4.

Allow input of #equation-number as the LHS or RHS of any equation.  It is
replaced with the expression or RHS at the specified equation-number.
Note that #equation-number is also the current equation selector, so entering
it as the LHS at the main prompt will function differently.

Simplify (integer % 1) and the like to 0.  Generalized to instantly simplify
to 0 the following: (integer_expression % +/-unit_fraction).

Changes in Mathomatic version 15.3.4:
------------------------------------

Fixed an error reporting bug in the solve command.
There was the possibility of spewed space characters with improper input.

Added code so that solving for 0^2 or variable^2 will properly square both
sides of an equation.  Solving for variable^2 will isolate the square root of
the largest expression containing that variable, and then square both sides of
the equation.  Works for any power and variable with any equation with roots.

Changes in Mathomatic version 15.3.3:
------------------------------------

Fixed -e option to be more like entering what follows into the main prompt;
That is, the autosolve option is left on and errors do not abort.

"set finance" option now groups output with thousands' grouping characters
if the locale information indicates any.  For example: 2,000,000.00

Changes in Mathomatic version 15.3.2:
------------------------------------

Added "help options" command which lists invocation options (like -h).

Entering "nan" now gives a warning, instead of an error,
so that expressions containing NaN can be read back in without aborting.

Added "-c count" option to matho-primes, optionally limiting the number
of lines of primes that are output to "count" lines.

Fixed an old, important bug in the Mathomatic solve routine, where solve was
failing on some easy to solve equations indeterminately, because of
incorrect infinite loop detection code.  Solving should work perfectly now.
This problem was discovered today with the input: "a=a+b" \ 
"a" "b".

Changes in Mathomatic version 15.3.1:
------------------------------------

Improved the help command, allowing multiple help topics on the help
command line.

Improved upon "misc/roots.c", the automatic polynomial root finder.

Increased the maximum number of equation spaces from 100 to 200.
They do not consume memory unless they are used.

Solving things like 0=(x+1)^15+x for x exited the solve routine without grace.
This problem is now fixed for all solve requests that aborted with error.

When using the symbolic math library, the display command now outputs
all specified equation spaces in fraction format and returns the last
equation space listed as a result.
Before it was just a crippled list command with a little simplification
that didn't output anything.

Changes in Mathomatic version 15.3.0:
------------------------------------

Changed -u option to also echo line input, so that m4 Mathomatic is easier to use.

X-Windows icon for the Mathomatic entry within desktop menu systems.

The repeat command can now be shortened to 4 characters, like any other command.

Capitalized E, I, and PI are now no longer parsed as universal constants.
Entering E, I, or PI will now result in the general variables E, I, and PI,
unless "set no case" is previously entered.
This change undoes version 15.2.0 Mathematica compatibility, due to kind user \ 
feedback.
Entering e, i, or pi still gives the universal constants e#, i#, and pi#.

Removed "set negate_highest_precedence" option.
This was done for compatibility and so that less parentheses are displayed
within expressions.  Polynomials should display very nicely now, powers
like "x^2", "y^3", and "x^y" are not parenthesized \ 
unless need be.

Added "list hexadecimal" command option, which displays expressions
exactly as stored internally in hexadecimal.  No precision is lost,
this is because the floating point values are not converted to decimal.

Error reporting was improved.

Changes in Mathomatic version 15.2.2:
------------------------------------

Added "set plot_prefix" option, which allows custom plot functionality.

Changes in Mathomatic version 15.2.1:
------------------------------------

Added the -e option, which processes mathematical expressions and Mathomatic commands
instead of input files on the shell command line.

Improved results of solving for zero.  Results should have reduced integer \ 
coefficients,
by factoring out the GCD of rational coefficients.

Files:
RevisionActionfile
1.93modifypkgsrc/math/mathomatic/Makefile
1.15modifypkgsrc/math/mathomatic/PLIST
1.82modifypkgsrc/math/mathomatic/distinfo
1.23removepkgsrc/math/mathomatic/patches/patch-aa