2024-08-19  Martin Maechler  <maechler@stat.math.ethz.ch>

	* tests/exact-ex.R (osV): ensure valid in filename

2024-08-08  Martin Maechler  <maechler@stat.math.ethz.ch>

	* inst/test-tools.R (expmAll, allEq): new functions for testing
	all 'methods'.

	* R/expm.R: export `.methSparse`  and  `.methComplex`

2024-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 1.0-0  ("it's about time")

	* R/expm.R (expm): the default and other methods should work with
	_complex_ matrices.

	* src/R_dgebal.c (R_zgebal): new: balancing _complex_ matrices
	* R/balance.R (balance): now works for complex matrices, too.

	* src/matpow.c (matpow_z): new complex matrix powers \eqn{A^n}.

2024-01-11  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.999-9
	* ... Matrix 1.6-5... needs to change a test !!

2023-11-28  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.999-8

	* tests/ex.R: ATLAS (Fedora 36, BDR) much less accurate -> using 'tol1'

	* src/R_dgebal.c (R_dgebal): fixed `error(<format>)` thinko.
	* man/expm.Higham08.Rd: Rd fixes.

2022-12-30  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Authors@): added, including ORCID for the 3 authors

2022-12-21  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.999-7

	* tests/ex.R: needed updates because ATLAS got precision deteriorated (!)

2021-08-19  Martin Maechler  <maechler@stat.math.ethz.ch>

	* po/*, inst/po/*, R/*.R: more translations and small fixes.

2021-01-12  Martin Maechler  <maechler@stat.math.ethz.ch>

	* man/*.Rd: updates to \url{}s.

2021-01-11  Martin Maechler  <maechler@stat.math.ethz.ch>

	* tests/ex.R: raise one tolerance (for "M1 mac").

2020-07-21  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.999-6

	* R/balance.R (balance): now coerces to "matrix".  Also, 'dgebal()'
	is finally deprecated *formally* (the help had: "balance()" is
	preferred nowadays, where "dgebal" will probably become deprecated since 2011).

	* demo/balanceTst.R (balanceTst): use balance(), not dgebal()

	* tests/exact-ex.R: test that more expm(*, method=".") methods work with
	sparse matrix.

2020-07-16  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.999-5
	* src/expm.h: add USE_FC_LEN_T and "FCONE" --> for LTO-compliant BLAS/Lapack
	* src/*.c: use "expm.h" even more; use FCONE for LTO-compliance


2019-03-20  Martin Mächler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.999-4
	* src/R_NLS_locale.h renamed from ../locale.h helping wrongly
	configured compiler|preprocessort setups.
	* src/expm.h, etc: use "R_NLS_locale.h"

2018-09-15  Martin Mächler  <maechler@stat.math.ethz.ch>

	* man/logm.Rd: use try(.) [for solaris where needed]

2017-04-06  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.999-3
	* src/expm-eigen.c (do_expm_eigen): fix possible PROTECT stack imbalance
	* src/expm.c (do_expm): ditto; both thanks to T.Kalibera's  `expm.so.bcheck`

2017-03-28  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/sqrtm.R (sqrtm): simple modification so it works for 1x1 matrix
	* R/logm.Higham08.R (rootS): (ditto)
	* src/init.c: "finish" registration

2016-12-13  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.999-1
	* src/matpow.c (matpow): use size_t etc, trying to prevent integer
	overflow when  n^2 > .Machine$integer.max, i.e., n >= 46341

2015-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.999-0
	* R/balance.R (balance): also add 'job = "N"' (i.e., 'none') option.

	* src/R_dgebal.c (R_dgebal): catch +/-Inf in matrix avoiding
	infinite loop in Lapack's DGEBAL(); thanks to Terry Thernau.

2014-09-11  Martin Maechler  <maechler@stat.math.ethz.ch>

	* NAMESPACE: no longer export logm.Higham08
	* R/expm2.R (expm.AlMoHi09): new  expm(x, method = "AlMohy-Hi09")
	* src/matexp_MH09.c: thanks to Drew Schmidt.

2014-09-03  Martin Maechler  <maechler@stat.math.ethz.ch>

	* src/matpow.c: need to carefully REPROTECT x_

2011-11-08  Martin Maechler  <maechler@stat.math.ethz.ch>

	* man/balance.Rd: use new name balance() instead of dgebal()
	* R/balance.R:

2011-10-28  Martin Maechler  <maechler@stat.math.ethz.ch>

	* src/matexp.f (matexpRBS): do not call STOP ..
	* NAMESPACE: import rowSums from Matrix (because of its
	sparseMatrix method).
	* R/expm.R (expm): auto-coerce sparse matrices to dense, when
	"needed".

2011-10-27  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/expm_vec.R (expAtv): finally add the functionality for
	'exp(A*t) %*% v' Ravi had translated from EXPOKIT in August.

2011-08-27  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/expm.R (expm): add new method "PadeRBS" (Roger B. Sidje),
	interfacing to the corresponding Fortran code.
	* src/init.c, src/expm.h: also namespace-ify the Fortran symbols.

2011-08-26  Martin Maechler  <maechler@stat.math.ethz.ch>

	* NAMESPACE: also import solve() from Matrix, for sparse expm()

2011-03-30  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.98-4
		(Suggests): RColorBrewer, sfsmisc -- used in examples

	* inst/doc/expm.Rnw: replace the few non-ASCII chars by LaTeX.

2010-08-12  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/logm.Higham08.R (logm.Higham08): force argument to Schur(.) to
	be dense for now  (working around infelicitous Matrix method).
	(logm.Higham08): catch case of infinite loop

	* man/logm.Rd: add example of the above.

2010-07-19  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.98-2

	* src/matpow.c (R_matpow): fix modify-argument bug in %^%.
	Thanks to stackflow-user "gd047" for reporting it.

2010-07-08  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.98-1, for (first!) release to CRAN

2009-06-06  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.96-2

	* tests/exact-ex.R: adapt last test, to also pass on 32-bit Mac OSX

2009-06-02  Martin Maechler  <maechler@stat.math.ethz.ch>

	* tests/exact-ex.R: move print() to see Mac OSX error

2009-03-02  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/sqrtm.R (sqrtm): allow negative eigenvalues, with a
	message iff "verbose"; use sqrt(<complex>) in that case.
	* R/logm.Higham08.R (logm.Higham08): allow negative eigenvalues,
	as in sqrtm.

	* R/expmCond-all.R (.expmCond.1, .expmFrechet2008.26): and others;
	cosmetic (speedy!) improvements; dating of Feb.23.

2009-02-28  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version, Depends): 0.96-1, Matrix

	* src/logm-eigen.c (logm_eigen): *do* signal an error, not just
	print; as the help page has always said.

	* man/logm.Rd: comment 'order' and 'trySym' out; introduce
	method = "Higham08" and make it the default (!)
	* R/logm.R: ditto

	* R/logm.Higham08.R: new logm.Higham08() from Michael Stadelmann's thesis.
	* R/sqrtm.R: new sqrtm(), ditto
	* NAMESPACE: add here.
	* tests/log+sqrt.R: tests for these; notably small non-diagonalizable cases

	* R/expm2.R (expm.Higham08): renamed 'expm2' to expm.Higham08

2009-02-19  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.95-1
	* R/expmCond-all.R: only public expmCond(*, method=.) function,
		instead of expmCond1Est() etc.
	* man/expmCond.Rd:   ditto
	* tests/expm-Cond.R: ditto

2009-02-19  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Maintainer): myself, for the moment; need to get
	E-mail feedback from win-builder.

	* tests/expm-Cond.R: new tests for expmCond*()

	* tests/exact-ex.R: factor the utilities out into new file; add expm2()
	* demo/exact-fn.R:  containing only (function + data) definitions

2009-02-18  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/expmCond-all.R (expmFrechet): method "blockEnlarge", also for testing
	* man/expmFrechet.Rd:             the default method

2009-02-17  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.95-0

	* R/expm2.R (expm2): new algorithms from Michael Stadelmann's
	Master thesis work
	* R/expmCond-all.R (expmCond, ..): Exponential Condition Number estimation
	* man/expm2.Rd, man/expmCond.Rd, man/expmFrechet.Rd: docu
	* NAMESPACE: export new functions

2009-01-30  Martin Maechler  <maechler@stat.math.ethz.ch>

	* src/R_dgebal.c (R_dgebal): fix to work also for integer matrix()
	* src/expm.c (do_expm),
	* src/expm-eigen.c (do_expm_eigen): ditto
	* tests/bal-ex.R:  and test for it.

2008-05-13 Christophe Dutang <christophe.dutang@ensimag.fr>
	* Use Lapack function zgecon in "hybrid_Eigen_Ward" to test the
	singularity.
	* Start the matrix logarithm logm.


2008-03-20  Vincent Goulet  <vincent.goulet@act.ulaval.ca>

	* New function matpow() as alias to operator %^%.
	* R/matpow.R: miscellaneous fixes and prettyfication of comments


2008-03-01  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/expm.R (expm): rename "Eigen" to "R_Eigen"

	* src/expm.c (expm): get "1bal" case right.
	* tests/compare-bal-expm.R: minimal testing of "2bal" vs "1bal"

2008-02-29  Martin Maechler  <maechler@stat.math.ethz.ch>

	* src/expm.c (expm): second argument 'precond_kind'

	* src/expm.h: update for new second argument

	* src/expm-eigen.h: implement workaround for Lapack.h's zlange() typo

2008-02-27  Martin Maechler  <maechler@stat.math.ethz.ch>

	* DESCRIPTION (Version): 0.9-1  -- new version for the occasion

	* src/expm.c (expm): HOORAY !! --- fixed the octave bug:
	using simpler __ and correct __ code for  back-permuting

	* R/expm.R (expm): add method = "R_Ward77"
	  which works *correctly* !

2008-02-25  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/matpower.R ("%^%"): add R interface to
	* src/matpow.c

2008-02-23  Martin Maechler  <maechler@stat.math.ethz.ch>

	* R/expm.R (expm): add methods from David Firth's "mexp"
	and my modifications, of Fortran code in
	* src/mexp-common.f
	* src/matrexp.f
	* src/matrexpO.f
