Current version of PopTools is 3.1 (build 0)
Version 3.1 (build 0) Released Jul 20, 2009
1. Feature: New functions for power analysis (demonstrated in demo file noncentral.xls).
Version 3.0 (build 6) Released Sep 1, 2008
1. Feature: Improved speed of sampling Hypergeometric distribution.
2. Feature: Random Cauchy deviates - dCauchyDev(location, scale) and CauchyA (array version).
3. Feature: Random Pareto deviates - dParetoDev(a, b) and ParetoA (array version).
4. Bug fix: Removed persistent status bar notification after DLL loaded.
Version 3.0 (build 5) Released May 30, 2008
1. Bug/feature: Monte-Carlo routine now allows more iterations (theoretically up to
2,147,483,647 - a four byte integer).
2. Bug fix: Function wizard now lists all arguments to dPertDev ('Weight' argument was missing).
3. Bug/feature: Function to colour a graph series now includes an option to draw a black
border on all points and has improved error checking.
Version 3.0 (build 4) Not released
Version 3.0 (build 3) Released Mar 3, 2008
1. Bug/feature: Monte-Carlo routine now allows more iterations (theoretically up to 2,147,483,647 - a four byte integer).
2. Bug fix: Monte-Carlo demo available via menu system.
3. Bug fix: dNormalInt now returns an integer.
4. Feature: Main DLL now loaded from subdirectory.
5. Feature: Option to save distance matrices to file available from 'Distance matrix' dialog.
6. Bug fix: Dialogs now accept input in R1C1 style.
Version 3.0 (build 2) Released Feb 7, 2008
1. Bug fix: On Windows Vista, the original help file does not work. A comprehensive
new help file been written to work on all windows platforms that support the
CHM format (including Vista). It is available as a commercial product from
scinergy.hoodwards.com.
2. Feature: A routine to generate a table of contents for large spreadsheets
has been added to the 'Auditing tools' menu. It scans the names of all sheets
in a workbook and adds them as hyperlinks in a contents sheet.
3. Feature: A function COMBINATIONS() that returns all combinations of a matrix
elements has been added to the 'Sampling' menu. This is useful for working with
the conditional probability tables of Bayesian Belief Networks using the
software Netica (www.norsys.com).
4. Feature: Function BINOMCL(N, K, alpha, method=0) returns the upper and lower
1 - alpha confidence limits of a binomial proportion (K successes from N draws)
using the Adjusted Wald method (method=0) or, if method>0, using
Jeffrey's prior (Ref: Statistical Science 2001, Vol. 16, No. 2, 101–133).
5. Feature: Function SHAPIRO(data) returns the Shapiro-Wilks test for Normality
of a data vector. The function is available from the menu 'Extra stats' and
returns a two column by three row array containing the W-statistic (ro1 1 col 1),
the P-value (row 2 col1), and any errors encountered as an array formula.
6. Feature: A routine to retrieve appointments from the MS Outlook calendar
was added to the 'Auditing tools' menu (useful for keeping track of
time spent on projects).
7. Bug/feature: The PERT function - when entered via the menu system - has
a default weight argument of 4, which should sample from the same distribution
as @RISK.
Version 2.7 (build 5) Released Sep 25, 2006
1. Feature: Added custom function for sampling the Discrete(x, p) distribution.
Here, x and p are column (or row) vectors in which p represents the probability (or frequency) of
the value x. The function allows sampling of arbitrary, user-defined,
discrete distributions. The function name is DiscreteDev and it can be entered
via the RANDOM VARIABLES dialog. For an example, see the "Random variables (fast)" demo file.
2. Feature: Monte-Carlo routine now allows setting of random seed at beginning
of a run.
3. Bug fix: Bug in R code for fitting distributions fixed.
Version 2.7 (build 4) Released Sep 18, 2006
1. Feature/Bug fix: Removed function RANDFIX. Use of this function was unreliable because of the way Excel
processes calculations. The random number generator can now
be fixed only via the menu system (POPTOOLS/FIX RANDOM GENERATOR). The state of
the generator can be queried inserting the function =RANDSTATE() in a worksheet.
It is good practice to use something like this in a worksheet if you plan to
fix the generator: =IF(RANDSTATE(),"Random generator fixed", "Volatile random numbers").
2. Bug fix: Generator of geometric deviates (dGeomDev) gave incorrect
distribution. Fixed.
3. Feature: R scripts are now stored in a directory and loaded using the menu
system. The program parses the directory when opened, so you can add your own
scripts to this directory. By using similar headings to those in the example files, it is possible to
ask PopTools to add in appropriate links to worksheet ranges when the script
is loaded.
4. Feature: Hypergeometric random variables are now available via function
dHyperDev(Samples,Affected,Population) with alias HyperDev and array version HyperDevA.
Samples is the number of trials, Affected is the number of some type, and
Population is the population size - all positive integers.
Version 2.7 (build 3) Released Sep 15, 2006
1. Feature: Monte-Carlo routine remembers input settings.
2. Feature: New Monte-Carlo demonstration file.
3. Feature: Web based demonstration files now available under 'Demos'.
Version 2.7 (build 2) Released Sep 11, 2006
1. Feature/Bugfix: Function dBetaDev (and alias BetaDev) now returns a random
deviate from the Beta(alpha, beta) distribution. This is a different parameterisation
from previous releases, which used the mean and standard deviation as input
parameters. The old functionality is still available as the function dBetaMSDev
(and alias BetaMSDev). Use the dialog box (POPTOOLS/RANDOM VARIABLE) for guidance.
2. Feature: Utility for generating ~Discrete(x, p) deviates added to the form
interface, POPTOOLS/RANDOM VARIABLE. This uses the existing MultinomialDev
function to draw from the bins of the Discrete distribution.
3. Feature: Colour scale function now ignores cells containing error values.
4. Bug fix: This version installs on Excel 2007 beta release. The new version of Excel has
a highly modified 'menu/toolbar' section and enhanced security features. Under Excel 2007 beta,
this version of PopTools installs under the 'Add-Ins' tab. The PopTools setup file adds "C:\Program files\Poptools"
(or equivalent) to the list of trusted locations, allowing the macros of the XLA (poptools.xla) to
run. If you do not like this behaviour, it can be adjusted through the Excel interface after installation.
5. Feature: Array formulae for
latin hypercube sampling
from some distributions have been included in this
version. The functions are not yet available via a dialog box, because I am yet to determine whether
PopTools can properly implement orthogonal sampling for multidimensional problems with the current design. These
functions provide limited functionality for teaching purposes. A demonstration file shows
how they are called.
Function LHS(X, Y, length) returns a column of uniform random deviates on [X, Y] with the given length.
Function BinomialLHS(n, p, samples) returns a column of ~Binomial(n, p) random deviates of 'samples' length.
Function BetaLHS(alpha, beta, samples) returns a column of ~Beta(alpha, beta) random deviates of 'samples' length.
Function NormalLHS(mu, sigma, samples)) returns a column of ~Normal(mu, sigma) random deviates of 'samples' length.
Version 2.7 (build 1) Released Apr 22, 2006
1. Bug fix: PCA function used antiquated algorithm. This version uses SVD
of the data matrix. Ordination demo includes routines to compare output
with NIST tests and R statistical program.
2. Bug fix: Routines to standardise matrices (ColCentStand and RowCentStand)
now compute sample standard deviation (ie, divide by n-1) rather than population
standard deviation (divide by n).
Version 2.6 (build 9) Released Oct 1, 2005
1. Bug fix: Fixed routine to return Gamma deviates with mean (or shape
parameter) from 0 to 1, which previously used incorrect translation of Fortran source to Pascal.
2. Feature: Added function GammaDevMeans(Range) which returns an array of
random deviates with each deviate drawn from a Gamma distribution with
mean (shape parameter) equal to the value in the corresponding cell of Range.
3. Bug fix: Fixed error in function dNormDist which returned incorrectly scaled result
for cdf.
Version 2.6 (build 8) Never released
Version 2.6 (build 7) Released Jun 22, 2005
1. Bug fix: Fixed routine that returns life table statistics.
Version 2.6 (build 6) Released Feb 24, 2005
1. Bug fix: Fixed bug in calculation of eigenvectors introduced in version 2.6.4.
Dependent calculations, such as matrix sensitivity, were also affected and
have been fixed with this release. Included demonstration file 'EigsTest.xls' to
test the output of the EIGS function.
2. Feature: Included routine to export a matrix to R and conduct analysis
of properties (of projection matrices).
Version 2.6 (build 5) Never released
Version 2.6 (build 4) Released Dec 1, 2004
1. Feature: Improved routines for creating code to connect to R,
including addition of a "Connect to worksheet" function.
2. Bug fix/Feature: Changed the SVD and dSVD functions so that the
arrays returned (USV) are stacked on top of one another rather than
side by side. The previous routine was limited by the allowed number
of columns in an Excel worksheet (256). This new routine allows for up
to 256 columns (and many more rows) on Excel XP and up.
Version 2.6 (build 3) Never released
Version 2.6 (build 2) Released Feb 25, 2004
New functions for data tables have been added under the "Auditing
tools" menu. I find these useful for documenting data stored in Excel files:
1. "Comments to range". Creates a new workbook containing comments
from a selected range.
2. "Range to comments". Takes cell values and places them as cell comments
in a new range.
3. "Comments to HTML". Produces an HTML file displaying cell comments
of a selected range.
4. "Format table for printing". If a worksheet has column headers in Row A:A
and data below that you can use this function to quickly improve the
appearance of the printed output of the data. Don't use it unless the
data is arranged as described.
5. "Denormalise a table". Takes column headers from a data table and copies
the headers into a column beside the data value. This is useful for
exporting data for statistical programs. Be careful with dates which may not
always be output in the correct format (to fix)..
1. Bug fix: The "life table statistics" menu produced an error.
Version 2.6 (build 1) Never released
Version 2.5 (build 9) Released Nov 28, 2003
1. Bug fix: The "R connection" routine failed to insert a named range in the
workbook. Fixed.
2. Bug fix: The "R dataframe" routine did not quote strings. Fixed.
3. Feature: The "R dataframe" routine now parses the column
names and adds a comment if an illegal R name is found.
Version 2.5 (build 8) Released Oct 21, 2003
1. Bug fix: Previous two versions returned incorrected eigenvectors.
The bug was caused by incorrect handling of the interaction
with the DMath library.
Version 2.5 (build 7) Released Oct 20, 2003
1. This version uses Jean DeBord's DMath (Delphi math) library
rather than TPMath (Pascal math). The major difference is that
DMath has safer handling of memory allocation for matrices and
vectors.
2. Several routines in previous versions created input boxes on
the fly by creating worksheets and adding VBA code to their code
modules. This added flexibility to PopTools but does not work in
Excel XP. The current version has hard coded input forms and
should be more reliable. Routines affected are PPS sampling,
simple random sampling, odds ratio and relative risk.
3. The sensitivity analysis function for population projection
matrices now has an option to calculate sensitivities for
zero-valued elements. An option to set the new boolean argument
to the function is provided in the interface.
4. An appropriate citation of the product for scientific papers
has been added to the About box.
5. Monte-Carlo routine now requires an output cell before
starting the iteration.
6. Two routines added to make it easy to interact with the
statistical program R (see
http://cran.r-project.org/).
Both can be found under the "Extra stats" menu.
Version 2.5 (build 6) Released Oct 20, 2003
Available briefly. Withdrawn.
Version 2.5 (build 5) Released Apr 30, 2003
1. Bug fix: Oops! Last version(s) failed to compile on Excel 97.
Fixed.
Version 2.5 (build 4) Released Mar 19, 2003
1. Bug fix: dPCA function caused Excel to crash if columns >
rows. Fixed
2. Bug fix: dChiTest returned incorrect results for some 2x2
tables. Fixed
Version 2.5 (build 3) Released Oct 10, 2002
1. Bug fix: Last version(s) failed to compile on Excel 97.
Fixed.
Version 2.5 (build 2) Released Oct 7, 2002
1. Bug fix: The routine that selected samples with probability
proportional to size had an array indexing bug which led to
repeated selection when "replacement" was false.
2. Bug fix: The Jacknife demonstration was returning #NAME errors
because the DeleteElement function was failing.
3. New mirror site established.
Version 2.5 (build 1) Not released
1. Bug fix: Fixed the routine that converts Excel range values
into matrices for the TPMath library. It failed to clean up after
itself if there was a dependency on invalid input, causing a
memory leak.
2. Improved the numerical simulation routine. There is now an
option to save a range of values that depend on the output range
after each iteration.
Version 2.4 (build 9) Released July 1, 2002
1. Bug fix: Minor fixes to the routines for entry of random
variables into a worksheet (the code that actually generates the
variables is unchanged).
2. Several other fixes which I have been too busy to record.
Version 2.4 (build 8) Released May 16, 2002
1. Bug fix: Version 2.4.1 and up have a bug whereby the maximum
allowable array size is calculated incorrectly on Excel 97 and
2000. This version fixes that bug.
Version 2.4 (build 7) Never released.
Version 2.4 (build 6) Released May 7, 2002
1. Bug fix: Previous release failed to fix problem in the
numerical engine (RANDEVS.DLL). This version has been compiled
with compiler optimisations turned off, which fixes the problem
at the expense of a slight reduction in the speed of numerical
calculations.
Version 2.4 (build 5) Released May 6, 2002
1. Bug fix: Previous release of the numerical engine
(RANDEVS.DLL) had several problems on Windows 98, probably
related to a compiler error. The current version of the DLL has
been re-compiled but no algorithms have changed.
2. Bug fix: Numerical projection routine failed to save the first
step of the iteration. Fixed.
3. Bug fix: MULTINOMIALDEV function can now be entered from the
menu system.
Version 2.4 (build 3 & 4) Never released.
Version 2.4 (build 2) Released April 3, 2002
1. Bug fix: The previous version (2.4.1) released last week does
not handle large matrices. This release includes a version
checking routine that should allow most routines to work with
large matrices in Excel 2002 (XP) only.
Unfortunately, I don't have access to Excel 2002, so I can't
check this. The maximum array size allowed should now be
268369924 in Excel 2002, and 5461 in earlier versions of
Excel.
2. All random variables are now generated using Delphi versions
of Alan Miller's Fortran routines. Source code for these is
available at this
site (Delphi) and Allan Miller's site (Fortran
90). [Note Sep 2005: The Delphi routine for Gamma deviates from
this site produces
incorrect results when the shape parameter is less than one. This
has been fixed in version 2.6.8]
3. Updated the dialog box for entry of random variables -- now
allows entry of the new multinomial deviates.
Version 2.4 (build 1) Released Mar 24, 2002
1. Epidemiological tools added to "Extra stats" menu - formulas
for relative risk (dRR) and odds ratio (dOR) with confidence
limits.
2. New routine for sampling with probability proportional to size
(PPS) added to "Abundance" menu.
3. Added ability to generate multivariate Normal samples from a
population with a specified covariance matrix to the "Random
variable" menu.
4. Fixed bug in the "Schnabel" routine.
5. New array function MULTINOMIALDEV(NUMEVENTS, CELLPROBS)
returns a sample from a multinomial distribution. Specify the
total number of events as NUMEVENTS and the cell probabilities as
a vector CELLPROBS (which should sum to one). The result is a
vector of realised values. See the second sheet of the "Random
variables (fast)" demo.
6. Enhanced "Monte Carlo" routine. If the "Test value" range has
more than one column, each row of the "dependent cells" will be
compared against each of the columns in the corresponding row of
the "Test value" range, which is useful for power analysis.
Version 2.3 (build 7) Released Jan 14, 2002
1. Bug fix: New version of function to generate negative binomial
deviates (previous version was unreliable with large
values).
2. ODEIntegrate function now allows specification of a vector of
time points at which a solution is required. See the updated ODE
integrate demo sheet.
Version 2.3 (build 6) Never released except on bugs
page.
Version 2.3 (build 5) Released Oct 8, 2001
1. Updated the eigenvector calculations to use a new version of
the TPMath library.
2. Bug in drawing of life cycle diagram fixed (routine crashed
when reproductive value calculated).
3. The main web site had to move because CSIRO Wildlife and
Ecology merged with Tropical Agriculture to become CSIRO
Sustainable Ecosystems. A redirect from the old site is in
place.
4. Numerical projection routine now has option for multiple time
iterations.
5. Sensitivity analysis recoded -- now allows entry of
arbititrarily sized matrix of parameters.
6. Added facility to define dynamic range names.
7. Added more documentation of worksheet functions to help file
and this site.
8. New (permanent) e-mail established poptools@csiro.au
9. Bug fix: PCA on square matrices caused Excel crash -
fixed.
Version 2.3 (build 1, 2, 3, 4) Never released except on bugs
page.
Version 2.2 (build 8) Released July 2, 2001
1. Main change is an updated installation file that no longer
requires VBA macros.
2. Bug fix. The routine to randomise worksheet ranges produces
erroneous results if there are non-numeric (or blank) cells in
the upper rows of the selected matrix. This is because functions
SHUFFLE and RESAMPLE expect non-numeric data to be in the bottom
rows of the matrix. This "feature" allows randomisation of
different sized sets of numeric data - as shown in the demo of
the two sample randomisation test (you can see further details on
the resampling demo sheet). This release includes a check to
ensure that all non-numeric cells are in the bottom rows of the
selected matrix.
3. Bug fix: Output of matrix projection routine had an extra row
of error values. Fixed.
4. Bug fix: Removed links from some demonstration files.
5. Added routine to update links to the PopTools xla.
6. Added routine to delete unused range names from the active
workbook (under Auditing tools)
7. Bug fix: Monte Carlo routine did not give correct results for
tests of equality with floating point numbers. Fixed this bug by
adding an option to set the precision of floating point
comparisons.
Version 2.2 (build 5, 6, 7) Never released except on bug page.
Version 2.2 (build 4) Released May 28th 2001
1. Chi2 test now has Yates continuity correction for 2 x 2
tables.
2. Bug fix. Routine to colour a graph series was not working in
previous release(s). Fixed in this version and added ability to
colour points according to either font or interior colour of the
data series.
3. Bug fix. Analysis of projection matrices now works for
matrices larger than 18x18.
4. Bug fix. Mantel test calculated sum of products incorrectly.
Fixed.
5. Bug fix. Minor adjustments to the auditing tools.
6. Bug fix. Ro was incorrect for Leslie matrices if
entered as a single projection matrix and element 1,1 was
non-zero.
7. New routines to analyse life tables and build projection
matrices from lx and mx columns of a life table.
8. Added menu entry of matrix power function.
9. Demo added LIFETABLE.XLS. Some adjustments to other
demos.
10. Bug fix. All forms that are initialised with numbers now use
local decimal notation. Hard coded numbers prevented some
routines running under French language settings.
Version 2.2 (build 3) Never released except on bug page.
Version 2.2 (build 2) Updated 18 April 2001
1. Last version introduced a bug in the SVD routine that crashed
Excel when analysing non-square matrices. Fixed in this
release.
2. Basic analysis of projection matrices improved
3. Minor changes to the G-test and Chi square routines (more
error checking).
4. Added some auditing tools. This was prompted by reading John
Raffensperger's page (at
www.mang.canterbury.ac.nz/people/jfraffen/spreadsheets/). I
don't agree with everything at that page, but it's an excellent
guide. A new procedure "COLOUR USED CELLS" formats a worksheet to
show used constants and formulas -- which can be handy for
pruning sheets that have gone a little feral.
5. Followed John's advice and toned down the colours and
rearranged the layout of some of the demonstration files (they're
still a little more colourful and ill-kempt than he would
probably like :-)
Version 2.2 (build 1) Updated 21 March 2001
1. Last version introduced a serious bug in the routine to return
eigenvectors of real eigenvalues. This release fixes that bug,
which caused errors in the analysis of matrix models. An updated
version of the TPMath library has been released. PopTools now
uses the new version.
2. Fitting functions from the TPMath library (SIMPLEX, Marquardt
and BFGS) can now be called to minimise a standard spreadsheet.
This provides a real alternative to Solver (accessed via menu
system POPTOOLS/LIKELIHOOD TOOLS/OPTIMISATION).
3. SVD function now returns singular values in descending order -
slower but much more useful.
4. Several array formulas added:
All of these array formulas require the array entry technique
(see this
page for details). Utility of some of these functions for
matrix models is illustrated in the first demonstration sheet:
Eigenanalysis.xls.
5. Removed calculation of some generation times from the LIFE
function (too hard to make these general without separate
fecundity and survivorship matrices as input).
6. Added functions to support fitting with SIMPLEX, Marquardt and
BFGS procedures.
Version 2.1 (build 7) Updated 1 March 2001
1. Bug fix: The dialog boxes for entry of formulas in previous
versions of PopTools did not not allow entry of output to a
worksheet other than the input sheet. Apparently this behaviour
caused Excel to freeze up on some computers. The current version
allows entry on any worksheet (but not separate
workbooks).
2. Bug fix: Dialog box for entry of PCA formula sometimes did not
work. Fixed.
3. Solver functions did not work on some computers. This version
should correct that problem, but let me know if it doesn't
:-)
Version 2.1 (build 6) Updated 1 November 2000
1. Bug fix: Procedure to enter formula for dominant eigenvalue
(finite rate of increase) did not work. Fixed. Note: I am aware
of no bugs in the formula itself (DOMEIG).
2. New INSTALLATION.XLS prepared that no longer requires
SOLVER.
3. Updated the setup files using new version of the setup
compiler (Inno setup).
Version 2.1 (build 5) Updated 27 September 2000
1. Main change is that this version creates references to SOLVER
on the fly. If SOLVER is not installed, the functions that do not
depend on SOLVER will not work. This version should see
the end of the "Compile error in hidden module .... " messages
:-)
2. Bug fix: The PopTools menu bar disappeared when a chart was
selected. This meant that the routines to colour or scale a graph
series could not be used, since they require a graph series to be
selected before they can be used. Fixed.
3. Bug fix: The new CA and PCA functions were limited to smaller
data matrices than 5461 elements because the output could be too
large to return to Excel. In this version, if the output is
larger than 5461 elements, the results are copied to the
clipboard and can then be pasted into a worksheet immediately
after the function is calculated. The worksheet function return a
message to indicate this.
Version 2.1 (build 4) Updated 19 September 2000
1. Bug fix: The functions to return eigenvectors (dEigVect and
aliases) of general square matrices failed with some matrices of
integers. The problem occurred because of
pathological behaviour in the inverse iteration procedure used to
obtain the eigenvectors. The current fix works on all matrices
tested to date but a more robust algorithm is being developed for
a future release.
2. New function SymPow calculates rational power of a symmetric
matrix using spectral method. Useful for multivariate
statistics.
3. Added menu entry of Jacobi function and SymPow
4. Updated some demonstration files.
5. The ACF function now returns approximate pacf in second column
of the output.
Version 2.1 (build 3) Updated 14 September 2000
1. Bug fix: TRACE function introduced in last version actually
returned product of diagonal elements of a matrix rather than
sum. Fixed.
Version 2.1 (build 2) Updated 12 September 2000
1. Bug fix: Reference to VBE extensibility library somehow got
back into the program. This has caused installation problems on
some computers. Removed from this version.
Version 2.1 (build 1) Updated 12 September 2000 [Previous
version should have been labelled
2.1 rather than 2.0 because it is an upgrade rather than a bug
fix]
1. Bug fix: Monte Carlo routine did not restore calculation
state. Fixed.
2. Added function =SetRan(PRNG). If PRNG = 1, the Marsaglia
algorithm from the TPMath library is used for generation of
pseudo-random numbers, otherwise default to Mersenne Twister
algorithm. The argument PRNG sets a global variable, which is
initialised to 0 (for Mersenne Twister) when the PopTools DLL is
loaded. This function has been added to allow use of other PRNGs.
Any suggestions for alternatives?
Version 2.0 (build 7) Updated 11 September 2000
1. Added several new matrix formulas for centering and
standardising data matrices.
2. Matrix utility functions added: TRACE, DETERM, UPTRIANG,
IDENTITY.
3. Implemented the Mersenne Twister as the pseudo-random number
generator.
4. Added a "Test" button to the dialog for entry of random
variables. Clicking the button generates a file for testing the
pseudo-random number generator using the DOS version of
DIEHARD.
5. Improved ordination routines. Added correspondence analysis
function (CA) and added extra arguments to the PCA function. See
the new demonstration file ORDINATION.XLS installed by the setup
file.
6. Added a progress metre that appears when some lengthy
functions (eg MANTEL or SIMPLEX) are being calculated in the DLL.
This should not slow processing significantly, and can be turned
off or on using a new function =SHOWPROG(FALSE).
7. Calculation of Abar (in the function LIFE) is wrong. I have
turned this feature off until I figure out what is going
wrong.
8. Removed reference to VBE extensibility library. This has
caused installation problems on some computers. An unfortunate
side effect is that the worksheet "Map" function no longer adds
hyperlinks to the mapped sheet.
Version 2.0 (build 6) Updated (late) 8 August
2000
1. With any luck, this version should install cleanly on most
computers. I think previous installation problems were due to the
use of an Excel 2000 object library (Microsoft Visual Basic for
Applications Extensibility 5.3), which caused compilation
problems on Excel 97 (which uses an older version called
"Microsoft Visual Basic for Applications Extensibility"). [Note:
There could still be installation problems with this version
because SOLVER does not seem to have a consistent location in all
installations of MS Office. There also seem to be some anomalies
in the location of an Excel library called REFEDIT.DLL. Some
installations of MS Office seem to leave old copies lying around
in the system directory. I still don't know how to cope with
these problems. One user reported successful installation of
PopTools after first opening the SOLVER dialog box to force Excel
to recognise the location of the SOLVER XLA file.]
2. Main change is addition of "Matrix rainbow plot", which gives
a quick overview of the numeric values in a range of cells.
Version 2.0 (build 5) Updated 2 Aug 2000
1. Released as a beta, but failed to install on Excel 97
Version 2.0 (build 4) Updated (late) 31 July 2000
1. This build has been compiled with Excel 97 SR2 rather than
2000. Doing so reduced the size of the XLA file by nearly a
megabyte, and might help those users that report "Compile error
in hidden module etc"
Version 2.0 (build 3) Updated (early) 31 July
2000
1. Significant bug in the SHUFFLE function fixed. The routine
gave biased randomisations if used on matrices (not
vectors).
2. Routines for calculation of distance/similarity matrices added
(under "Extra stats" menu). Not yet documented in help file but
the demo file shows how to use them.
3. Improved bias-corrected percentile demo.
4. Added distance matrix demo.
5. Minor cosmetic changes.
Version 2.0 (build 2) Updated 27 July 2000
1. Major change is addition of following functions which use the
TPMath library:
MatInv - matrix inversion (more accurate than Excel's
MINVERSE with near-singular systems)
SVDSolve - solve linear system using SVD
QRSolve - solve linear system using QR decomposition
See the "Solve linear system" demo for details of these
functions
2. Linear interpolation function is now an array formula and is
in the DLL for speed.
3. Added interpolation function "Spline" to fit a cubic
polynomial through a set of points.
4. Documented "dRandSeed" function which allows you to set the
seed of the pseudorandom number generator
5. Added array functions to allow matrix projection within a
single row of a spreadsheet (see "Matrix projection" demo).
6. Added a utility to convert text values that should be numeric
into real numbers.
7. Fixed up documentation of some functions in the function
wizard.
8. Added the "Solve linear system" demo, and a demo of how to
calculate bias corrected percentile CL's.
9. Monte Carlo routine is now more flexible (counts number of
times test statistics are less than test statistics of real data,
or <= or >=.
Version 2.0 (build 1) Updated 6 July 2000
[Note: A small bug was discovered soon after this version
was first loaded. It was fixed immediately without changing the
build number]
Several routines from TPMath library added. See the new help file
for details.
1. Major change is implementation of non-linear function
minimisation algorithms - Marquardt's, Simplex, Simulated
annealing and Broyden-Fletcher-Goldfarb-Shanno methods. These are
dynamic formulas that return parameter estimates, minimised
negative log-likelihood and AIC. They depend on formulation of
the model as plain strings (like the ODEIntegrate and Euler
functions). They have a rigid input format and are limited to
models that can be specified as plain text strings, but are quite
powerful.
2. Added MatInv function for matrix inversion. The function
hasn't been tested extensively on near-singular matrices, so I
don't know whether it performs any better than Excel's built-in
MINVERSE. But you can easily test for singularity using the SVD
function.
3. Functions Incrementer1 and Incrementer2 added with arguments
StartValue, StepSize, Init. These increase every time the
worksheet is recalculated, unless the final argument "Init" is
True, in which case they stay at the starting value.
4. Function ColumnPlot added. This function returns an array
representing a column plot of the X-Y data. If entered as an
array formula (Ctrl-Shift-Enter) it can be plotted as an XY
graph.
5. Fixed the Interpolate function (for linear interpolation),
which wasn't working in previous releases.
Version 1.5 (build 4) Updated 5 June 2000: a significant
upgrade
1. Implemented routines for simple linear and multiple regression
to replace Excel's routines. As of this release, none of the
PopTools functions depend on LINEST. Instead, Jean DeBord's
TPMath regression routines are called. These have been tested
with the National Institutes of Standards in Technology (NIST)
data sets (see http://www.nist.gov/itl/div898/strd/).
You can download a zipped workbook showing the results of the
tests - and methods for using the functions -
here. Main features of the function "Regression" are better
performance than LINEST with highly collinear problems, and
correct R2 with forced intercept. The function
can be entered using the menu system.
2. Added function for solution of discrete time systems. The
function "Euler" has similar syntax to the "ODEIntegrate"
function but performs a discrete time simulation. The function
can be entered using the menu system.
3. Improved the demo sheet for the ODEIntegrate and Euler
functions. It makes a nice teaching aid :-)
Version 1.5 (build 3) Updated 23 May 2000:
1. Minor change to Runge-Kutta algorithm - allowed any size
system to be integrated (previous limit was 20 state variables
and 100 parameters). [This is a minor change - the algorithm will
probably be too slow for very large systems - so don't bother
with the upgrade if you have version 1.5 (build 2)]
Version 1.5 (build 2) Updated 19 May 2000:
1. Bug fix - Runge-Kutta algorithm gave incorrect results. Fixed
and validated.
Version 1.5 (build 1) Updated 18 May 2000:
1. Added array function that numerically integrates a system of
ordinary differential equations using a 4th order Runge-Kutta
algorithm with a fixed step size. The integration is performed
entirely in the PopTools DLL (RANDEVS.DLL) with the results being
returned to Excel as an array formula. Because the step size is
not adaptive, the algorithm best suited to "well behaved"
systems; it can be unstable if the system is stiff (although you
can usually get around this problem by choosing a smaller step
size - albeit at the expense of some computational time).
2. Added demo ODE.XLS to show how to use the ODEIntegrate
function.
Version 1.4 (build 6) Updated 8 May 2000:
1. Functions for generating random variables as array formulas
added. For a large number of random variables, the array versions
are quicker (often much quicker) than the standard versions,
because they make only one call to the DLL. They also make one
call to VBA, but this is of little consequence if you are
generating a large number of variables. The names of the array
functions are the same as the standard versions, but have an "A"
appended. Both sorts can be entered via the PopTools menu
system.
2. Fixed minor bug in Monte Carlo routine - it did not return
number of valid iterations if no test values provided.
Version 1.4 (build 5) Updated 5 May 2000:
1. Fixed another small bug (sigh!) in range input routines.
Version 1.4 (build 4) Updated 2 May 2000:
1. Fixed bug in error checking routines with long sheet
names.
2. Added demo of power analysis by simulation.
3. Function EQUAL now compares significant digits rather than
decimal places.
4. About box now shows web address.
4. Small changes to help file.
Version 1.4 (build 3) Updated 28 April 2000:
1. Fixed bug in last build - Monte Carlo routine did not
calculate the number of times test values exceeded.
2. Fixed bug in error checking routines.
3. Fixed bug in demo sheet CORRELATED.XLS fixed - the sheet had a
macro attached that caused infinite recalculation if Excel's
calculation mode was set to automatic (the default).
4. Small changes to help file.
Version 1.4 (build 2) Updated 27 April 2000:
1. Most procedures now include integrated help. To achieve this,
I converted the help system to the old WinHelp format (rather
than the new HTMLHelp format) to make it compatible with Netscape
users. This also makes the help system faster to load.
2. Minor changes to error checking routines.
Version 1.4 (build 1) Updated 14 April 2000:
1. Most procedures that change worksheet cells now include an
"Undo" facility. Only one level of Undo is supported, but because
of this facility, I have given most routines the ability
(optional) to overwrite a range even it contains array formulas.
If an output range contains an array formula, the whole range
containing the array is removed (with a VBA ClearContents
directive). Although, this operation can be undone, you should
still save a workbook before overwriting cells that contain array
formulas.
2. Added data validation routines for all dialogs.
3. Setup file now launches the README file automatically to
complete the installation process.
Version 1.3 (build 8) Updated 10 April 2000:
1. Improved routine for exporting a range to a text file. Added
option to export a fixed width file. The fixed width format can
be imported directly to the R statistical program (and,
presumably, S and S-plus) using a simple directive [eg,
read.table("data.txt")].
2. Added data validation routines for all routines based on a
forms with range selection or numeric input boxes.
3. Updated help file.
4. Minor cosmetic changes.
Version 1.3 (build 7) Updated 4 April 2000:
1. Added routine to draw a map of a spreadsheet, showing cells
that contain numbers, formulas or text. the routine is
particularly useful to find cells that cause errors because Excel
is seeing text rather than a number. Relies partly on code from
John Walkenbach's site.
2. Added routine to export a range to a tab-delimited text file.
Uses the DLL.
Version 1.3 (build 6) Updated 25 March 2000:
1. Fixed the function dLogNormaLike, which returned incorrect
results if the second argument was a single cell.
2. Ran the DIEHARD
tests on the PRNG.
Version 1.3 (build 5) Updated 23 March 2000:
1. Bug in likelihood profile routine fixed (procedure failed when
computing lower part of a fixed range). Also improved the routine
by providing more feedback during a run.
Version 1.3 (build 4) Updated 21 March 2000:
1. Likelihood profile routine improved. Added facility to
estimate profile over a particular range.
Version 1.3 (build 3) Updated 17 March 2000:
1. Bug fix: New function dNormDist always returned pdf rather
than cdf - fixed.
Version 1.3 (build 2) Updated 16 March 2000:
1. Fixed bug in likelihood formulas that could cause Excel to
crash if passed a number instead of a range as second
argument.
Version 1.3 (build 1) Updated 14 March 2000:
Several improvements - hence the new version number
1. Major change is ability to compute likelihoods with several
different error structures (see new demo LIKELIHOOD.XLS)
2. Likelihood profile routine improved
3. Routine for generation of random deviates from the Beta
distribution is now in the DLL - does not depend on the inverse
method using Excel - and is much faster than it was
previously.
4. Added functions dPoisson and dNormDist which have same syntax
and result as Excel's versions (POISSON and NORMDIST), but which
don't have the limitations discussed by Knusel
(1998).
Version 1.2 (build 8) Updated 8 March 2000:
1. Fixed routine for drawing life cycle (didn't work in Excel
97)
Version 1.2 (build 7) Updated 8 March 2000:
1. Serious flaw in RESAMPLING routines fixed - first and last
variables in a range were selected with half the frequency of
variables in middle of a range (apologies to anyone affected -
this was a silly error)
Version 1.2 (build 6) Updated 7 March 2000:
1. Routines for parameter estimation improved. These were
previously difficult to use without access to the code. The new
routines ("Bootstrap iteration" and "Likelihood profile" should
be more robust and easier to use).
2. Bug in "Summary stats" that prevented proper display of plot
in worksheets with a space in the name has been fixed.
3. New demo "Bootstrap.xls" added - parameter estimation by
bootstrap method.
Version 1.2 (build 5) Updated 3 March 2000:
1. Developed routine to draw a diagram
of the life cycle from a population projection matrix.
2. Improved interface for entry of dominant eigenvalue,
reproductive value and age structure.
3. Function EQUAL developed to compare values in two ranges to a
precision specified.
4. Added function ELASTICITY (same form as SENSITIVITY).
Version 1.2 (build 4) Updated 28 Feb 2000:
1. Build 3 introduced a bug in SHUFFLEDISTANCE formula. Fixed in
Build 4.
2. Several optimisations of resampling and shuffling routines.
Added routines for shuffling and resampling rows and columns of a
data matrix
3. New routine for computing confidence limits by bootstrap
method (under "Likelihood Tools" menu)
4. New routine to provide dynamic summary
statistics of Monte Carlo routines.
5. Some cosmetic changes.
Version 1.2 (build 3) Updated 22 Feb 2000:
1. Version 1.2 introduced a bug in the array function RESAMPLE.
The function returned just a single sample from the data. This
has now been fixed.
2. Added "Mantel test" under the "Extra stats" menu. This calls
RANDEVS.DLL to do a computation of the Mantel test on large
matrices. It is fast and handles large matrices (tested on 256 x
256 matrices of random variables). You can also enter a worksheet
formula for the Mantel test, as shown on the new demo.
3. New demo sheet for the MANTEL worksheet function.
4. Modified the dBetadev function. The function now returns a 1
row x 3 column array, with the random variable in column one, and
the parameters a and b in the next two columns. If entered as a
plain formula, you just get the random variable.
5. Made functions MEANFREQ and VARFREQ available (these were
present in earlier versions but not available from
worksheets:
MEANFREQ(Vector, Freq) returns the mean of a "Vector" of
observations with frequency "Freq"
VARFREQ(Vector, Freq) returns the sample variance (ie,
divisor is n-1) of a "Vector" of observations
Version 1.2 (build 2) Updated 17 Feb 2000:
1. Major bug in calculation of generation times has been fixed
(function LIFE invoked by the 'Basic analysis" option under
"Matrix Tools"). Previous versions of PopTools gave wrong
results. The new version has been tested with Leslie matrices,
but has not been tested with Usher matrices (standard
size-classified matrices). Current version should give correct
results but you would be wise to check some results by
hand.
2. Added facility to generate random variables from a beta
distribution, parameterised by mean [0,1] and standard deviation.
The function =BetaDev(m, s) [or
=dBetaDev(m, s)] returns a random
variable from the Beta distribution bounded on [0,1], with mean
m and standard deviation s. This facility uses the inverse of the
cdf, which is a built in function in Excel (ie, BETAINV). The
function uses VBA to return the result of the following
evaluation:
=BETAINV(RAND(),a,b), where a = (-ms2 + m2 -
m3) / s2, and b = a(1 -
m)/m
The function does not use the DLL, and because of the call
to VBA to re-parameterise the function in terms of a and b, it is is
slow compared to the other routines for generating random
variables. A DLL version will be developed at a later date.
3. Compressed the RANDEVS.DLL
4. Fixed several demo sheets.
Version 1.2 (build 1) Updated 9 Feb 2000:
1. Made all the DLL versions of the random deviates into volatile
functions and allowed entry via the Excel function wizard.
2. Added numeric checking of each replicate and a timer to the
Monte Carlo routine.
3. SHUFFLE and RESAMPLE are now DLL functions. They should be a
little faster now (not checked). The DLL functions, dShuffle and
dResample, can also be called directly from a worksheet.
4. Updated several demo files.
5. Some cosmetic changes.
Version 1.1 (build 16) Updated 4 Feb 2000:
1. Found a bug in the function dLogNormalDev (and LogNormalDev).
Function did not return required mean and standard
deviation.
2. Cosmetic changes made to Monte Carlo iteration function.
3. Name of setup file now reflects version number.
4. DLL recompiled.