Libctl release notes

From AbInitio

Revision as of 18:39, 16 October 2005; Stevenj (Talk | contribs)
(diff) ←Older revision | Current revision | Newer revision→ (diff)
Jump to: navigation, search

Here, we describe what has changed between releases of the libctl package. You can also refer to the NEWS file in the libctl package (or the ChangeLog file for a more detailed listing).

Contents

libctl 2.2

9/12/2002

  • Added simple trapezoidal-rule adaptive numeric integration routine.
  • Numerical derivative routines now allow numerical differentation of vector-valued function. Added deriv2 convenience routine.
  • Added find-root-deriv functions for faster root-finding of functions for which the derivative is also available.
  • Added missing (cvector3 ...) constructor, and fixed corresponding constructor for cvector3 object properties; thanks to Doug Allan for the bug report.
  • Added generic 'memoize' function.
  • libctl programs now print out command-line parameters when they run.
  • Fixed incomplete support for generic SCM type.
  • Fixed to work with Guile 1.5+ (thanks to Mike Watts for the bug report).

libctl 2.1

3/21/2002

  • Bug fix: complex-number input variables were read as garbage if they had imaginary parts; does not affect complex-number outputs.
  • Added generic SCM type for i/o variables and parameters, as a catch-all for other Scheme objects.
  • main.c now has ctl_export_hook (enabled by defining CTL_HAVE_EXPORT_HOOK) with which to define additional Guile symbols.
  • gen-ctl-io: converts "!" in symbols to "B" in C identifiers.

libctl 2.0

3/10/2002

  • New set-param! function, analogous to define-param, that allows you to change the value of a parameter in a way that can still be overridden from the command line.
  • In libgeom, allow user to specify the resolution instead of the grid-size. New no-size support in lattice class to reduce dimensionality, and new (get-grid-size) function.
  • Support for Scheme complex numbers, along with a few new associated functions: conj, vector3-cdot, matrix3x3-adjoint.
  • New functions to compute numerical derivatives using Ridder's method of polynomial extrapolation.
  • Documented object-property-value; thanks to Theis Peter Hansen for the suggestion.
  • Get rid of unneeded make-default, and use consistent syntax for define-property and define-post-processed-property, compared to define-input-var. Not backward compatible (for developers; users are not affected). Thanks to Theis Peter Hansen for the suggestion.
  • Call ctl_stop_hook even with --help, --version, etcetera; this makes the behavior nicer e.g. with MPI.

libctl 1.5

11/15/2001

  • geometry-lattice now has a separate basis-size property, so that you can specify the basis vectors as being something other than unit vectors.
  • More functions are tail-recursive, helping to prevent stack overflows; thanks to Robert Sheldon for the bug report.
  • New fold-left and fold-right functions, documented in the manual.
  • The configure script now checks that guile is in the $PATH. Thanks to Bing Li and Giridhar Malalahalli for their bug reports.

libctl 1.4.1

7/4/2001

  • Support function lists.

libctl 1.4

2/23/2001

  • Renamed display-many function to more felicitous print and added print-ok? global variable that allows you to disable program output.
  • Added support for passing 'function types back and forth (just a SCM object pointing to a Scheme function).
  • Cosmetic fixes to yes/no? and menu-choice interaction functions.
  • Support start/exit hooks for use e.g. with MPI.

libctl 1.3

1/7/2001

  • Added improved "subplex" multidimensional optimization algorithm (for maximize-multiple and minimize-multiple).
  • Documented vector3-x, vector3-y, vector3-z functions for extracting vector3 components.

libctl 1.2

7/9/2000

  • Added new cone geometric object type.
  • Added reciprocal->cartesian, cartesian->lattice, lattice->reciprocal, etcetera functions to libgeom for converting vectors between bases.
  • Added routines rotate-vector3 and rotation-matrix3x3 for rotating vectors.
  • Added support for returning lists from external functions.
  • Fixed bug in matrix3x3-inverse function.
  • Fixed bug in find-root for converging to negative roots.
  • Use Nelder-Mead simplex algorithm for multi-dimensional minimization (it seems to be more robust than the old routine).

libctl 1.1.1

1/28/2000

  • Use CPPFLAGS environment variable instead of the less-standard INCLUDES to pass -I flags to the configure script (for header files in non-standard locations).
  • Compilation fixes. We need to set SHELL in the Makefile for make on some systems. Also added rule to insure ctl-io.h is created before main.c is compiled. Thanks to Christoph Becher for the bug reports.

libctl 1.1

1/2/2000

  • geom: radius and height of objects is now permitted to be zero.
  • geom: material_of_point_* routines now report whether the point is in any object; necessary for use with MPB 0.9.
  • Added man page for gen-ctl-io, based on a contribution by James R. Van Zandt.

libctl 1.0.1

11/22/1999

  • geom: handle case where ensure-periodicity is false.
  • geom: bug fix in geometric-objects-lattice-duplicates for non-orthogonal lattices; thanks to Karl Koch for the bug report.

libctl 1.0

11/19/1999

  • Initial public release.
Personal tools