faster calculation in Crypt::DH.
Provides support for big integer in BigInt et al. calculations via means of
Math::Pari, an XS layer on top of the very fast PARI library.
o Ensure that the include/ directory exists before installing into it
(uncovered during bulk build, causing include to be a file, and
causing cascading build problems for all subsequent packages
wanting to install include files...)
o Do some other minor adjustments to placate pkglint.
Changes since 14.3.6:
- Perfected the user interface for the sum, product, and integrate
commands.
- Restored initial full simplify in the limit command for better
results, that was unintentionally removed in version 14.1.0.
- Fixed an endless loop in simplification; results look better, too.
- Added "set save" command, which makes all current session options
permanent, by saving them in "~/.mathomaticrc". "set no save"
removes this file.
- Added "mathomatic -s" option, which stands for secure mode. This is
a run-time option that disallows shelling out and writing files, and
was created for use on public servers that can't use the SECURE
compile-time define.
- Doubled the default maximum mathematical expression size to allow
larger expressions.
- A fatal compilation error when compiling with defines other than
UNIX was fixed.
- Slight improvement made to simplification; results are more simple
and stable.
- The maximum integer that can be factored has been raised from 14 to
15 decimal digits.
- Small fix made to fraction command and "simplify fraction" for
better looking fractions.
- Added a "simplify quickest" command option, which does no
unfactoring nor factoring.
- Made full simplification more efficient and simpler by cutting out
unnecessary loops.
- Improved the divide command and enabled its use in the symbolic math
library. Enabled code and variables commands in library, too.
Currently, library output of these 3 commands can only be gathered
by redirecting to a file.
- Added "set autoselect" and "set auto" options. Use "set no auto" to
always store entered expressions into equation spaces, unless it is
a command.
Changes:
commit 815ea2aadc2644a426b87f8c4e41d58a01d50de0
Author: Keith Packard <keithp@keithp.com>
Date: Sat Jun 21 02:31:29 2008 -0700
Bump to version 2.68
commit e278cfc926e5cd2ee51c9e45a642b2803d93cceb
Author: Keith Packard <keithp@keithp.com>
Date: Sat Jun 21 02:28:53 2008 -0700
Bump debian standards to 3.8.0
commit d69f9ba5dbf231bf2c8ecd5ab55e550d11f5ebae
Author: Keith Packard <keithp@keithp.com>
Date: Sat Jun 21 02:28:34 2008 -0700
Add README.release
commit 74d032db530e2441f47b68549d18a70956ddf601
Author: Keith Packard <keithp@keithp.com>
Date: Mon May 19 13:22:11 2008 -0700
Non-interactive stdin is always available for reading.
Failing to set the 'stdinOwned' flag meant that you could never read from
stdin which wasn't a terminal. Oops.
commit d0604e797cf194eb025a1784766ebea8cf38ec87
Author: Keith Packard <keithp@keithp.com>
Date: Wed Mar 26 23:21:41 2008 -0700
Allow background nickle to not poll on tty ownership
When stdin is connected to a terminal but nickle is not the foreground
process on that terminal, the io code would poll to wait for ownership to
flip back to nickle so that reads could be performed without generating a
signal. Now, nickle waits until someone actually tries to read from the
terminal before starting to poll. This means that simple background
processing nickle programs will not poll every 100ms.
commit fd8d02af5bf2884858108421fec40b8c7ca9863b
Author: Keith Packard <keithp@keithp.com>
Date: Wed Mar 26 16:22:44 2008 -0700
Remove support for non-SIGIO pipes
Older version of the kernel (before 2001) failed to generate SIGIO on pipes,
so nickle had code to poll instead. I think we can safely remove that code
now.
commit 5106300e425315c5f753dd4e1bf2c1ff6d19db64
Author: Keith Packard <keithp@keithp.com>
Date: Fri Mar 21 12:31:00 2008 -0700
Fix floating point printing to correctly round output
commit e7f78ce3e66259f0a08c0099de4b89ad739c03c8
Author: Keith Packard <keithp@keithp.com>
Date: Thu Mar 20 10:56:38 2008 -0700
Fix divide_by_zero exception type in fourfours.5c example
commit e00e48546d26c6e0c22c70cb7eb14e81c897c61e
Author: Keith Packard <keithp@keithp.com>
Date: Thu Mar 20 10:20:52 2008 -0700
Make SRPM + RPM build work by serializing dependencies.
$(SRPM) $(RPM): ...
build
fails as it does 'build' twice.
commit 48e852689a43de236f93aa13172d31c8eb536fc1
Author: Keith Packard <keithp@keithp.com>
Date: Wed Mar 19 23:24:45 2008 -0700
Makefile fixes: make main.o depend on Makefile, ensure debuild actually does
commit 27ace3a23d90e8e5fe16b943743a8d9144cca7e6
Author: Keith Packard <keithp@keithp.com>
Date: Wed Mar 19 23:12:13 2008 -0700
Avoid having the 'pretty_print' builtin show two error messages.
NamespaceLocate takes a 'complain' boolean that will print out an error
message, but the pretty_print command also raises an exception when it fails
to find the name. Two errors is at least one too many here.
commit 31e633b55cece8a6e46d763b2e51c974b450a12f
Author: Keith Packard <keithp@keithp.com>
Date: Wed Mar 19 22:38:18 2008 -0700
Rename the builtin Process namespace to PID to not conflict with the Process library
commit ffc553a721015347939cc07da4a81577d86093d0
Author: Keith Packard <keithp@keithp.com>
Date: Wed Mar 19 22:37:49 2008 -0700
FileGetErrorMessage returns a Value, not a char *
base pkg
-replace hard gnuplot dependency by a MESSAGE as it is only needed
if one really wants to plot a function
-register with desktop-file-utils
bump PKGREVISION
The fix is suboptimal because the y2037 problem remains. It would be
better to either
-extend the "cln" lib for 64-bit integers (but the code is a mess
already) or
-split the time_t into a lower/higher part and convert them seperately,
which is less than elegant.
-add a MESSAGE telling that gnome-vfs or wget are needed to fetch
currency exchange rates automatically, so the (wrong) wget dependency
can be removed from child pkgs
bump PKGREVISION
Overview of changes in gcalctool 5.26.2
* Remove negative sign from numbers rounded to zero. This is
only a partial fix as the error value is still visible in
scientific notation (Robert Ancell, Bug #560802)
* Support odd roots of negative numbers (Robert Ancell, Bug
#576973)
* Keep settings (show zeroes, thousands separator etc) when
changing modes (Robert Ancell, Bug #580398)
* Fix missing license text in about dialog (Robert Ancell, Bug
#579174)
* Updated documentation: el (Jennie Petoumenou)
* Updated translations: el (Jennie Petoumenou), es (Jorge
Gonzalez)
Pkgsrc changes:
o Change from using extension.mk to egg.mk, on hints from wiz@
o Adjust PLIST so that it matches what is then installed.
o Bump PKGREVISION
- Updating package for p5 module Math::BigInt::GMP from 1.23 to 1.24
- Setting license to gnu-gpl-v2
Upstream changes:
2007-07-31 v1.24 Tels 5530 tests
* apply patch for warnings about ptr size mismatch under Cygwin (thanx Reini Urban!)
* make it work under 5.6.x again by defining SvUOK() (Thanx Marcus Holland-Moritz
and Reini Urban!)
Notable changes (compared to 1.0.5 version) include:
- the axiom script is no longer installed (use fricas script instead)
- some undesirable simplification are no longer done by default,
for example now asin(sin(3)) is left unevaluated
- support lambda expressions using '+->' syntax and nested functions
in Spad
- better configure, support for Dragonfly BSD
- faster bootstrap, also parallel (this does not affect speed
of release build)
Several bug fixes, in particular:
- fixed a regression introduced in 1.0.4 which caused equality
for nested products to sometimes give wrong result
- corrected fixed output of floating point numbers,
- operations on differential operators like symmetric power work now
- fixed crashes related to coercing power series
- functions returning Void can be traced
Backwards-incompatible changes:
* cut out broken code intended to support xgraph
New items in core:
* function bfallroots to compute polynomial roots with bigfloats
* general scheme for integrals of special functions
* exponential integrals
* incomplete beta function
* Fresnel integrals
* Lambert W function
New items in share:
* package minpack
* package colnew
* package z_transform
* package finance
Other revisions:
* additional special cases of integrals of power functions
* bigfloat arithmetic
* special functions (beta, gamma, error, Bessel, elliptic and inverse
elliptic, hypergeometric, Laplace functions and friends)
* new version of Imaxima user interface
* recognize integers in base greater than 10
* tex function can assign user function as TeX property
* revision and translation of message strings (incomplete)
* documentation revisions throughout
* patches for Clozure CL throughout
* build Maxima with ECL via build system used for other Lisps
* minor code clean-up throughout
* other improvements and bug fixes
Math::Round is a Perl module. It supplies functions to round numbers,
both positive and negative, in various ways. This may seem like an
odd thing to write a whole module for, but rounding can sometimes be
a little tricky, so I thought some people might find this useful.
Changes since 14.2.7:
12/23/08 - Simplified makefile.
12/26/08 - Fixed rules for simplifying "(x^n)^m" so "misc/john.in" and
others simplify better. Works similar to Maxima now.
12/27/08 - Numeric GCD now properly returns the other parameter, if
either parameter is 0. Renamed "misc/polyroots.c" to
"misc/roots.c" and simplified this example code.
12/30/08 - Added "update" script, which updates the function
prototypes in "cproto.h".
1/1/09 - Optionally factor out the gcd of integer coefficients when
improving readability, for example: 6x+4y becomes 2*((3*x) +
(2*y)). This is now the default.
1/13/09 - Added descriptions of all interesting math scripts in
"tests/README.txt".
1/16/09 - Allow nintegrate and "integrate definite" commands in the
symbolic math library; the bounds are specified in the two
equation spaces following the current equation.
1/18/09 - Made expression and equation entry always consecutively
numbered equation spaces, unless memory is exhausted.
1/19/09 - Made consistent list command output with only one newline
after each equation space.
1/21/09 - Fixed erroneous doubling of parentheses display when solving
and showing steps with "set debug 2".
1/22/09 - Added -b option, to conveniently set bold color mode from
the command line.
1/25/09 - Improved looks of eliminate command by not solving if
equation is already solved.
2/3/09 - Table of contents was added to the Mathomatic User's Manual.
2/5/09 - Added display of any numerical fractions when calculating or
using calculate command; for example, entering "1/2+3/8" now
results in "answer = 0.875 = 7/8".
2/6/09 - Removed erroneous lsqrt() routine obtained from Wikipedia, so
that matho-sumsq works properly now.
2/7/09 - Disable pause command when appropriate (when input not a tty
and for symbolic math library).
2/8/09 - Polished up educational example scripts in "tests" directory.
2/11/09 - Entry of a function now results in "Named functions
currently not implemented" error message.
2/12/09 - Bugfix to matho-primes and added "misc/limits.c".
2/15/09 - The fraction command was fixed to give better results. "set
display2d" flag now no longer affects any results at all, it
only affects 2D output mode.
2/17/09 - Renamed -h (HTML) option to -x, -h is now the help option.
Added -w option to set wide output mode.
3/9/09 - Found the correct formulas for solving the general cubic
equation on Wikipedia, so "tests/cubic.in" always gives
correct answers now.
3/12/09 - Tweak made to simplify result beautifier: factoring priority
only given to real variables now, special constant variables
pi#, e#, and i# have no effect and behave like any constant
now.
3/15/09 - Corrected and improved parse_complex() C function for more
complex number functionality and a bug fix.
3/18/09 - Added "set negate_highest_precedence" option, which allows
the negate operator to be the lower precedence of times and
divide, like it is in Maxima and most other math programs.
3/24/09 - Made "set no autosolve" mode more useful by making it solve
if a solve variable is entered with an equals sign. This
allows easy entry of both single variable expressions (with
no =) and solve variables (with =) while in this mode.
3/27/09 - Selecting equations by entering the equation number was
returning with error if the equation space was empty.
Fixed, you can now select any previously allocated equation
space.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
changes:
-Behavior of mpfr_check_range changed
-Function mpfr_init_gmp_rand is no longer defined
-New functions
-Configure test for TLS support
-Get default $CC and $CFLAGS from gmp.h
-Security fix in mpfr_snprintf and mpfr_vsnprintf (buffer overflow)
-Configure: new checks for length modifiers hh and ll (new in C99)
-bugfixes
-documentation fixes
Overview of changes in gcalctool 5.26.0
* Fix button expansion (nowak2000, Bug #575385)
* Removed deprecated test/ directory (Bug #574048)
* Updated documentation: C (Robin Sonefors), ca (Joan Duran)
* Updated translations: as (Amitakhya Phukan), da (Ask H. Larsen),
el (Jennie Petoumenou), es (Jorge Gonzalez),
fi (Tommi Vainikainen), gl (Ignacio Casal Quinteiro),
gu (Ankitkumar Patel), hi (Rajesh Ranjan),
hu (Gabor Kelemen), it (Sergio Durzu),
lt (Vytautas Rėkus), mai (Rajesh Ranjan),
ml (Ani Peter), mr (Sandeep Shedmake),
nb (Kjartan Maraas), nl (Tino Meinen),
pl (Wadim Dziedzic), ru (Nickolay V. Shmyrev),
ta (felix), te (Krishnababu K),
zh_HK (Chao-Hsiung Liao), zh_TW (Chao-Hsiung Liao)
Overview of changes in gcalctool 5.25.92
* Restore number display mode (FIX/SCI/ENG) on startup (Robert Ancell, Bug #572881)
* Fix rounding errors in integer power calulations (Robert Ancell, Bug #527540)
* Fix error in cosine/tangent calculations (Robert Ancell, Bug #571007)
* Updated documentation: eu (Inaki Larranaga Murgoitio)
* Updated translations: en_GB (Philip Withnall), fi (Ilkka Tuohela),
fr (Bruno Brouard, Claude Paroz), ja (Takeshi AIHANA)
kn (Shankar Prasad), lv (Raivis Dejus),
nl (Wouter Bolsterlee), pt (Duarte Loreto)
pt_BR (Og Maciel, Rodrigo Flores), sv (Daniel Nylander)
Overview of changes in gcalctool 5.25.91
* Initialise GType system so usage of GConf doesn't cause crashes (Matthias Clasen, Bug #571581)
* Rework command-line arguments to be standard (Robert Ancell, Bug #569885)
* Correctly handle decimal points for languages not using '.' (Robert Ancell, Bug #566929)
* Fix shortcut keys so standard menu keys work (Robert Ancell)
* Updated documentation: eu (Inaki Larranaga Murgoitio)
* Updated translations: ast (Mikel González), cs (Petr Pulc), da (Ask H. Larsen), eu (Inaki Larranaga Murgoitio),
gu (Sweta Kothari), hu (Gabor Kelemen), ro (Adi Roiban), vi (Clytie Siddall),
zh_HK (Chao-Hsiung Liao), zh_TW (Chao-Hsiung Liao)
Overview of changes in gcalctool 5.25.90
* Fixed incorrect bit shift operation (Robert Ancell, Bug #569176)
* Updated documentation: sv (Daniel Nylander)
* Updated translations: ca (Joan Duran), de (Christian Kirbach), ko (Changwoo Ryu), or (Manoj Kumar Giri)
Overview of changes in gcalctool 5.25.5
* Updated documentation: de (Christian Kirbach)
* Updated translations: nb (Kjartan Maraas), th (Theppitak Karoonboonyanan)
Overview of changes in gcalctool 5.25.4
* Updated translations: de (ckirbach), es (Jorge Gonzalez), zh_CN (甘露)
Overview of changes in gcalctool 5.25.3
* Made exponential numbers work without a sign, e.g. '1e2' works
the same as '1e+2' (Robert Ancell).
* Correctly calculate exponential numbers in binary mode and
convert correctly when changing bases (Robert Ancell, Bug #516159).
* Fix broken accelerator keys from changes in 5.25.2 (Robert Ancell, Bug #379476).
Overview of changes in gcalctool 5.25.2
* Changed the scientific UI so that inverse operations (e.g. Ln/e^x) are controlled by the shift key.
The following shortcut keys have changed:
Function | Old | New
--------------------------
Sine | K | k
Inv. Sine | - | K
Cosine | J | j
Inv. Cosine | - | J
Tangent | L | w
Inv. Tangent | - | W
Natural Log | N | n
e^x | { | N
Log | G | g
10^x | } | G
Log_2 | H | h
2^x | - | H
x^y | ^ | ^ or o
x^(1/y) | - | O
(Robin Sonefors, Bug #379476).
* Fixed crash where financial dialogs are activated from other modes on startup
(Robin Sonefors, Bug #560196).
* Give binary invert operation higher precedence so that ~X and X == 0 (Sami Pietilä, Bug #562251)
* Fixed calculation errors for boolean operations on very large numbers (Robert Ancell, Bug #509988)
* Always read configuration from /apps/gcalctool not /apps/(appname) as the application
name is different when symlinked (e.g. the gnome-calculator symlink) (Matt Keenan, Bug #559260).
* Correct gconf key names in man page (Robert Ancell, Bug #559458).
* Updated translations: es (Jorge Gonzalez)
* Updated help: es (Jorge Gonzalez)
Overview of changes in gcalctool 5.25.1
* Added a programming mode that contains the bit editor (Robin Sonefors, Bug #501508).
* Made finacial operations GUI-based not register based (Robin Sonefors, Bug #318686).
* Added Gross Profit Margin Ration Financial Function (Robin Sonefors, Bug #150663).
* Don't clear display when changing modes and allow all functions to work in all non-basic
modes (Robert Ancell, Bug #554133).
* Set decimal point label to be based on LC_NUMERIC as users can set their numerical
representation to different to their language settings (Robin Sonefors, Bug #557331).
* More refactoring in MP math library (Klaus Niederkrueger, Robert Ancell, Bug #524091).
* Fixed GtkSpinButton warning (Robin Sonefors, Bug #553965).
* Only update bit panel when display contains a solved number (Robert Ancell, Bug #548690).
* Remove inline declaration so can compile in C89 (Jens Granseuer, Bug #553307).
* Open help with gtk_show_uri() (Thomas Andersen, Bug #556207).
* Added translator comments (Robert Ancell)
* Updated translations: bg (Alexander Shopov),
da (Ask H. Larsen, Kenneth Nielsen),
es (Jorge Gonzalez),
et (Ivar Smolin),
fi (Ilkka Tuohela),
mk (Jovan Naumovski),
pt_BR (Vladimir Melo, Leonardo Ferreira Fontenelle)
* Updated help: es (Jorge Gonzalez)
on some platforms that lacked shared library support in the past. The
list hasn't been maintained at all and the gain is very limited, so just
get rid of it.
0.68 Fri Jun 30 12:17:01 2006
- Added a new version of phrtsd and the phrtsd_orig option.
0.69 Tue Sep 12 08:55:10 2006
- Changed pow to exp at randlib.c[1040] to get around a bug
with gcc under AIX. (Would it also be possible to avoid
this by using -lmsaa rather than -lm?)
0.70 Fri Oct 12 16:30:18 2007
- Minor corrections to POD.
0.71 Tue Sep 16 15:38:06 2008
- Used $ARGV[0] rather than shift in Makefile.PL. Thanks to John
Fong for the correction.
Pkgsrc changes:
o Adapt to .zip distfile format
o Add HOMEPAGE
Upstream changes:
1.23 18 Dec 2008, Perl 21th birthday version
Minimum Perl version required in META.yml
Pkgsrc changes:
o Re-do patch-ab so that the tests and adaptations for the various
NetBSD archs don't sit inside "if ($os eq 'sunos')" (!).
Upstream changes:
2.010801:
build_paricfg() takes a version argument
write_paricfg(): likewise.
Emit paricfg.h which supports GP/PARI v2.3.4.
Remove the section on CPAN mirroring from README.
INSTALL: Explain how to google when server is down.
Skip another subtest in ploth.t.
Fix treatment of -oo in tests. Still fails, but now with
not ok 12 # in='intmellininvshort(2,4,$tab)-$A'
# out='-3.364954880E-97+9.90717831E-100*I', type='Math::Pari'
# pari==='-3.072350108 E-97 + 9.90717831 E-100*I'
# re_out='\-3\.072350108,?\s*E\-97,?\s*\+,?\s*9\.90717831,?\s*E\-100\*I'
Consider `intfuncinit' as requiring "unsane" precision of limits
(bug in GP/PARI???). Now all tests pass???
* Performance improvements for some multidimensional r2c/c2r transforms;
thanks to Eugene Miloslavsky for his benchmark reports.
* Compile with icc on MacOS X, use better icc compiler flags.
* Compilation fixes for systems where snprintf is defined as a macro;
thanks to Marcus Mae for the bug report.
* Fortran documentation now recommends not using dfftw_execute,
because of reports of problems with various Fortran compilers;
it is better to use dfftw_execute_dft etcetera.
* Some documentation clarifications, e.g. of fact that --enable-openmp
and --enable-threads are mutually exclusive (thanks to Long To),
and document slightly odd behavior of plan_guru_r2r in Fortran.
* FAQ was accidentally omitted from 3.2 tarball.
* Remove some extraneous (harmless) files accidentally included in
a subdirectory of the 3.2 tarball.
Packages Collection.
The Perl 5 module Spreadsheet::Read tries to transparently read
*any* spreadsheet and return its content in a universal manner
independent of the parsing module that does the actual spreadsheet
scanning.
Packages Collection.
The Perl 5 module Spreadsheet::XLSX is a (quick and dirty) emulation
of Spreadsheet::ParseExcel for Excel 2007 (.xlsx) file format. It
supports styles and many of Excel's quirks, but not all. It populates
the classes from Spreadsheet::ParseExcel for interoperability;
including Workbook, Worksheet, and Cell.
Changes since FriCAS 1.0.4:
- improvement to normalize function, it performs now much
stronger simplifications than before
- better integration: due to improved normalize FriCAS can
now integrate many functions that it previously considered
unintegrable
- improvement to Martin Rubey guessing package, for example
it can now guess differential equation for the generating
function of integer partitions
- better support for using type valued functions
- several bug fixes
Changes since FriCAS 1.0.3:
User Interface:
- Add a new emacs mode: just (require 'fricas), M-x fricas and enjoy.
- Add support for inline display of LaTeXed code.
- Add support for mouse wheel.
- Supress SBCL style warnings due to autoloading.
Merge Ralf's wonderful new Aldor interface.
Allow calling type-valued functions.
Improve coercion of types.
Add coercions to InputForm.
Improve unparse.
Use SExpression as representation of OutputForm.
Miscellaneous improvements, bug fixes and cleanups.
Approved by <obache>.
the version in math/fftw/.
Pkgsrc changes:
o Get rid of the powerpc-specific distfile, it's apparently not needed
anymore
o Add perl as a tool, so that "make test" can succeed
o Adjust dependency on math/fftw
* New API routines were added to the package.
* A minor change were made in the internal routine xputc.
* A minor bug was fixed in the internal routine mpl_fn_time2str.
Pkgsrc changes:
o Adjust dependencies to fit requirements
Upstream changes:
0.44 8 January 2009
! Fix for OpenOffice.org GENERAL format.
http://rt.cpan.org/Public/Bug/Display.html?id=7206
Thanks to Niko Tyni and the Debian Perl team
+ Perltidyed source and added standard headers and Pod sections
to all modules.
0.43 7 January 2009
+ Restructured and rewrote the main documentation. This is the start of
a general refactoring. If you would like to keep up to date with it
keep an eye on the Spreadsheet::ParseExcel Google Group.
http://groups.google.com/group/spreadsheet-parseexcel
+ Added worksheets() Workbook method to iterate over the Worksheet objects.
+ Added unformatted() method to get a Cell's unformatted value.
+ Renamed public methods RowRange(), ColRange() and Cell() to row_range(),
col_range() and get_cell(). Old methods are still available.
! Turned on compatibility_mode() by default in SaveParser to avoid SP3
problems.
! Fixed minor SaveParser bug with font rotation.
http://rt.cpan.org/Public/Bug/Display.html?id=41626
Eigen 2 is a C++ template library for linear algebra: vectors, matrices, and
related algorithms. It is:
* Versatile. Eigen handles, without code duplication, and in a completely
integrated way:
o both fixed-size and dynamic-size matrices and vectors.
o both dense and sparse (the latter is still experimental) matrices and
vectors.
o both plain matrices/vectors and abstract expressions.
o both column-major (the default) and row-major matrix storage.
o both basic matrix/vector manipulation and many more advanced, specialized
modules providing algorithms for linear algebra, geometry, quaternions,
or advanced array manipulation.
* Fast.
o Expression templates allow to intelligently remove temporaries and enable
lazy evaluation, when that is appropriate -- Eigen takes care of this
automatically and handles aliasing too in most cases.
o Explicit vectorization is performed for the SSE (2 and later) and AltiVec
instruction sets, with graceful fallback to non-vectorized code.
Expression templates allow to perform these optimizations globally for
whole expressions.
o With fixed-size objects, dynamic memory allocation is avoided, and the
loops are unrolled when that makes sense.
o For large matrices, special attention is paid to cache-friendliness.
* Elegant. The API is extremely clean and expressive, thanks to expression
templates. Implementing an algorithm on top of Eigen feels like just copying
pseudocode. You can use complex expressions and still rely on Eigen to
produce optimized code: there is no need for you to manually decompose
expressions into small steps.
* Compiler-friendy. Eigen has very reasonable compilation times at least with
GCC, compared to other C++ libraries based on expression templates and heavy
metaprogramming. Eigen is also standard C++ and supports various compilers.
and tested by Aleksej Saushev and Stathis Kamperis.
Major changes:
- Expand code for special functions
- quad_qagi accepts upper and lower limits instead of flags for limits
- Cut out solve_inconsistent_error
- new, alternate implementation of vector operations
- colorterm: simple output color-coding
No longer identical.
Don't say Linux since this is for other platforms too.
Don't mention GUI interface in the description for the console package.
By the way, the gtk version is really GNOME, but upstreams calls it gtk.