* Updated test files from the Math::BigInt distribution
* Updated bundled Devel::CheckLib from v0.92 to v0.93
* Math::BigInt::GMP now requires Math::BigInt v1.997
* Include "^MYMETA\.(yml|json)\z" in MANIFEST.SKIP. Whereas META.* are
generated by the distribution author at packaging time, MYMETA.* are
generated by the end user at configure time after any dynamic dependencies
are known.
* Changed Makefile.PL so that a "make dist" makes a META.yml and META.json.
* Updated common test files from the Math::BigInt distribution.
Notable changes in FriCAS 1.1.6 (compared to version 1.1.5):
- Added experimental graph theory package.
- Added power series expanders for Weierstrass elliptic
functions at 0.
- New functions: kroneckerProduct and kroneckerSum for matrices,
numeric weierstrassInvariants and modularInvariantJ, symbolic
Jacobi Zeta, double float numeric elliptic integrals.
- New domains for vectors and matrices of unsigned 8 and 16 bit integers.
- Changes to Spad compiler: underscores which are not needed as escape
are now significant in Spad names and strings, macros with parameters
are supported, added partial support for exceptions, braces can
be used for grouping.
- A few speedups.
- Reduced disc space usage during build.
Bug fixes, in particular:
- Fixed eval of hypergeometricF at 0
- Fixed problem with scope of macros.
- Worked around problems with openinig named pipes in several Lisp
implementations.
- Fixed a problem with searching documentation via HyperDoc.
- Fixed build problem on Mac OSX.
Notable changes in FriCAS 1.1.5 (compared to version 1.1.4):
- Added numeric version of lambertW.
- New function 'rootFactor' which tries to write roots of products
as products of roots.
- 'try', 'catch' and 'finally' are now Spad keywords.
- Experimental support for using gmp with Closure CL (64-bit Intel/Amd
only).
- New categoris CoercibleFrom and ConvertibleFrom. New domain
for ordinals up to epsilon0. New domain for matrices of machine
integers. New package for solving linear equations written as
expressions (faster then general expression solver).
- Functions exported by Product() are now called 'construct', 'first'
and 'second' (instead of 'makeprod', 'selectfirst' and 'selectsecond'
respectively).
- Some functions are now much faster, in particular bivariate
factorization over small finite fields.
- When using sbcl FriCAS now tries to preload statistical profiler.
Bug fixes, in particular:
- Fixed handling of Control-C in FriCAS compiled by recent sbcl.
- Fixed HyperDoc crash due to bad handling of '#'.
- Fixed power series expanders for elliptic integrals.
- Fixed 'possible wild ramifcation' problem with algebraic
integrals.
- 'has' in interpreter now correctly handles '%'.
- Spad compiler can now handle single '=>' at top level of a function.
- Fixed few problems with conditional types in Spad compiler.
Notable changes in FriCAS 1.1.4 (compared to version 1.1.3):
- New domains for combinatorial probability theory by Franz Lehner.
- Improved integration of algebraic functions.
- Initial support for semirings.
- Updated framework for theory of computations.
- In Spad parser '**', '^' and '->' are now
right-associative.
- Spad parser now longer transforms relational operators.
- Join of categories is faster which speeds up Spad compiler.
Bug fixes, in particular:
- Retraction of 'rootOf' from Expression(Integer) to AlgebraicNumber
works now.
- Attempt to print error message about invalid type no longer
crash (SF 2977357).
- Fixed few problems in Spad compiler dealing with conditional exports.
- HyperDoc now should find all function descriptions (previously
it missed several).
CHANGES MADE TO MATHOMATIC 15.7.3 TO BRING IT UP TO THE NEXT VERSION:
02/05/12 - The variables command now returns false (with error message) if
no normal variables are listed with the default or "count"
command line options. This is so it can detect numeric-only
expressions, which may be useful.
02/08/12 - The set command now returns the string "Success." upon success,
if the debug level is positive or zero. m4 Mathomatic startup
m4 scripts required adjustment, so they wouldn't repeatedly say
"Success.".
02/13/12 - The variables command by default now displays e, i, pi as e#, i#,
and pi#, so you can tell they are not normal variables. This
affected other functionality of the variables command, fix was
uploaded before the end of the day.
02/14/12 - Change of 12/24/11 was undone. Many expressions containing the
imaginary unit, such as the complex exponential expansion of the
tangent function, were not getting simplified with the simplify
command. See the complex number problem in "misc/known_bugs.txt".
Simplification should work better now for expressions containing
division by complex numbers.
Mathomatic version 15.8.0 released Saturday 02/18/12.
CHANGES MADE TO MATHOMATIC 15.7.2 TO BRING IT UP TO THE NEXT VERSION:
Some minor user interface improvements were made.
12/14/11 - Further improved parse_complex(), so simplify works better and
the divide command no longer approximates, giving more accurate
symbolic answers.
12/18/11 - Combining powers and different denominators that contain absolute
values like ((x^2)^.5) is now prevented. This allows correct
simplification and solving when dealing with absolute values.
Tested with the Batman equations, which, when plotted
display the Batman logo ("tests/batman_plot").
12/21/11 - Moved place where 1/i is converted to -i to within the complex
number division handler, making complex number results more
consistent and correct.
12/23/11 - Changed the chief author's main email address to
"gesslein@mathomatic.org". The old linux.com email address didn't
seem to work, reliability issues, etc.
12/24/11 - Combining different denominators that contain the imaginary unit
(i) is now prevented. This prevents getting different answers
after simplifying a complicated complex number expression.
01/01/12 - All copyright dates updated to include the new year 2012.
Happy New Year everybody!
"set html" in the library now allows pretty HTML output with
redirected output and with 2D library result string expression
output ("set display2d" or display command).
Still no color HTML output for the library.
01/04/12 - Improvement to simplification made, less unnecessary divisions
and prettier results of the simplify command. Needs testing.
01/05/12 - Added color HTML output for redirected output when using the
symbolic math library.
01/24/12 - Increased the size of icons/mathomatic.png to 64x64 and made
it look nicer. This is the new, resizeable Mathomatic logo:
icons/mathomatic.svg.
01/25/12 - Published makenews.sh script to make the NEWS file out of the
changes.txt file.
01/26/12 - Added tests/demo and tests/demo_sub, to run specific scripts,
and create complete HTML output files from them. These are used
to create the examples on the Mathomatic website.
Mathomatic version 15.7.3 released Wednesday 02/01/12.
CHANGES MADE TO MATHOMATIC 15.7.1 TO BRING IT UP TO THE NEXT VERSION:
A C code cleanup was performed and new debugging/self-checking code was added.
11/19/11 - "make uninstall" now uninstalls the prime number tools and
symbolic math library too.
11/20/11 - Cleaned up calculate command to allow feedback iteration of more
than one expression at a time, for a consistent user interface.
11/22/11 - The Mathomatic command "help geometry" now enters the common
geometry formulas for you, into equation spaces.
Added "help conversions" which enters some common metric/English
conversion formulas; with it, you just select the equation that
does what you want, solving for the desired unit of measurement.
Then you just type "repeat calculate" to try different values.
"tests/geometry.in" and "tests/conversions.in" have been
subsequently removed.
11/25/11 - When compiled for the Symbolic Math Library, Mathomatic defaults
to single-line output ("set no display2d"), so that output can be
easily fed back into the input. Otherwise, output defaults to
2D mode ("set display2d"). Mathomatic no longer ignores the
display2d flag when using the Symbolic Math Library.
11/26/11 - The command "factor number" now works in the symbolic math library,
similarly to the way it works in the Mathomatic application.
11/27/11 - matho-sumsq in the Prime Number Tools now gets its input from
standard input, if invoked with no arguments.
11/29/11 - Added shell script "misc/testprimes" for a parallel, brute force
test for the first 50,000,000 primes generated by matho-primes.
Read the shell script for more information. Runs in 30 seconds on
a fast, dual-core computer.
11/30/11 - Added -m option to matho-primes, which allows specifying a
memory size multiplier.
12/02/11 - Added ability to push a text string into the readline history
buffer, with the "push string" command. Whenever the command
"push equation-number-ranges" fails, the entire argument text
string is pushed, instead.
12/03/11 - Made it so that entering "#" followed by a variable name at the main prompt
searches backwards through all equation spaces for that variable, and then
selecting and displaying that equation space. "/" followed by a variable name
performs similarly, but searches forward.
12/04/11 - Added "help main" command, which lists all things allowed at the
main prompt.
Added "tests/cubic2.in", which is the general cubic polynomial
formula using 2 equations.
Improved display order and functionality of "optimize all" command.
12/11/11 - Better detection of complex numbers with fixed parse_complex()
internal function.
Rationalizing denominators that contain absolute values ((x^2)^.5)
is now prevented. This was a bug.
Mathomatic version 15.7.2 released Tuesday 12/13/11.
CHANGES MADE TO MATHOMATIC 15.7.0 TO BRING IT UP TO THE NEXT VERSION:
11/03/11 - Added "tests/heart.in", which plots a nice looking heart with
gnuplot while running Mathomatic.
Displaying thousands separators in MinGW was failing, now it must
be specified with the THOUSANDS_SEPARATOR compile-time define.
Thousands separators are not well supported in most standard C
libraries, causing failure to display numbers, so they are now
turned off. So now "set finance" works in the MS-Windows version,
it was not working at all before (bug reports, anyone?).
11/04/11 - Testing "set finance" mode when doing the standard Mathomatic
tests now. "tests/finance.in" now does "set finance" first thing.
Do we need a round-up option for "set finance" mode? Currently
rounds to nearest cent.
11/06/11 - Some minor improvements to the Mathomatic symbolic math library
error handling output were made. And no more redundant nor
inappropriate things are sent to standard output when SILENT=0,
only helpful messages are output.
Added the "unfactor count" command option, which also displays the
resulting number of additive terms in each equation side.
11/10/11 - Improved error and warning messages.
Rearrangements were made for future reliability and thorough
testing.
11/11/11 - Allow multiple equation-number-ranges for the simplify command.
11/12/11 - Code cleanup and added more DEBUG error checking.
Added a little helpful color to the help command.
11/13/11 - "repeat echo -" now draws a line of dashes, "repeat echo" clears
the screen, etc.
The derivative command now properly terminates as soon as the
derivative reaches 0, whenever an order greater than 1 is
specified. Previously it just kept differentiating, order times.
The number of derivatives taken until the result reached 0 is
displayed. No primes are added to the LHS variable if the required
number of primes to add won't fit in the variable name. Previously
it gave the wrong number of primes (') if they all didn't fit.
Cleanup of the Mathomatic Prime Number Tools and their man pages.
11/14/11 - Fixed a missing check for out of memory failure in plot command.
Plotting expressions with sign variables in them now gives a
suggestion to try "simplify sign" first, because gnuplot doesn't
handle +/- or sign variables, but it can plot multiple
expressions at once.
11/17/11 - Made "make test" and ./t work under Cygwin, by ignoring trailing
carriage returns when comparing test output.
Mathomatic version 15.7.1 released Friday 11/18/11.
CHANGES MADE TO MATHOMATIC 15.6.5 TO BRING IT UP TO THE NEXT VERSION:
A C code cleanup was done.
10/02/11 - Allow an equation-number-range to be specified on the calculate
command command-line, so that multiple equation spaces can be
calculated automatically with a single command.
10/19/11 - Improved nintegrate command results. nintegrate of cos(sin(x+1))
wrt x from 0 to 1 now always gives the correct simplified result.
Rewrote to allow specifying lower and upper bounds on command line.
10/20/11 - Divide command improved: Allow specifying the dividend and divisor
on the command line. Other minor fixes.
The Mathomatic command "plot x^2" works now, Mathomatic
automatically replaces all ^ with ** on the plot command line.
10/21/11 - Added compilation option -fexceptions to CFLAGS in the Mathomatic
application and library makefiles and build scripts. May be why
exception handling wasn't working well in the past.
10/22/11 - Fixed the display command in the symbolic math library to respond
to "set columns=number" to cut-off the 2D expression output string
at the number column, instead of always 80 columns. And Unix shell
style redirection for the display command works now, to be
consistent with the other library commands, simultaneously
returning a single 2D expression string (width controlled by the
"set columns" variable) and outputting all specified 2D expressions
to the file pointed to by gfp (width limit set to infinity).
Trying to remove -lncurses from ld command line again, getting more
build failures because of it. To compile under old Red Hat Linux,
"LDLIBS=-lncurses make READLINE=1" must be used now. All other
distros should easily compile with no changes now.
10/24/11 - Added the "variables count" option, to display the counts of each
variable in the specified expressions or equations.
11/01/11 - Added "NEWS" file, which is just "changes.txt" reversed. "NEWS" is
ordered neatly with the latest changes at the top.
Mathomatic version 15.7.0 released Wednesday 11/02/11.
CHANGES MADE TO MATHOMATIC 15.6.4 TO BRING IT UP TO THE NEXT VERSION:
8/25/11 - Now allowing balanced parentheses with anything inside them in
variable names, so that they can preserve functions temporarily.
Just type "set special ()" to use this option and stop getting
errors when entering functions. They will not be real functions,
just variables whose name is the complete function string.
8/27/11 - Added sinc(x) function to m4 Mathomatic, which is the normalized
sinc function, defined as sin(pi*x)/(pi*x).
8/31/11 - Split off the generally useful stuff and general C math defines
from am.h to standard.h; am.h only contains Mathomatic defines now.
standard.h and complex_lib.c with complex.h can be included in
your C math programs if you like, with no changes required.
Use of gcd.c in other floating point programs that need a gcd() or
double-to-fraction convert function is recommended. The code
has been heavily tested by this CAS.
9/02/11 - Fixed and tested the variables command to handle complex number
equations better.
9/04/11 - Cleaned up and improved documentation on modular arithmetic and
its options. Mathomatic can simplify, calculate, and even solve
modular arithmetic!
9/06/11 - The 2D display command's internals were
rewritten to allow outputting to C string buffers. This allows
the display command to return a multi-line, formatted expression
string when using the Symbolic Math Library. Note that there is
no color mode when outputting to a C string, but if you send the
string to a terminal, it displays the specified equation space
nicely in 2D fraction format.
9/18/11 - Mathomatic "help color" command page created.
9/19/11 - Ported Mathomatic to latest OpenIndiana SunOS operating system.
Some changes were required and implemented for easier compilation.
All tests passed!
9/24/11 - Improved set command error reporting.
Mathomatic version 15.6.5 released Sunday 09/25/11.
CHANGES MADE TO MATHOMATIC 15.6.3 TO BRING IT UP TO THE NEXT VERSION:
8/05/11 - Approximating complex number roots only when helpful or approximating,
improving some results when imaginary numbers are used; for example,
simplifying sqrt(sin(x)) now returns the best possible result.
8/06/11 - Added "make strip" target to allow easily running the Unix strip
utility on the resulting binaries.
Deleted the "make install-strip" and "make bininstall-strip" targets.
Additionally display C compiler version number in version command.
8/09/11 - Added ability to make a shared library of the Symbolic Math Library,
using the cmake utility. "CMakeLists.txt" was the only file changed.
The shared library is thoroughly UNtested. :-)
8/13/11 - A colon character (:) placed before any main prompt input will make
it ignore any error occuring in that particular line, so any current
read operation won't abort. Any Mathomatic command preceded with a
colon will always return with successful status.
File "misc/identities.in" was added, showing a strength and weakness
of Mathomatic.
Removed "doc" target in makefile, due to interference from a
directory of the same name; use the "html" target instead.
Added cheat card "doc/quickrefcard.html", created by "make htmlcard"
and scripts "makehtmlcard.sh" and "makehtmlcard.awk". The PDF of
this currently has to be made manually with a web browser, using
print to PDF file.
Added ability to automatically create cheat sheet "quickref.pdf",
created by "make pdfsheet", which invokes script "makepdfsheet.sh".
8/19/11 - General complex number root approximation bug fix: expressions like
sqrt(sin(9)) now give the correct result, instead of a negative
number, when using the calculate command. The calculate command is
used to immediately evaluate it when you type "sqrt(sin(9))" into
the m4 Mathomatic main prompt.
8/20/11 - The variables command now defines all "integer" and "sign" variables
as "int" instead of "double".
8/21/11 - Rewrote the code command code lister to allow output to a C string.
Code command is now completely available with string output in the
Symbolic Math Library, meaning Mathomatic can automatically
generate programming language code within other programs now.
Mathomatic version 15.6.4 released Wednesday 08/24/11.
CHANGES MADE TO MATHOMATIC 15.6.2 TO BRING IT UP TO THE NEXT VERSION:
Source code and user documentation cleanup and corrections.
Creating a PDF book from the Mathomatic man pages with "make bookman" is more
likely to work now. Package txt2man must be installed to run "make bookman".
6/24/11 - Added file misc/known_bugs.txt, which is the current list of known
bugs in Mathomatic.
7/04/11 - Added file tests/quadratic.in, just a script that solves the general
quadratic equation.
7/06/11 - Fixed error messaging to not always give command usage information
when a command fails or gives a negative result.
Now only gives command usage info when helpful,
like when something on the command line is incorrect.
7/07/11 - Fixed the Mathomatic derivative command to not fail with a helpful
error message when the derivative is zero.
Now it just gives a warning message along with the successful
result of the constant zero.
7/23/11 - Mathomatic no longer compiles correctly with the latest Xcode gcc,
due to a bug in Apple's gcc optimizer. Either turn the optimizer
completely off when compiling with Xcode, or use the gcc provided
by MacPorts. Xcode version 3.x and other non-Apple C compilers will
work fine. All mention of Xcode has been removed from the
Mathomatic distribution.
7/28/11 - Balanced parentheses and brackets are now allowed in variable names,
if the "set special_variable_characters" command is run first.
For example, "set special ()" will allow entry of named functions,
converting them to variables, which might be useful in some cases.
However, entry of variables like "f(x)" will not be differentiatable,
because there is no "x" variable in that, only the "f(x)" variable.
There can be no spaces encountered in the function; variable names
end at any non-variable character, including space characters. I
can change this, if anyone requests it.
Entry of array elements is still possible with "set special []".
This is the default.
7/29/11 - Prompts are now blue when reading files into Mathomatic in color mode.
7/30/11 - Allow an equation number range on the solve command line, for faster,
more automated solving. If you want to solve all entered equations
for x, just type "solve all x" or "solve verify all for x" to be sure.
7/31/11 - Allow "repeat read filename" command, which repeatedly reads a script
until it fails or is aborted.
8/04/11 - "make install" now shows if installed executables are new or have
changed since the last install.
Mathomatic version 15.6.3 released Thursday 08/04/11.
CHANGES MADE TO MATHOMATIC 15.6.1 TO BRING IT UP TO THE NEXT VERSION:
6/06/11 - Corrected datadir variable usage in the main Mathomatic makefile.
Directly importing datadir could have catastrophically deleted the
entire /usr/share directory with "make uninstall".
6/12/11 - Added proper compilation option (WIN32_CONSOLE_COLORS) for color mode
in MinGW, in case use with mintty.exe is desired.
Mathomatic version 15.6.2 released Sunday 06/12/11.
CHANGES MADE TO MATHOMATIC 15.6.0 TO BRING IT UP TO THE NEXT VERSION:
The Mathomatic user documentation and help have been shaped up.
A BOLD_COLOR compile-time flag was added, to make Mathomatic default to
using bold color mode. Used on the Mac and Windows versions of
Mathomatic now.
5/8/11 - The "factor number" command now allows number ranges, in addition
to integers and integer expressions.
5/9/11 - Install "m4/functions.m4" to proper directory (/usr/share/mathomatic/m4).
The "m4" directory is no longer installed to the system doc directory.
A big thanks to Terje Røsten of Fedora for showing me the way on this,
and for his timely Mathomatic package maintenance in Fedora Linux.
5/11/11 - The matho-primes utility can now be run from within Mathomatic by typing
"list primes". Put any arguments you want to pass to matho-primes on the
"list primes" command line. Redirection doesn't work yet for this, so it
remains undocumented.
5/15/11 - Added NOGAMMA compile-time define, which makes the factorial function
integer only, if desired.
Added color mode to the MinGW Windows version of Mathomatic, thanks to
Doug Snead for the code. Tested in cmd.exe, command.com, and CygWin.
The new color mode does not work in mintty.exe.
5/16/11 - Allow defining SILENT=0 when compiling the symbolic math library,
so that "set debug level" works and normal Mathomatic debugging works
within the library code. Thanks to Doug Snead for suggesting this.
5/21/11 - Changed "make check" to not use the time command, as /usr/bin/time is not
available on all systems. "make test" performs the same function and
still uses time.
5/23/11 - Updated the Free Software Foundation's address in the LGPL license text
and in all source files.
Mathomatic version 15.6.1 released Sunday 06/05/11.
* Stop to treat NetBSD's sed as GNU sed, not full compatible.
* Then, no need to reset TOOLS_PLATFORM.gsed for NetBSD if USE_TOOLS+=gsed and
real GNU sed is required.
* In addition, convert simple USE_TOOLS+=gsed to conditionally, without NetBSD.
* convert {BUILD_,}DEPENDS+=gsed to USE_TOOLS, all tools from gsed are real gsed.
(Leaf package, so ok during freeze.)
Upstream changelog:
2009.08.14: Changes between NTL 5.5.1 and 5.5.2
New routines MulAddTo and MulSubFrom for computing x += a*b and x
-= a*b, where x and a are ZZ's and b is a ZZ or a long. In the case
where b is a long, this may be much faster than writing mul(t, a, b);
add(x, x, t). See ZZ.txt for details. These new routines are used in a
number of places in NTL to get faster algorithms (for example, the LLL
routine).
Fixed a relatively benign indexing bug in GF2EX discovered by
Berend-Benjamin Tams using the valgrind tool.
2009.05.05: Changes between NTL 5.5 and 5.5.1
If using GMP (via either NTL_GMP_LIP or NTL_GMP_HACK), then the
new version (4.3.0) of GMP implements the XGCD functionality
differently, so that the coefficients do not always agree with those
returned by the classical extended Euclidean algorithm. This version
of NTL corrects the coefficients, so that the "classical" coefficients
are always produced, regardless of GMP's implementation. This version
of NTL also works around a bug in GMP 4.3.0's XGCD code (although that
bug should be fixed in GMP 4.3.1).
The configure script has been slightly modified: there is a new
configuration variable DEF_PREFIX, whose value can be used to set
PREFIX, GMP_PREFIX, and GF2X_PREFIX in one stroke. Also, the (somewhat
esoteric) configure variables GMP_LIBDIR, GMP_INCDIR, GF2X_LIBDIR, and
GF2X_INCDIR have slightly different meanings now.
2009.04.08: Changes between NTL 5.4.2 and 5.5
Added the ability to generate a shared library (with help from Tim
Abbott). Details.
Fixed some standardization issues (with help from Tim Abbot):
default location of installed documentation files now conforms to
standards; use of EOF now conforms to standards.
Added a callback mechanism to NTL's error reporting function. See
ErrorCallback in tools.txt.
Added support for the gf2x library for speeding up arithmetic in
GF2X (with help from Emmanuel Thom?). Details.
In conjuction with the above, I also changed the GF2X so that it
works better with very large polynomials: large blocks of memory are
released, recursive HalfGCD algorithms are used for large polynomials.
Fixed a bug in void TraceMod(zz_p& x, const zz_pX& a, const
zz_pXModulus& F) (reported by Luca De Feo).
Fixed a performance issue in various versions of SetCoeff
(reported by Luca De Feo).
Fixed the declaration of mat_zz_p transpose(const mat_zz_p& a)
(reported by Benoit Lacelle).
2008.03.05: Changes between NTL 5.4.1 and 5.4.2
Fixed a bug in the sub(ZZ_pEX, ZZ_pE, ZZ_pEX) and sub(zz_pEX,
zz_pE, zz_pEX) routines (reported by Charanjit Jutla). Under certain
circumstances, these could outout wrong answers.
2007.05.09: Changes between NTL 5.4 and 5.4.1
Fixed rounding bug in expm1 (reported by Paul Zimmermann).
Fixed memory leak in several LLL routines (reported by Friedrich Bahr).
Fixed infinite loop in several LLL routines (this only occurred on
machines, like x86, with double rounding).
Improved GF2X timing tests (suggested by Paul Zimmermann).
2005.03.24: Changes between NTL 5.3.2 and 5.4
By default, NTL now compiles in ISO mode (using namespaces,
etc.). You can always revert to traditional mode by unsetting the flag
NTL_STD_CXX (either pass NTL_STD_CXX=off to the configure script, or
manually edit the config.h file).
Some bug fixes:
The sqrt and log1p routines for the RR class would produce
incorrectly rounded results in certain circumstances (although this
only affected the relative error of the result very marginally).
The SqrRootPrec routine for the RR class could not be called,
because it was defined incorrectly.
Thanks to Paul Zimmermann for finding (and fixing) these bugs!
Paul has also validated NTL's RR class by cross-checking it with the
MPFR library.
Some performance enhancements:
Added a new MulModPrecon inline function for computing (a * b)
% n for single precision numbers, when b and n are fixed for several
computations. On some platforms this can be twice as fast or more than
the old MulMod2 routine. This indirectly affects a lot of computations
that are done via homomorphic imaging (polynomial multiplication over
zz_p, ZZ_p, and ZZ, matrix computations over zz_p and ZZ).
Rewrote the small prime FFT to take advantage of the new
MulModPrecon, and to be more cache friendly.
Improved the performance of the GF2X multiplication
routine. On some platforms, it can be twice as fast as the old
one. Thanks (again) to Paul Zimmermann for suggesting some of these
improvements and supplying some of the code.
Miscellany:
Rewrote several of the installation scripts in Perl (the old
shell scripts were getting too messy to maintain). However, the syntax
for all of the command-line interfaces remains identical.
2004.05.21: Changes between NTL 5.3.1 and 5.3.2
Some bug fixes.
Re-wrote SqrRootMod to make it run faster.
This makes the package build and work at least in NetBSD on some platforms.
Summary of important user-visible changes for version 3.4.3:
-----------------------------------------------------------
** Octave 3.4.3 is a bug fixing release.
Summary of important user-visible changes for version 3.4.2:
-----------------------------------------------------------
** Octave 3.2.4 fixes some minor installation problems that affected
version 3.4.1.
Summary of important user-visible changes for version 3.4.1:
-----------------------------------------------------------
** Octave 3.4.1 is primarily a bug fixing release.
** IMPORTANT note about binary incompatibility in this release:
Binary compatibility for all 3.4.x releases was originally planned,
but this is impossible for the 3.4.1 release due to a bug in the way
shared libraries were built in Octave 3.4.0. Because of this bug,
.oct files built for Octave 3.4.0 must be recompiled before they
will work with Octave 3.4.1.
Given that there would be binary incompatibilities with shared
libraries going from Octave 3.4.0 to 3.4.1, the following
incompatible changes were also made in this release:
* The Perl Compatible Regular Expression (PCRE) library is now
required to build Octave.
* Octave's libraries and .oct files are now installed in
subdirectories of $libdir instead of $libexecdir.
Any future Octave 3.4.x release versions should remain binary
compatible with Octave 3.4.1 as proper library versioning is now
being used as recommended by the libtool manual.
** The following functions have been deprecated in Octave 3.4.1 and will
be removed from Octave 3.8 (or whatever version is the second major
release after 3.4):
cquad is_duplicate_entry perror strerror
** The following functions are new in 3.4.1:
colstyle gmres iscolumn isrow mgorth nproc rectangle
** The get_forge_pkg function is now private.
** The rectangle_lw, rectangle_sw, triangle_lw, and triangle_sw
functions are now private.
** The logistic_regression_derivatives and logistic_regression_likelihood
functions are now private.
** ChangeLog files in the Octave sources are no longer maintained
by hand. Instead, there is a single ChangeLog file generated from
the Mercurial version control commit messages. Older ChangeLog
information can be found in the etc/OLD-ChangeLogs directory in the
source distribution.
Summary of important user-visible changes for version 3.4:
---------------------------------------------------------
** BLAS and LAPACK libraries are now required to build Octave. The
subset of the reference BLAS and LAPACK libraries has been removed
from the Octave sources.
** The `lookup' function was extended to be more useful for
general-purpose binary searching. Using this improvement, the
ismember function was rewritten for significantly better
performance.
** Real, integer and logical matrices, when used in indexing, will now
cache the internal index_vector value (zero-based indices) when
successfully used as indices, eliminating the conversion penalty for
subsequent indexing by the same matrix. In particular, this means it
is no longer needed to avoid repeated indexing by logical arrays
using find for performance reasons.
** Logical matrices are now treated more efficiently when used as
indices. Octave will keep the index as a logical mask unless the
ratio of true elements is small enough, using a specialized
code. Previously, all logical matrices were always first converted
to index vectors. This results in savings in both memory and
computing time.
** The `sub2ind' and `ind2sub' functions were reimplemented as compiled
functions for better performance. These functions are now faster,
can deliver more economized results for ranges, and can reuse the
index cache mechanism described in previous paragraph.
** The built-in function equivalents to associative operators (`plus',
`times', `mtimes', `and', and `or') have been extended to accept
multiple arguments. This is especially useful for summing
(multiplying, etc.) lists of objects (of possibly distinct types):
matrix_sum = plus (matrix_list{:});
** An FTP object type based on libcurl has been implemented. These
objects allow ftp connections, downloads and uploads to be
managed. For example,
fp = ftp ("ftp.octave.org);
cd (fp, "gnu/octave");
mget (fp, "octave-3.2.3.tar.bz2");
close (fp);
** The default behavior of `assert (observed, expected)' has been
relaxed to employ less strict checking that does not require the
internals of the values to match. This avoids previously valid
tests from breaking due to new internal classes introduced in future
Octave versions.
For instance, all of these assertions were true in Octave 3.0.x
but false in 3.2.x due to new optimizations and improvements:
assert (2*linspace (1, 5, 5), 2*(1:5))
assert (zeros (0, 0), [])
assert (2*ones (1, 5), (2) (ones (1,5)))
** The behavior of library functions `ismatrix', `issquare', and
`issymmetric' has been changed for better consistency.
* The `ismatrix' function now returns true for all numeric,
logical and character 2-D or N-D matrices. Previously, `ismatrix'
returned false if the first or second dimension was zero.
Hence, `ismatrix ([])' was false,
while `ismatrix (zeros (1,2,0))' was true.
* The `issquare' function now returns a logical scalar, and is
equivalent to the expression
ismatrix (x) && ndims (x) == 2 && rows (x) == columns (x)
The dimension is no longer returned. As a result, `issquare ([])'
now yields true.
* The `issymmetric' function now checks for symmetry instead of
Hermitianness. For the latter, ishermitian was created. Also,
logical scalar is returned rather than the dimension, so
`issymmetric ([])' is now true.
** Function handles are now aware of overloaded functions. If a
function is overloaded, the handle determines at the time of its
reference which function to call. A non-overloaded version does not
need to exist.
** Overloading functions for built-in classes (double, int8, cell,
etc.) is now compatible with Matlab.
** Function handles can now be compared with the == and != operators,
as well as the `isequal' function.
** Performance of concatenation (using []) and the functions `cat',
`horzcat', and `vertcat' has been improved for multidimensional
arrays.
** The operation-assignment operators +=, -=, *= and /= now behave more
efficiently in certain cases. For instance, if M is a matrix and S a
scalar, then the statement
M += S;
will operate on M's data in-place if it is not shared by another
variable, usually increasing both time and memory efficiency.
Only selected common combinations are affected, namely:
matrix += matrix
matrix -= matrix
matrix .*= matrix
matrix ./= matrix
matrix += scalar
matrix -= scalar
matrix *= scalar
matrix /= scalar
logical matrix |= logical matrix
logical matrix &= logical matrix
where matrix and scalar belong to the same class. The left-hand
side must be a simple variable reference.
Moreover, when unary operators occur in expressions, Octave will
also try to do the operation in-place if it's argument is a
temporary expresssion.
** The effect of comparison operators (<, >, <=, and >=) applied to
complex numbers has changed to be consistent with the strict
ordering defined by the `max', `min', and `sort' functions. More
specifically, complex numbers are compared by lexicographical
comparison of the pairs `[abs(z), arg(z)]'. Previously, only real
parts were compared; this can be trivially achieved by wrapping the
operands in real().
** The automatic simplification of complex computation results has
changed. Octave will now simplify any complex number with a zero
imaginary part or any complex matrix with all elements having zero
imaginary part to a real value. Previously, this was done only for
positive zeros. Note that the behavior of the complex function is
unchanged and it still produces a complex value even if the
imaginary part is zero.
** As a side effect of code refactoring in liboctave, the binary
logical operations are now more easily amenable to compiler
optimizations and are thus significantly faster.
** Octave now allows user-defined `subsasgn' methods to optimize out
redundant copies. For more information, see the manual.
** More efficient matrix division handling. Octave is now able to
handle the expressions
M' \ V
M.' \ V
V / M
(M is a matrix and V is a vector) more efficiently in certain cases.
In particular, if M is triangular, all three expressions will be
handled by a single call to xTRTRS (from LAPACK), with appropriate
flags. Previously, all three expressions required a physical
transpose of M.
** More efficient handling of certain mixed real-complex matrix
operations. For instance, if RM is a real matrix and CM a complex
matrix,
RM * CM
can now be evaluated either as
complex (RM * real (CM), RM * imag (CM))
or as
complex (RM) * CM,
depending on the dimensions. The first form requires more
temporaries and copying, but halves the FLOP count, which normally
brings better performance if RM has enough rows. Previously, the
second form was always used.
Matrix division is similarly affected.
** More efficient handling of triangular matrix factors returned from
factorizations. The functions for computing QR, LU and Cholesky
factorizations will now automatically return the triangular matrix
factors with proper internal matrix_type set, so that it won't need
to be computed when the matrix is used for division.
** The built-in `sum' function now handles the non-native summation
(i.e., double precision sum of single or integer inputs) more
efficiently, avoiding a temporary conversion of the whole input
array to doubles. Further, `sum' can now accept an extra option
argument, using a compensated summation algorithm rather than a
straightforward sum, which significantly improves precision if lots
of cancellation occurs in the summation.
** The built-in `bsxfun' function now uses optimized code for certain
cases where built-in operator handles are passed in. Namely, the
optimizations concern the operators `plus', `minus', `times',
`ldivide', `rdivide', `power', `and', `or' (for logical arrays),
the relational operators `eq', `ne', `lt', `le', `gt', `ge', and the
functions `min' and `max'. Optimizations only apply when both
operands are of the same built-in class. Mixed real/complex and
single/double operations will first convert both operands to a
common type.
** The `strfind' and `strrep' functions now have compiled
implementations, facilitating significantly more efficient searching
and replacing in strings, especially with longer patterns. The code
of `strcat' has been vectorized and is now much more efficient when
many strings are concatenated. The `strcmpi' and `strncmpi'
functions are now built-in functions, providing better performance.
** Matlab-style ignoring input and output function arguments using
tilde (~) is now supported. Ignored output arguments may be
detected from a function using the built-in function `isargout'.
For more details, consult the manual.
** The list datatype, deprecated since the introduction of cells, has
been removed.
** The accumarray function has been optimized and is now significantly
faster in certain important cases.
** The behavior of isreal and isnumeric functions was changed to be more
Matlab-compatible.
** The integer math & conversion warnings (Octave:int-convert-nan,
Octave:int-convert-non-int-val, Octave:int-convert-overflow,
Octave:int-math-overflow) have been removed.
** rem and mod are now built-in functions. They also handle integer
types efficiently using integer arithmetic.
** Sparse indexing and indexed assignment has been mostly rewritten.
Since Octave uses compressed column storage for sparse matrices,
major attention is devoted to operations manipulating whole columns.
Such operations are now significantly faster, as well as some other
important cases.
Further, it is now possible to pre-allocate a sparse matrix and
subsequently fill it by assignments, provided they meet certain
conditions. For more information, consult the `spalloc' function,
which is no longer a mere dummy. Consequently, nzmax and nnz are no
longer always equal in Octave. Octave may also produce a matrix
with nnz < nzmax as a result of other operations, so you should
consistently use nnz unless you really want to use nzmax (i.e. the
space allocated for nonzero elements).
Sparse concatenation is also affected, and concatenating sparse
matrices, especially larger collections, is now significantly more
efficient. This applies to both the [] operator and the
cat/vertcat/horzcat functions.
** It is now possible to optionally employ the xGESDD LAPACK drivers
for computing the singular value decomposition using svd(), instead
of the default xGESVD, using the configuration pseudo-variable
svd_driver. The xGESDD driver can be up to 6x times faster when
singular vectors are requested, but is reported to be somewhat less
robust on highly ill-conditioned matrices.
** Configuration pseudo-variables, such as page_screen_output or
confirm_recursive_rmdir (or the above mentioned svd_driver), now
accept a "local" option as second argument, requesting the change
to be undone when the current function returns:
function [status, msg] = rm_rf (dir)
confirm_recursive_rmdir (false, "local");
[status, msg] = rmdir (dir, "s");
...
endfunction
Upon return, confirm_recursive_rmdir will be restored to the value
it had on entry to the function, even if there were subsequent
changes to the variable in function rm_rf or any of the functions
it calls.
** pkg now accepts a -forge option for downloading and installing
packages from Octave Forge automatically. For example,
pkg install -forge general
will automatically download the latest release of the general
package and attempt to install it. No automatic resolving of
dependencies is provided. Further,
pkg list -forge
can be used to list all available packages.
** The internal data representation of structs has been completely
rewritten to make certain optimizations feasible. The field data
can now be shared between structs with equal keys but different
dimensions or values, making operations that preserve the fields
faster. Economized storage is now used for scalar structs (just
like most other scalars), making their usage more
memory-efficient. Certain array-like operations on structs
(concatenation, uniform cellfun, num2cell) have gained a
significant speed-up. Additionally, the octave_scalar_map class
now provides a simpler interface to work with scalar structs within
a C++ DLD function.
** Two new formats are available for displaying numbers:
format short eng
format long eng
Both display numbers in engineering notation, i.e., mantissa +
exponent where the exponent is a multiple of 3.
** The following functions are new in Octave 3.4:
accumdim erfcx nfields pqpnonneg uigetdir
bitpack fileread nth_element quadcc uigetfile
bitunpack fminbnd onCleanup randi uiputfile
blkmm fskipl pbaspect repelems uimenu
cbrt ifelse pie3 reset whitebg
curl ishermitian powerset rsf2csf
chop isindex ppder saveas
daspect luupdate ppint strread
divergence merge ppjumps textread
** Using the image function to view images with external programs such
as display, xv, and xloadimage is no longer supported. The
image_viewer function has also been removed.
** The behavior of struct assignments to non-struct values has been
changed. Previously, it was possible to overwrite an arbitrary
value:
a = 1;
a.x = 2;
This is no longer possible unless a is an empty matrix or cell
array.
** The dlmread function has been extended to allow specifying a custom
value for empty fields.
** The dlmread and dlmwrite functions have been modified to accept
file IDs (as returned by fopen) in addition to file names.
** Octave can now optimize away the interpreter overhead of an
anonymous function handle, if the function simply calls another
function or handle with some of its parameters bound to certain
values. Example:
f = @(x) sum (x, 1);
When f is called, the call is forwarded to @sum with the constant 1
appended, and the anonymous function call does not occur on the
call stack.
** Deprecated functions.
The following functions were deprecated in Octave 3.0 and have been
removed from Octave 3.4.
beta_cdf geometric_pdf pascal_pdf
beta_inv geometric_rnd pascal_rnd
beta_pdf hypergeometric_cdf poisson_cdf
beta_rnd hypergeometric_inv poisson_inv
binomial_cdf hypergeometric_pdf poisson_pdf
binomial_inv hypergeometric_rnd poisson_rnd
binomial_pdf intersection polyinteg
binomial_rnd is_bool setstr
chisquare_cdf is_complex struct_contains
chisquare_inv is_list struct_elements
chisquare_pdf is_matrix t_cdf
chisquare_rnd is_scalar t_inv
clearplot is_square t_pdf
clg is_stream t_rnd
com2str is_struct uniform_cdf
exponential_cdf is_symmetric uniform_inv
exponential_inv is_vector uniform_pdf
exponential_pdf isstr uniform_rnd
exponential_rnd lognormal_cdf weibcdf
f_cdf lognormal_inv weibinv
f_inv lognormal_pdf weibpdf
f_pdf lognormal_rnd weibrnd
f_rnd meshdom weibull_cdf
gamma_cdf normal_cdf weibull_inv
gamma_inv normal_inv weibull_pdf
gamma_pdf normal_pdf weibull_rnd
gamma_rnd normal_rnd wiener_rnd
geometric_cdf pascal_cdf
geometric_inv pascal_inv
The following functions were deprecated in Octave 3.2 and will
be removed from Octave 3.6 (or whatever version is the second major
release after 3.2):
create_set spcholinv splu
dmult spcumprod spmax
iscommand spcumsum spmin
israwcommand spdet spprod
lchol spdiag spqr
loadimage spfind spsum
mark_as_command sphcat spsumsq
mark_as_rawcommand spinv spvcat
spatan2 spkron str2mat
spchol splchol unmark_command
spchol2inv split unmark_rawcommand
The following functions have been deprecated in Octave 3.4 and will
be removed from Octave 3.8 (or whatever version is the second major
release after 3.4):
autocor cellidx gammai krylovb values
autocov dispatch glpkmex replot
betai fstat is_global saveimage
* For compatibility with Matlab, mu2lin (x) is now equivalent to
mu2lin (x, 0).
* The ARPACK library is now distributed with Octave so it no longer
needs to be available as an external dependency when building
Octave.
Although mcsim.dvi, mcsim.html, and mcsim.texinfo aren't on the PLIST, the
package tries to build them anyway, at least on DragonFly. This modifies
the documentation makefile to prevent this. DragonFly doesn't have dvips
and thus the package was failing to build.
environment. Note: some of the ones I'm adding may not be absolutely
required; I made this list by checking atimes after building R with
all tex stuff available, and confirmed that with (only) these packages
available it does build.
It doesn't help that the R makefile, apparently intentionally, doesn't
stop if running tex fails.
The ld linker from binutils 2.22 has --no-copy-dt-needed-entries enabled by
default, which is exactly opposite of earlier versions of the linker.
Previously ld would recursively search libraries linked in by the object's
primary libraries during symbol resolution. Now linker wants all libraries
explicit requested, otherwise one gets a message such as this:
ld: <object file>: undefined reference to symbol '<symbol>'
ld: note: '<symbol>' is defined in DSO <shared library> so try adding it
to the linker command line.
If this message is encountered, the two options are either to explicitly
add it to the linker command as suggested, or use the
--no-copy-dt-needed-entries switch to return the linker to its previous
behavior. In the case of math/pari, libstdc++ was added to the library
list for the plotfltk.o object. This explicit link is required by DragonFly
which is migrated to binutils 2.22 as its default version.
as executables rather than loadable modules
This might cause that the pkg doesn't build on as many platforms as
it did before, but it has a chance to work now.
bump PKGREV
Recent versions of devel/p5-Object-InsideOut optionally uses this
module.
This module provides pseudorandom number generators (PRNGs) that are
based on the Mersenne Twister algorithm. There is a functional
interface to a standalone PRNG, and an OO interface (based on the
inside-out object model as implemented by the Object::InsideOut
module) for generating multiple PRNG objects.
=== 0.6.5.8 / 30.8.2011
* This patch is about adding a sheet_count method to workbook so that it returns
* the total no of worksheets for easy access. Please check. By
* tamizhgeek@gmail.com
* https://gist.github.com/1180625
3.0202 July 23, 2011
- Moved tag-release.pl to scripts/tag-release.pl (though we now use
Mercurial instead of Subversion.)
- Add t/mode.t to test the ->mode() method.
- Documented ->mode() better.
- Optimized ->mode().
3.0201 October 14, 2010
- Add some documentation clarifying the 0th percentile return, as it
returns undef() for representing -inf:
- Fix https://rt.cpan.org/Ticket/Display.html?id=62055
- Thanks to Dave Breimann for reporting it.
- Add the tag-release.pl to tag a release using Subversion.
0.43 Tue 02 Aug 2011
- Changed name in META.yml (RT#69574)
0.42 Wed 01 Jun 2011
- Add --html output option to xlscat
- Force CSV parser when in-sep is given
- Prefer Data::Peek over Data::Dumper if available
0.41 Wed 06 Oct 2010
- Spell-check
- Fixed requiring optional modules (RT#61928 - Roderick Schupp)
0.59 April 6 2011
+ Patch for decryption of default encrypted workbooks from
Alexey Mazurin.
! Fix for invalid formatting of text cell that are numeric.
http://rt.cpan.org/Public/Bug/Display.html?id=62073
2011-02-26 v1.16 pjacklam (6153 tests)
* Change bigintpm.inc to reflect recent changes in the Math::BigInt
distribution (Peter John Acklam).
2011-02-10 v1.15 pjacklam (6151 tests)
* Include latest version of test scripts from Math-BigInt (closes RT #65580)
(Peter John Acklam).
* Add 00sig.t for testing SIGNATURE, and 01load.t for basic module loading and
giving diagnostics useful for bug tracking (Peter John Acklam).
* Rename pod.t to 02pod.t and pod_cov.t to 03podcov.t and use more generic
code (Peter John Acklam).
* Clean up whitespace (Peter John Acklam).
2011-02-26 v1.36 pjacklam (6362 tests)
* Change bigintpm.inc to reflect recent changes in the Math::BigInt
distribution (Peter John Acklam).
* Use a _nok() function more similar to the one in Math::BigInt::Calc
(Peter John Acklam).
2011-02-08 v1.35 pjacklam (6361 tests)
* Rename files for testing signature, module loading, and POD so the names
are within the 8+3 character limit (Peter John Acklam).
* Rename method _nok_ok() to the correct _nok(). There ought to have been a
test catching an error like that (Peter John Acklam).
* Fix _nok() giving wrong output when second input argument is zero
(Peter John Acklam).
* Fix _nok() so it doesn't modify its second input arg (Peter John Acklam).
* Update the included Devel::CheckLib to most recent version as suggested in
RE #63055 (Peter John Acklam).
* Apply "chmod 0644" to the few test scripts that don't already have that
mode (Peter John Acklam).
2011-02-07 v1.34 pjacklam (6361 tests)
* Rename _num() to _str(). The old _num() did exactly what _str() is supposed
to do, according to the API documentation (Peter John Acklam).
* Add a _num() function which (currently) simply numifies the output from
_str() (Peter John Acklam).
* Clean up whitespace (Peter John Acklam).
* Fix POD errors (Peter John Acklam).
* Add _nok() method. Now the old claim that Math::BigInt::GMP conforms to API
version 2 is actually true (Peter John Acklam).
* Edit the test files that were copied from the Math::BigInt distribution, so
we now test Math::BigInt against Math::BigInt::GMP, not Math::BigInt::Calc.
I had forgotten this when I copied the test files from the Math::BigInt
distribution. This reduces the total test count, since some test are not
executed with Math::BigInt::GMP (Peter John Acklam).
* Replace morse code in 'README' with proper text (Peter John Acklam).
* Include '01-load.t' for explicitly testing module loading (Peter John
Acklam).
* Use more generic code in 'pod.t' and 'pod_cov.t' (Peter John Acklam).
2011-01-30 v1.33 pjacklam (6411 tests)
* Fix _modinv() so that it works the same way as _modinv() in other
Math::BigInt libraries: The output arguments are an object and the
corresponding sign, not undef (Peter John Acklam).
* Include most recent versions of the test files from the Math-BigInt
distribution (bigfltpm.inc, bigfltpm.t, bigintpm.inc, bigintpm.t,
biglog.t, and bigroot.t) (Peter John Acklam).
* Include generic SIGNATURE test file (Peter John Acklam).
* Required version of Math::BigInt is now 1.99_05 (Peter John Acklam).
0.09 Mon Dec 06 2010
- explicit use of of Math::BigInt to avoid confusing Devel::Cover
0.08 Mon Dec 06 2010
- don't short-circuit encoding '0' so it gets proper padding.
* Fix t/matlab.t failing on Windows (RT 64629)
* Applied patch from RT 51669 (POD rendering)
* Applied patch from RT 61334 (fix croak in new_from_string)
* Make reference check less strict in _new_from_row_or_cols (requested by MJD)
Changes 2.06:
* added submatrix() (exactly the same behavior as sec() from PDL, for 2D
matrices)
* t/submatrix.t created
* t/decompose_LR.t created
* !!!NEED documentation for submatrix()
* Compiling OpenMP support (--enable-openmp) now installs a fftw3_omp library,
instead of fftw3_threads, so that OpenMP and POSIX threads (--enable-threads)
libraries can be built and installed at the same time.
* Various minor compilation fixes, corrections of manual typos, and
improvements to the benchmark test program.
* Add support for the AVX extensions to x86 and x86-64. The AVX code works with
16-byte alignment (as opposed to 32-byte alignment), so there is no ABI
change compared to FFTW 3.2.2.
* Added Fortran 2003 interface, which should be usable on most modern Fortran
compilers (e.g. gfortran) and provides type-checked access to the the C FFTW
interface. (The legacy Fortran-77 interface is still included also.)
* Added MPI distributed-memory transforms. Compared to 3.3alpha, the major
changes in the MPI transforms are:
* Fixed some deadlock and crashing bugs.
* Added Fortran 2003 interface.
* Added new-array execute functions for MPI plans.
* Eliminated use of large MPI tags, since Cray MPI requires tags < 224.
* Expanded documentation.
* make check now runs MPI tests
* Some ABI changes — not binary-compatible with 3.3alpha MPI.
* Add support for quad-precision __float128 in gcc 4.6 or later (on x86.
x86-64, and Itanium). The new routines use the fftwq_ prefix.
* Temporarily removed MIPS paired-single support due to lack of available
hardware for testing. We hope to add it back before the final FFTW 3.3
release; meanwhile, users who want this functionality should continue using
FFTW 3.2.x.
* Removed support for the Cell Broadband Engine. Cell users should use FFTW
3.2.x.
* New convenience functions fftw_alloc_real and fftw_alloc_complex to use
fftw_malloc for real and complex arrays without typecasts or sizeof.
Changes:
- Added "jet bundle" framework by Werner Seiler and Joachim Schue,
which includes completion procedure and symmetry analysis for PDE.
- Better splitting of group representations (added Holt-Rees improvement
to meatAxe).
- Added numeric versions of some elliptic integrals and few more elliptic
functions.
- Speeded up FFCGP (finite fields via Zech logarithms).
- New experimental flag (off by default, set via setSimplifyDenomsFlag)
which if on causes removal of irrationalities from denominators.
Usually it causes slowdown, but on some examples gives huge speedup.
It may go away in future (when no longer needed).
- Added experimental framework for theory of computations.
Bug fixes, in particular:
- Numerical solutions of polynomial systems have now required accuracy
(SF 2418832).
- Fixed problem with crashes during tracing.
- Fixed a problem with nested iteration (SF 3016806).
- Eliminated stack overflow when concatenating long lists.
From README:
RPy2 is subject to the Mozilla Public License Version 1.1 (the
"License"); you may not use RPy2 except in compliance with the
License. You may obtain a copy of the License at
http://www.mozilla.org/MPL/ (or see the file MPL_LICENSE)
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and
limitations under the License.
The Original Code is the RPy2 python package, itself subdivived
into subpackages and modules.
All code is Copyright of the respective author(s).
See the file AUTHORS for further details regarding authorship.
Alternatively, RPy2 may be used under the terms of either the GNU
General Public License Version 2 or later (the "GPL", see the file
GPL_LICENSE), or the GNU Lesser General Public License Version 2.1
or later (the "LGPL", see the file LGPL_LICENSE), in which case the
provisions of the GPL or the LGPL are applicable instead of those
above. If you wish to allow use of your version of this file only
under the terms of either the GPL or the LGPL, and not to allow
others to use your version of this file under the terms of the MPL,
indicate your decision by deleting the provisions above and replace
them with the notice and other provisions required by the GPL or the
LGPL. If you do not delete the provisions above, a recipient may use
your version of this file under the terms of any one of the MPL, the
GPL or the LGPL.
Changes:
- Experimental Texmacs interface and Texmacs format output.
- Guessing package can now guess algebraic dependencies.
- Expansion into Taylor series and limits now work for most
special functions.
- Spad to Aldor translator is removed.
- Spad compiler no longer allows to denote sets using braces.
Bug fixes, in particular:
- Fixed few cases where elementary integrals were returned
unevaluated or produced wrong results.
- Unwanted numerical evaluation should be no longer a problem
(FriCAS interpreter now very strongly prefers symbolic
evaluation over numerical evaluation).
- Fixed a truncation bug in guessing package which causes loss
of some correct solutions.
- TeX and MathML format should correctly put parentheses around
and inside sums and products.
- Fixes few problems with handling of Unicode.