Summary of important user-visible changes for version 3.6:
---------------------------------------------------------
** The PCRE library is now required to build Octave. If a pre-compiled
package does not exist for your system, you can find PCRE sources
at http://www.pcre.org
** The ARPACK library is no longer distributed with Octave.
If you need the eigs or svds functions you must provide an
external ARPACK through a package manager or by compiling it
yourself. If a pre-compiled package does not exist for your system,
you can find the current ARPACK sources at
http://forge.scilab.org/index.php/p/arpack-ng
** Many of Octave's binary operators (.*, .^, +, -, ...) now perform
automatic broadcasting for array operations which allows you to use
operator notation instead of calling bsxfun or expanding arrays (and
unnecessarily wasting memory) with repmat or similar idioms. For
example, to scale the columns of a matrix by the elements of a row
vector, you may now write
rv .* M
In this expression, the number of elements of rv must match the
number of columns of M. The following operators are affected:
plus + .+
minus - .-
times .*
rdivide ./
ldivide .\
power .^ .**
lt <
le <=
eq ==
gt >
ge >=
ne != ~=
and &
or |
atan2
hypot
max
min
mod
rem
xor
additionally, since the A op= B assignment operators are equivalent
to A = A op B, the following operators are also affected:
+= -= .+= .-= .*= ./= .\= .^= .**= &= |=
See the "Broadcasting" section in the new "Vectorization and Faster
Code Execution" chapter of the manual for more details.
** Octave now features a profiler, thanks to the work of Daniel Kraft
under the Google Summer of Code mentorship program. The manual has
been updated to reflect this addition. The new user-visible
functions are profile, profshow, and profexplore.
** Overhaul of statistical distribution functions
Functions now return "single" outputs for inputs of class "single".
75% reduction in memory usage through use of logical indexing.
Random sample functions now use the same syntax as rand and accept
a comma separated list of dimensions or a dimension vector.
Functions have been made Matlab-compatible with regard to special
cases (probability on boundaries, probabilities for values outside
distribution, etc.). This may cause subtle changes to existing
scripts.
negative binomial function has been extended to real, non-integer
inputs. The discrete_inv function now returns v(1) for 0 instead of
NaN. The nbincdf function has been recoded to use a closed form
solution with betainc.
** strread, textscan, and textread have been completely revamped.
They now support nearly all Matlab functionality including:
* Matlab-compatible whitespace and delimiter defaults
* Matlab-compatible options: 'whitespace', treatasempty', format
string repeat count, user-specified comment style, uneven-length
output arrays, %n and %u conversion specifiers (provisionally)
** All .m string functions have been modified for better performance or
greater Matlab compatibility. Performance gains of 15X-30X have
been demonstrated. Operations on cell array of strings no longer pay
quite as high a penalty as those on 2-D character arrays.
deblank: Now requires character or cellstr input.
strtrim: Now requires character or cellstr input.
No longer trims nulls ("\0") from string for Matlab
compatibility.
strmatch: Follows documentation precisely and ignores trailing spaces
in pattern and in string. Note that this is documented
Matlab behavior but the implementation apparently does
not always follow it.
substr: Now possible to specify a negative LEN option which
extracts to within LEN of the end of the string.
strtok: Now accepts cellstr input.
base2dec, bin2dec, hex2dec:
Now accept cellstr inputs.
dec2base, dec2bin, dec2hex:
Now accept cellstr inputs.
index, rindex:
Now accept 2-D character array input.
strsplit: Now accepts 2-D character array input.
** Geometry functions derived from Qhull (convhull, delaunay, voronoi)
have been revamped. The options passed to the underlying qhull
command have been changed for better results or for Matlab
compatibility.
convhull: Default options are "Qt" for 2D, 3D, 4D inputs
Default options are "Qt Qx" for 5D and higher
delaunay: Default options are "Qt Qbb Qc Qz" for 2D and 3D inputs
Default options are "Qt Qbb Qc Qx" for 4D and higher
voronoi: No default arguments
** Date/Time functions updated. Millisecond support with FFF format
string now supported.
datestr: Numerical formats 21, 22, 29 changed to match Matlab.
Now accepts cellstr input.
** The following warning IDs have been removed:
Octave:associativity-change
Octave:complex-cmp-ops
Octave:empty-list-elements
Octave:fortran-indexing
Octave:precedence-change
** The warning ID Octave:string-concat has been renamed to
Octave:mixed-string-concat.
** Octave now includes the following Matlab-compatible preference
functions:
addpref getpref ispref rmpref setpref
** The following Matlab-compatible handle graphics functions have been
added:
guidata uipanel uitoolbar
guihandles uipushtool uiwait
uicontextmenu uiresume waitfor
uicontrol uitoggletool
The uiXXX functions above are experimental.
Except for uiwait and uiresume, the uiXXX functions are not
supported with the FLTK+OpenGL graphics toolkit.
The gnuplot graphics toolkit does not support any of the uiXXX
functions nor the waitfor function.
** New keyword parfor (parallel for loop) is now recognized as a valid
keyword. Implementation, however, is still mapped to an ordinary
for loop.
** Other new functions added in 3.6.0:
bicg nthargout usejava
is_dq_string narginchk waitbar
is_sq_string python zscore
is_function_handle register_graphics_toolkit
loaded_graphics_toolkits recycle
** Deprecated functions.
The following functions were deprecated in Octave 3.2 and have been
removed from Octave 3.6.
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.6 and will
be removed from Octave 3.10 (or whatever version is the second major
release after 3.6):
cut is_duplicate_entry
cor polyderiv
corrcoef shell_cmd
__error_text__ studentize
error_text sylvester_matrix
** The following functions have been modified for Matlab compatibility:
randperm
CHANGES MADE TO MATHOMATIC 15.8.5 TO BRING IT UP TO THE NEXT VERSION:
Code, documentation, and user interface improvements, corrections,
and cleanup. Fixed many possible bugs, some where the wrong level global
expression buffers were being used.
05/26/12 - Push command improved with better responses. Same functionality.
In the source code, tune-up variable integer_coefficients was
renamed to "factor_out_all_numeric_gcds", because Mathomatic always
tries to have integer coefficients this year, but it doesn't always
factor out all numeric GCDs unless factor_out_all_numeric_gcds
is true, or the factor command is used. The default is false,
for more orderly and revealing coefficients.
Of course, much of what Mathomatic does is
try to improve readability and simplicity.
There is no need to set this variable, just use the factor command.
05/27/12 - Removed C declarations for memmove(3), the defaults in
/usr/include/string.h are probably better and what's wanted in
every case. It would be very odd if this didn't work 100%.
05/28/12 - readline history file renamed to "~/.matho_history" from
"~/.mathomatic_history". File name was too long for CygWin.
Tested thoroughly compiling, installing, and running under
the latest CygWin. Works fine, except for rlwrap. "rlwrap -v"
returns with error, a successful return is how I test for its
existence.
Made output redirection work with the "list primes" command.
06/02/12 - Cleanup of Linux, Mac OS X, and Windows binary distributions.
The Windows binary distribution now includes m4 scripts, in case
CygWin is installed, allowing use of m4 Mathomatic in Windows.
Fixed MinGW version to not output two carriage returns at the
end of every line of list command output.
06/03/12 - If compiled with -DSHOW_RESOURCES, will give total CPU usage and
RSS size in the "version status" command. Requires OS support.
Some OSes will show even more information. Uses getrusage(2).
06/04/12 - Allow breaking out of user line-input requests with Control-C.
Still have to hit the Enter key, but the command will be aborted.
06/05/12 - Added "lib/example.c", the simplest example yet of Symbolic Math
Library usage. Compile with "compile.testmain" or practice
compiling it by hand.
The simplify command now returns the number of expressions
simplified, so you can tell if "simplify sign" worked.
The solve command can now require verification, by using the
"verifiable" option, instead of the "verify" option. This causes
unverifiable solves to return with failure, aborting any reads.
Fixed missing code in internal C function free_mem().
I don't think it was used by anyone. A call to free_mem() is
now made on exit, if Mathomatic is compiled with -DVALGRIND, to
check for memory leaks.
06/08/12 - Added polynomial factoring to GCD result of divide command.
It is always handy to know what the factors are of the GCD.
Allow comma (,) at the end of most input lines. A comma now
terminates an expression instead of giving an error. Allow
commas all over the place, where-ever logical, in any
Mathomatic command-line. They are used as separators,
more so than spaces.
06/09/12 - Cleaned up variables command to always allow the count parameter,
and to line up everything with 8 character wide tabs.
Added ability to place the definite integration bounds on the
integrate command-line, just like the nintegrate command.
Added titles to most help command pages.
06/10/12 - The "factor number" command works much nicer now, and allows comma
separators and zero.
Developers should note that to remain the same as past versions,
HTML mode needs to be "set html all" to output HTML at all times
in both the application and the symbolic math library, even when
redirecting output. Now setting all HTML mode with
"make pdfsheet". "set html" only outputs HTML code to standard
output.
06/13/12 - Added warning in "misc/known_bugs.txt" about LLVM/Clang optimizer
failure when compiling Mathomatic with LLVM/Clang instead of gcc.
If you enable any optimization at all, entering (32^.5) and the
like will hang Mathomatic, putting it in an endless loop.
So when compiling Mathomatic with LLVM/Clang, always disable
optimization with "-O0", so that it will then run and pass
all of the tests in 1 second and not be infinitely slower.
Mathomatic will hang during "make test"
if compiled with optimization enabled using LLVM. Mathomatic is
not noticeably slower when compiled without any optimization,
because everything is memmove(3)s and floating point arithmetic.
06/15/12 - Added repeat option to replace command. A handy feature that
lets you try plugging different values into an equation. It
checks if the result is an identity, too.
06/18/12 - The version command now has a "status" option, which behaves
as before, displaying all version and status information.
The version command by itself now only displays the Mathomatic
version number. Running "mathomatic -v" is now a good way of
testing for the existence of Mathomatic on your system, only
outputting the version number to standard output and exiting
successfully.
06/19/12 - Removed the parenthesizing of variable names in all messages.
If the current expression is a non-equation, then prefixing or
suffixing an expression with "=" will add that expression as
the other equation side now, conveniently making it an equation
you can solve.
06/22/12 - Added equation number ranges option to tally command. Type
"tally -" to resume if the current equation hasn't changed. Type
"tally all" to add together all stored expressions as the starting
value. Specifying equation numbers or ranges will silently add
them, then prompt for the next things to add. The average option
now displays the number of entries (count) each time the average
is displayed. When you exit by typing an empty line, the current
total is saved in the next available equation space and made
current, so it can easily resume with "tally -". "-" by itself
always means the current equation.
gnuplot now works with MS-Windows better. Tried running a Windows
gnuplot test from scratch, without Cygwin, and it didn't work.
It should be mostly fixed now. So go ahead and try plotting
in Windows, after downloading and installing gnuplot. Please
complain if any problems.
Fixed a long-running problem with the plot command, by asking the
user questions, only if needed, so that gnuplot will not give an
error if you are multi-expression plotting.
06/23/12 - Moved load_rc() out of main.c so that the Mathomatic startup set
options file can be loaded by the library, if the developer wishes.
Changed a few things so that "set save" and "set no save" will work
if load_rc() is called beforehand.
06/25/12 - The simplify command has been fixed for optimal integer coefficient
factoring results and so "180*(sides-2)" simplification works
nicely, by keeping the result the same as the start by
factoring out rational constants greater than 1 (this is new),
along with less than 1,
if the coefficients remain or become integers.
Many things cleaned up and finished, like the official
documentation, the "code integer" command, and "examples/fact.c".
06/27/12 - Allow an ASCII string after the "set save" command, to save only
that string in ~/.mathomaticrc, so that string, which should be set
options, is for every Mathomatic session to start with.
For example, "set save bold color" will start out Mathomatic in
bold color mode every time. Enter "set no save" to remove.
"set save" by itself saves all of the current set options for every
future session.
Mathomatic version 16.0.0 released Friday 06/29/12.
Based on PR 46507 by Wen Heping.
* let to register egg-info.
* all files in distfile are not DOS style EOL oter than Windows related files,
so remove extract option for ZIP.
GMPY 1.15 is a bug fix release. The following bugs were fixed:
* Reference counting leak in divmod(x,0).
* Fatal crash in remove(x,1).
* Discontinue use of custom memory allocator. (Fixes compatibility with Sage.)
* Allow up to base-62 integer conversion.
Based on PR 46506 by Wen Heping.
* let to register egg-info.
* marked as incompatible with python 2.5, as new features in 1.3.
but not marked as compatible with 3.x, one file will not be compiled well
both 3.1 and 3.2.
Lease Log:
Networkx-1.6
Release date: 20 November 2011
Highlights
New functions for finding articulation points, generating random bipartite
graphs, constructing adjacency matrix representations, forming graph products,
computing assortativity coefficients, measuring subgraph centrality and
communicability, finding k-clique communities, and writing JSON format output.
New examples for drawing with D3 Javascript library, and ordering matrices with
the Cuthill-McKee algorithm.
More memory efficient implementation of current-flow betweenness and new
approximation algorithms for current-flow betweenness and shortest-path
betweenness.
Simplified handling of "weight" attributes for algorithms that use
weights/costs/values. See Version 1.6 notes and API changes.
Updated all code to work with the PyPy Python implementation http://pypy.org
which produces faster performance on many algorithms.
For full details of the tickets closed for this release (added features and bug
fixes) see: https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.6
API Changes
See Version 1.6 notes and API changes:
http://networkx.lanl.gov/reference/api_1.6.html
Networkx-1.5
Release date: 4 June 2011
For full details of the tickets closed for this release see: https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.5
Highlights
New features
* Algorithms for generating and analyzing bipartite graphs
* Maximal independent set algorithm
* Erd?s-Gallai graphical degree sequence test
* Negative edge cycle test
* More memory efficient Dijkstra path length with cutoff parameter
* Weighted clustering coefficient
* Read and write version 1.2 of GEXF reader format
* Neighbor degree correlation that handle subsets of nodes
* In-place node relabeling
* Many `weighted' graph algorithms now take optional parameter to use
specified edge attribute (default=`weight') (ticket 509)
* Test for distance regular graphs
* Fast directed Erd?s-Renyi graph generator
* Fast expected degree graph generator
* Navigable small world generator
* Waxman model generator
* Geographical threshold graph generator
* Karate Club, Florentine Families, and Davis' Women's Club graphs
API Changes
See Version 1.5 notes and API changes
http://networkx.lanl.gov/reference/api_1.5.html
Bug fixes
* Fix edge handling for multigraphs in networkx/graphviz interface
(ticket 507)
* Update networkx/pydot interface for new versions of pydot
(ticket 506), (ticket 535)
* Fix negative cycle handling in Bellman-Ford (ticket 502)
* Write more attributes with GraphML and GML formats (ticket 480)
* Handle white space better in read_edgelist (ticket 513)
* Better parsing of Pajek format files (ticket 524) (ticket 542)
* Isolates functions work with directed graphs (ticket 526)
* Faster conversion to numpy matrices (ticket 529)
* Add graph[`name'] and use properties to access Graph.name (ticket 544)
* Topological sort confused None and 0 (ticket 546)
* GEXF writer mishandled weight=0 (ticket 550)
* Speedup in SciPy version of PageRank (ticket 554)
* Numpy PageRank node order incorrect + speedups (ticket 555)
Networkx-1.4
Release date: 23 January 2011
New features
* k-shell,k-crust,k-corona
* read GraphML files from yEd
* read/write GEXF format files
* find cycles in a directed graph
* DFS and BFS algorithms
* chordal graph functions
* Prim's algorithm for minimum spanning tree
* r-ary tree generator
* rich club coefficient
* NumPy matrix version of Floyd's algorithm for all-pairs shortest path
* read GIS shapefiles
* functions to get and set node and edge attributes
* and more, see https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.4
API Changes
* gnp_random_graph() now takes a directed=True|False keyword instead of
create_using
* gnm_random_graph() now takes a directed=True|False keyword instead of
create_using
Bug fixes
* see https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.4
Networkx-1.3
Release date: 28 August 2010
See: https://networkx.lanl.gov/trac/timeline
New features
* Works with Python versions 2.6, 2.7, 3.1, and 3.2 (but not 2.4 and 2.5).
* Minimum cost flow algorithms
* Bellman-Ford shortest paths
* GraphML reader and writer
* More exception/error types
* Updated many tests to unittest style. Run with:
"import networkx; networkx.test()" (requires nose testing package)
* and more, see https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.3
API Changes
* minimum_spanning_tree() now returns a NetworkX Graph (a tree or forest)
Bug fixes
* see https://networkx.lanl.gov/trac/query?status=closed&group=milestone&milestone=networkx-1.3
The Munkres module provides an implementation of the Munkres
algorithm (also called the Hungarian algorithm or the Kuhn-Munkres
algorithm), useful for solving the Assignment Problem.
Assignment Problem: Let C be an nxn matrix representing the costs
of each of n workers to perform any of n jobs. The assignment
problem is to assign jobs to workers in a way that minimizes the
total cost. Since each worker can perform only one job and each
job can be assigned to only one worker the assignments represent
an independent set of the matrix C.
Contributed to pkgsrc-wip by Jason Bacon.
ARPACK is a collection of Fortran77 subroutines designed to solve large
scale eigenvalue problems.
The package is designed to compute a few eigenvalues and corresponding
eigenvectors of a general n by n matrix A. It is most appropriate for large
sparse or structured matrices A where structured means that a matrix-vector
product w <- Av requires order n rather than the usual order n**2 floating
point operations. This software is based upon an algorithmic variant of the
Arnoldi process called the Implicitly Restarted Arnoldi Method (IRAM). When
the matrix A is symmetric it reduces to a variant of the Lanczos process
called the Implicitly Restarted Lanczos Method (IRLM). These variants may be
viewed as a synthesis of the Arnoldi/Lanczos process with the Implicitly
Shifted QR technique that is suitable for large scale problems. For many
standard problems, a matrix factorization is not required. Only the action
of the matrix on a vector is needed. ARPACK software is capable of solving
large scale symmetric, nonsymmetric, and generalized eigenproblems from
significant application areas. The software is designed to compute a few (k)
eigenvalues with user specified features such as those of largest real part
or largest magnitude. Storage requirements are on the order of n*k locations.
No auxiliary storage is required. A set of Schur basis vectors for the desired
k-dimensional eigen-space is computed which is numerically orthogonal to working
precision. Numerically accurate eigenvectors are available on request.
Important Features:
o Reverse Communication Interface.
o Single and Double Precision Real Arithmetic Versions for Symmetric,
Non-symmetric, Standard or Generalized Problems.
o Single and Double Precision Complex Arithmetic Versions for Standard
or Generalized Problems.
o Routines for Banded Matrices - Standard or Generalized Problems.
o Routines for The Singular Value Decomposition.
o Example driver routines that may be used as templates to implement
numerous Shift-Invert strategies for all problem types, data types
and precision.
Thiss fixes a compilation issue with aligned_allocator, and a typo
in the ParametrizedLine documentation.
2.0.16:
Fix bug in 3x3 tridiagonlisation (and consequently in 3x3 selfadjoint eigen decomposition).
Fix compilation for new gcc 4.6.
Fix performance regression since 2.0.12: in some matrix-vector product, complex matrix expressions were not pre-evaluated.
Fix documentation of Least-Square.
New feature: support for part<SelfAdjoint>.
Fix bug in SparseLU::setOrderingMethod.
FFTW 3.3.2
* Removed an archaic stack-alignment hack that was failing with
gcc-4.7/i386.
* Added stack-alignment hack necessary for gcc on Windows/i386. We
will regret this in ten years (see previous change).
* Fix incompatibility with Intel icc which pretends to be gcc
but does not support quad precision.
* make libfftw{threads,mpi} depend upon libfftw when using libtool;
this is consistent with most other libraries and simplifies the life
of various distributors of GNU/Linux.
FFTW 3.3.1
* Changes since 3.3.1-beta1:
- Reduced planning time in estimate mode for sizes with large
prime factors.
- Added AVX autodetection under Visual Studio. Thanks Carsten
Steger for submitting the necessary code.
- Modern Fortran interface now uses a separate fftw3l.f03 interface
file for the long double interface, which is not supported by
some Fortran compilers. Provided new fftw3q.f03 interface file
to access the quadruple-precision FFTW routines with recent
versions of gcc/gfortran.
* Added support for the NEON extensions to the ARM ISA. (Note to beta
users: an ARM cycle counter is not yet implemented; please contact
fftw@fftw.org if you know how to do it right.)
* MPI code now compiles even if mpicc is a C++ compiler; thanks to
Kyle Spyksma for the bug report.
FFTW 3.3.2
* Removed an archaic stack-alignment hack that was failing with
gcc-4.7/i386.
* Added stack-alignment hack necessary for gcc on Windows/i386. We
will regret this in ten years (see previous change).
* Fix incompatibility with Intel icc which pretends to be gcc
but does not support quad precision.
* make libfftw{threads,mpi} depend upon libfftw when using libtool;
this is consistent with most other libraries and simplifies the life
of various distributors of GNU/Linux.
CHANGES MADE TO MATHOMATIC 15.8.4 TO BRING IT UP TO THE NEXT VERSION:
General cleanup.
05/11/12 - Renamed fact(x) function to factorial(x), because Maxima uses
the function "factorial(x)" and no one uses "fact(x)". Added
factorial(x) as a standard function in rmath. Removed binary
operator name "mod" from rmath, due to having a different meaning
in conventional mathematics. It previously meant the % operator,
which is a programming language construct and not math.
05/14/12 - Improved user interface of divide command.
05/16/12 - Improved introduction to Mathomatic in "doc/manual.html".
05/17/12 - Made more use of C function !isfinite(double) for better
reliability. Checks for infinity and NaN on user input.
05/18/12 - Solve verify now quick simplifies the solve result, so you
don't have to. This will result in better verification and
less chance of oversized expressions.
05/20/12 - Fixed solving bug where it was throwing away absolute values.
Improved the way Mathomatic looks.
05/21/12 - examples/limits.c is now a highly polished program, LGPL licensed.
Compile with "./compile.limits". Tells the integer and float
C data types, with sizes, characteristics, and verification
for the current C compiler (cc).
Display total number of unique solutions stored with
"simplify sign".
Fixed several errors in the simplify command documentation in the
Mathomatic Command Reference.
05/22/12 - Fixed simplify command to simplify (x^2 - 1)^4/(x + 1)^2 properly,
by factoring repeated factor polynomials at the very end.
Fixed bug in divide command, wasn't calculating the polynomial GCD
sometimes, etc, because input was not being expanded. Broken on
12/14/11, fixed today.
05/23/12 - Fixed limit command to return the original expression when the
limit variable is not found or the expression contains no
variables. A warning is given, telling that this is the case.
Thanks to Parag Magunia for indicating that this was a bug.
Previously these cases only returned with an error message.
"tests/limits.in" limit command regression tests checked and
re-added to the main tests. All still works the same as when
these limit command regression tests were removed long ago.
05/24/12 - Cleanup, and remove "examples/c", replaced with
"examples/compile.limits" and "examples/compile.roots".
Mathomatic version 15.8.5 released Friday 05/25/12.
CHANGES MADE TO MATHOMATIC 15.8.3 TO BRING IT UP TO THE NEXT VERSION:
The version command now displays the last main prompt return value, and
the number of allocated equation spaces.
04/29/12 - Added simplifying trig identities to the tests. Discovered
"solve 0" doesn't work anymore, use "solve for 0" instead.
"solve 0" will be fixed and enhanced shortly.
04/30/12 - "solve 0" and "solve verify 0" work now. "solve verify 0"
will solve for zero and tell you if the equation is an identity
or not, while "solve 0" simply solves the current equation for
zero. "solve all verify 0" will verify that all entered equations
are identities.
With the roots command, the "Inverse check" value is not
displayed unless debugging is enabled now.
The iterative calculate command mode now always tells the
number of completed feedback iterations.
It was not apparent before.
Documented and ignore pause command with demo mode now,
instead of html mode.
Demo mode is specified with -d, html mode with -x.
05/02/12 - Mathomatic now proudly displays when verifying a solve operation.
Too many UI improvements to mention, all relatively minor.
05/03/12 - Added "copy select" option to the copy command, which selects
the first created copy, making it the current equation, rather
than not updating the current equation.
05/04/12 - Ran valgrind on the symbolic math library executable testmain,
after running all the tests, no memory
leaks were found at all! I was surprised! Now I get to pat
myself on the back! I will make another release soon.
05/05/12 - "display simple" is now allowed, in addition to "display mixed",
to display simple or mixed fractions as desired, regardless of
the default.
"set finance" option removed, replace with "set fixed" option.
Works similarly, except now you can do "set fixed_point=0" to have
integer-only output.
"set no fixed" or "set fixed -1" turns off fixed-point
mode, returning you to true floating-point mode.
05/06/12 - Added more integer factoring debugging code. It's a shame that
Mathomatic only does double precision floating point arithmetic.
Made "set no autodelete" the default. Numeric expressions will
not be deleted. "set auto" leaves "autodelete" alone now.
05/07/12 - real and imaginary commands now append "_real" or "_imag" to the
solved for variable name now, if a solved equation. This is for
clarification and ease of use.
05/08/12 - Improved "misc/limits.c" and added GNU LGPL license preamble.
Later moved to directory examples.
-d demo mode now allows using the calculate command without
prompting for the values of any of the variables. This is so the
calculate command can be used with the online versions of
Mathomatic.
05/09/12 - Moved all worthy example source code from directory misc to
directory examples, so they can be included in the binary
distributions. Moved and now available are limits.c, roots.c,
and testprimes.
Improved/shortened the eliminate command messages and made the
"using" syntax consistent.
Need "set debug -2" to suppress everything now, including warnings.
"set debug -1" only suppresses helpful messages now, warnings will
get through. Warnings are usually rather important.
Mathomatic version 15.8.4 released Thursday 05/10/12.
CHANGES MADE TO MATHOMATIC 15.8.2 TO BRING IT UP TO THE NEXT VERSION:
Code cleanup.
03/27/12 - Added simplification of "tests/trig.in" and "tests/hypertrig.in"
to the regression tests.
04/02/12 - Added ability to create all non-re-entrant code, so that the Apple
app store won't complain. The line containing "_REENTRANT" in
"includes.h" has been commented out, so nothing special needs to be
done, when compiling for iOS.
04/07/12 - Added ability to make help command text paragraphs all one long
line, instead of always expecting an 80 column or higher display.
Useful for 40 column displays for example, as long as the display
wraps at 40 columns, the output should look OK. Better than it
did, anyways. Tables and such are preserved. See the beginning
of "help.c".
04/10/12 - Fixed bug failing to run gnuplot with Mathomatic compiled with
MINGW. This only affects the MS-Windows version. So if you have
downloaded gnuplot under MS-Windows, the plot command should work
the same as in all other operating systems, now. Be sure and name
it gnuplot.exe and have it in an executable directory in your PATH.
This fixed bug is thanks to Tom Sturgeon for bringing this
error to my attention. This gnuplot fix will be included in the
next release, version 15.8.3, and is now in the development
version. The problem was caused by differences between the Unix
echo command and the Windows echo command.
04/12/12 - Comparing expressions with the compare command will now tell if
one expression is the negation (times -1) of the other.
04/22/12 - Added the HTML tidy command after rman, so that the HTML errors
created by rman are all fixed.
Added and documented matho_clear(3) to Symbolic Math Library,
replaces clear_all(). Simply rename all occurrences of
clear_all() in your code that uses the library with
matho_clear().
04/23/12 - Improved debugging code and error messages.
04/25/12 - The previous autocalc result is erased every time autocalc is
used, unless "set no autodelete" was done. This is done in case
you would like to keep every calculation you made stored in an
equation space. The default is the previous behavior:
"set autodelete", which only keeps one numerical calculation
in memory. "autodelete" only means something when "autocalc" is
on, and since the library has no calculate command, this is not
available in the symbolic math library.
04/27/12 - Cleanup of equation space selecting, shelling out with !, etc.
In the Mathomatic application, everything is now flushed before
user input (with fflush(NULL)). fflush(NULL) is not used at all
anymore in the symbolic math library.
Mathomatic version 15.8.3 released Saturday 04/28/12.
CHANGES MADE TO MATHOMATIC 15.8.1 TO BRING IT UP TO THE NEXT VERSION:
Change of 12/18/11 partially undone. Preventing power collecting
of absolute values doesn't seem necessary anymore, some other
change done recently must have fixed it.
Now power collecting is always done when requested,
fixing a substantial simplification regression that began on 12/18/11.
03/13/12 - Small fix to main makefile. "mandir" and "docdir" no longer depend
on "datadir".
03/14/12 - Small fix to simplification. Any absolute value (such as
|x*y| = ((x*y)^2)^.5) is now not ever power expanded
(to (x^2)^.5*(y^2)^.5 or (x*x*y*y)^.5), so some results are
simpler, like simplifying |x^2-x|.
03/23/12 - A change to the matho script makes GNU m4 no longer quiet
about any warnings or errors, when running m4 Mathomatic.
Mathomatic version 15.8.2 released Saturday 03/24/12.
* Author: Artem Ignatiev <zazubrik@gmail.com>
* remove require and rake altogether
* gem build and rake gem both work fine without those requires,
* and requiring 'rake' broke bundler
* add rake as development dependency
* Somehow it broken rake on my other project
=== 0.7.0 / 07.05.2012
* Author: Artem Ignatiev <zazubrik@gmail.com>
* use both ruby 1.8 and 1.9 compatible way of getting character code when hashing
* Fix syntax for ruby-1.9
* return gemspec so that bundler can find it
When bundler loads gemspec, it evaluates it, and if the return value is
not a gem specification built, refuses to load the gem.
* Testing worksheet protection
=== 0.6.9 / 28.04.2012
* Yield is more simple here too.
* No need to capture the block in Spreadsheet.open
* Rather than extending a core class, let's just use #rcompact from a helper module
Changes from versions 3.0.* to version 3.1.0:
- The "canard à l'orange" release.
- The MPFR source has been reorganized.
- Dropped ansi2knr support.
- TLS support is now detected automatically. If TLS is supported, MPFR is
built as thread safe by default. To disable TLS explicitly, configure
MPFR with --disable-thread-safe.
- New --enable-gmp-internals configure option to use GMP's undocumented
functions (not from the public API). Note that library versioning is
not guaranteed to work if this option is used.
- The mpfr_urandom and mpfr_urandomb functions now return identical values
on processors with different word size (assuming the same random seed, and
since the GMP random generator does not depend itself on the word size,
cf http://gmplib.org/list-archives/gmp-devel/2010-September/001642.html).
- The mpfr_add_one_ulp and mpfr_sub_one_ulp macros (which are obsolete and
no more documented) will be removed in a future release.
- Speed improvement for the mpfr_sqr and mpfr_div functions using Mulders'
algorithm. As a consequence, other functions using those routines are
also faster.
- Much faster formatted output (mpfr_printf, etc.) with %Rg and similar.
- The --with-gmp-build configure option can now be used when the GMP
source directory and the GMP build directory are different (without
having to copy header files manually as before).
- New functions mpfr_buildopt_gmpinternals_p, mpfr_buildopt_tune_case,
mpfr_frexp, mpfr_grandom and mpfr_z_sub.
- New divide-by-zero exception (flag) and associated functions.
- The mpfr.h header can be included several times, while still supporting
optional functions (see Section "Headers and Libraries" in the manual).
- Updated tuning parameters.
- Improved MPFR manual.
- MPFR tests: libtool no longer generates wrapper scripts with "make check"
(so that running the tests under valgrind or gdb is easier).
- Bug fixes.
Note: The mpfr_subnormalize implementation up to MPFR 3.0.0 did not change
the flags. In particular, it did not follow the generic rule concerning
the inexact flag (and no special behavior was specified). The case of the
underflow flag was more a lack of specification.
NetBSD-6.99.4/amd64:
All 160 tests passed
(1 test was not run)
changes: any new features, performance improvements and bug fixes,
Some highlights are:
-Re-introduction of datetime dtype support to deal with dates in arrays.
-A new 16-bit floating point type.
-A new iterator, which improves performance of many functions.
Functions for inference in generalised linear spatial models. The
posterior and predictive inference is based on Markov chain Monte
Carlo methods. Package geoRglm is an extension to the package geoR,
which must be installed first.
Database interface and PostgreSQL driver for R. This package provides
a Database Interface (DBI) compliant driver for R to access PostgreSQL
database systems. A wiki and issue tracking system for the package
are available at Google Code at https://code.google.com/p/rpostgresql/.
A database interface (DBI) definition for communication between R and
relational database management systems. All classes in this package
are virtual and need to be extended by the various R/DBMS
implementations.
A package with classes and methods for spatio-temporal data. In
particular, space-time regular lattices, sparse lattices, and
irregular data are supported, with limited support for trajectories,
but not for topologies with S/T interactions such as space-time
prisms. Utility functions are provided for plotting data as map
sequences (lattice or animation) or multiple time series; for spatial
and temporal selection, as well as methods for retrieving coordinates,
for subsetting, print, summary, etc.
Provide for uniform handling of R's different time-based data classes
by extending zoo, maximizing native format information preservation
and allowing for user level customization and extension, while
simplifying cross-class interoperability.
An S3 class with methods for totally ordered indexed observations. It
is particularly aimed at irregular time series of numeric
vectors/matrices and factors. Zoo's key design goals are independence
of a particular index/date/time class and consistency with ts and base
R by providing methods to extend standard generics.
CHANGES IN R VERSION 2.14.2:
NEW FEATURES:
o The internal untar() (as used by default by R CMD INSTALL) now
knows about some pax headers which bsdtar (e.g., the default tar
for Mac OS >= 10.6) can incorrectly include in tar files, and
will skip them with a warning.
o Function compactPDF() in package tools now takes the default for
argument gs_quality from environment variable GS_QUALITY: there
is a new value "none", the ultimate default, which prevents
GhostScript being used in preference to qpdf just because
environment variable R_GSCMD is set. If R_GSCMD is unset or set
to "", the function will try to find a suitable GhostScript
executable.
o For consistency with the logLik() method, nobs() for "nls" files
now excludes observations with zero weight. (Reported by Berwin
Turlach.)
UTILITIES:
o R CMD check now reports by default on licenses not according to
the description in 'Writing R Extensions'.
o R CMD check has a new option --as-cran to turn on most of the
customizations that CRAN uses for its incoming checks.
PACKAGE INSTALLATION:
o R CMD INSTALL will now no longer install certain file types from
inst/doc: these are almost certainly mistakes and for some
packages are wasting a lot of space.
+ BUG FIXES
CHANGES IN R VERSION 2.14.1:
NEW FEATURES:
o parallel::detectCores() is now able to find the number of
physical cores (rather than CPUs) on Sparc Solaris.
It can also do so on most versions of Windows; however the
default remains detectCores(logical = TRUE) on that platform.
o Reference classes now keep a record of which fields are locked.
$lock() with no arguments returns the names of the locked fields.
o HoltWinters() reports a warning rather than an error for some
optimization failures (where the answer might be a reasonable
one).
o tools::dependsOnPkg() now accepts the shorthand dependencies =
"all".
o parallel::clusterExport() now allows specification of an
environment from which to export.
o The quartz() device now does tilde expansion on its file
argument.
o Option print in Sweave's RweaveLatex() driver now emulates
auto-printing rather than printing (which can differ for an S4
object by calling show() rather than print()).
o filled.contour() now accepts infinite values: previously it might
have generated invalid graphics files (e.g. containing NaN
values).
+ BUG FIXES