2010-10-25  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* R/check.R: No longer check node labels by default (duplicates
	are not a problem for non-split methods).

	* R/model-quasse-mol.R, R/model-quasse-common.R, R/model-quasse.R:
	Methods-of-lines integration now works,	albeit slowly.

	* R/util.R: deSolve 1.8.1 OK

	* cleanup: added

	* configure.win, src/Makevars.win: Hopefully build on windows
	(untested).

2010-10-21  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* many: Added GeoSSE to the package.

2010-10-20  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* many: Added QuaSSE to the package, including the configure build
	system.

2010-10-14  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* NAMESPACE: new exports from below

	* R/model-bd-ode.R: New ODE based version of the BD model; this is
	really here for completeness and testing against the ODE based BD
	extensions.

	* R/model-bd-split.R: Removed find.mle method; inherits bd method
	now.

	* R/model-bd-t.R, R/model-bisse-t.R, R/model-musse-t.R: New
	time-dependent models, where parameters are arbitrary functions
	of time.

	* R/model-bisse.R: Avoid warning when making bisse likelihood
	function when all tips represent unresolved clades (thanks: Hanno
	Schaefer for finding bug).  Internal C function names have
	standardised now.

	* R/t.R: Support functions for time-dependent models.

	* man/make.bd.R: Documentation for make.bd.ode()

	* man/make.bd.split.R: Improve example

	* man/make.bd.t.Rd, man/make.bisse.td.Rd, man/make/musse.td.Rd,
	man/time.Rd: Add new time-varying functions to the help.

	* man/mcmc.Rd: Small improvements in the help.

	* src/bd-eqs.c: New file for ODE based BD model

	* src/bisse-eqs.c: Standardised function names, and abstracted
	derivative calculation from plain BiSSE, added time-dependent
	derivative calculation.

	* src/mkn.c: Moved matrix multiplication code into util.c

	* src/musse.c: Abstracted plain MuSSE calculation, removed matrix
	multiplication, added time-dependent derivative calculation.

	* src/util.{ch}: Utility matrix multiplication helpers.

2010-09-23  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* NAMESPACE: new exports from below

	* R/check.R: Improved logic of states checking for clade trees.

	* R/clade.tree.R: make.unresolved() -> make.unresolved.bisse(),
	plus similar function for bd models.  Fixed an old bug, for where
	clade trees do not include clades for *every* tip.

	* R/mcmc.R: Added mcmc.lowerzero(), which is just passes through
	to mcmc.default() with lower=0.  This is used as the mcmc method
	for all the likelihood models.

	* R/model-bd-split.R: bd.split models now inherit from "bd".

	* R/model-bd.R: Allow clade trees when making bd models.

2010-09-22  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* DESCRIPTION: Bumped version number to 0.5-3, which will be
	released soon.  Also updated the description, and added "Suggests"
	dependencies on multicore and tgp.

	* NAMESPACE: New exports for the musse.split, musse.td models, and
	generic mcmc.

	* R/check.R: New check.par.length() for doing simple recycling.
	Simplified check.sampling.f() to use this.  Added
	check.sampling.f.split(), check.bounds(), check.par.multipart().

	* R/diversitree-branches.R: More defensive node depth/height
	calculations when building cache.

	* R/mcmc.R, R/mcmc-norm.R, R/mcmc-slice.R: New generic mcmc
	function.  Default method allows different MCMC samplers.  Slice
	sampling removed (added to R/mcmc-slice.R), and demonstration
	univariate Gaussian sampler added.  In mcmc(), 'lower', 'upper',
	and 'w' can be passed in as scalars now.

	* R/mle-tgp.R: New find.mle interface to the tgp statistical
	optimiser (currently experimental and unadvertised).

	* R/mle.R: Added support for tgp (see above).  Simplified things
	with new R/check.R support.  

	* R/model-bisse-split.R: BiSSE/split functions now inherit from
	'bisse'.  argnames.bisse.split() simplified.
	find.mle.bisse.split() no longer required.

	* R/model-bisse-td.R: Added 'safe' argument to make.bisse.td().
	Changed argument order.  Use check.par.multpart() to tidy
	likelihood function.  Simplify argnames.bisse.td().  Remved
	find.mle.bisse.td().

	* R/model-bisse.R: Switched 'safe' and 'strict' arguments for
	consistency (should affect few users, as these should not really
	be used positionally).

	* R/model-musse-split.R, R/model-musse-td.R: Added new models.

	* R/model-musse.R: Added 'safe' argument.  Other minor changes.

	* R/split.R: split.t can now be a scalar if '0' or 'Inf'.

	* R/util.R: Added support for deSolve version 1.8.  Added
	make.prior.ExpBeta() (unadvertised, unexported), which gives an
	alternative parametrisation of bisse models.  Other support
	functions added.

	* man/make.bd.split.Rd, man/make.bisse.td.Rd,
	man/make.musse.split.Rd, man/make.musse.td.Rd: new documentation files

	* man/mcmc.Rd: Substantial rewrite to reflect new MCMC approach.

	* man/make.bisse.Rd, man/make.musse.Rd: Minor cleanups

2010-08-12  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* DESCRIPTION: Bumped version number to 0.5-2

	* R/model-bd-split.R: make.bd.split has new default for split.t,
	copying MEDUSA's default behaviour.

	* R/split.R: Fixed bug in negative branch check.

	* src/bucexp.f, src/dmexpv.f, src/dsexpv.f, src/dsexpvi.f,
	src/hyperg.f: Tidied code to remove compiler warnings.

2010-08-06  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* R/model-bd-split.R: Fixed local naming error (phy->tree).

	* man/argnames.Rd: Example was broken with strict character
	checking.

	* man/make.bisse.Rd: Document strict character checking.

2010-07-27  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* NAMESPACE, R/model-bd-split.R: New bd.split model

	* R/split.R: Improved handling of times around splits.

	* R/split-recycle.R: Removed.

2010-07-20  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* R/model-bisse-split.R, R/split.R: Removed the recycling code.

	* NAMESPACE: New exports for the BiSSE/td model.

	* R/check.R: Strengthened state checking.

	* R/diversitree-branches.R: Renamed xxsse.ll -> ll.xxsse

	* R/model-bisse-split.R: Now includes parameter recycling.

	* R/model-bisse-td.R: New model

	* R/model-bisse.R, R/model-musse.R: Strict state checking, other
	minor changes.

	* R/split.R, R/split-recycle.R: Bulk of the parameter recycling
	code.

	* R/td.R: New time dependent code

2010-06-23  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* R/diversitree-branches.R: Many changes to all.branches to remove
	handling of unresolved clades, and to move the internal data
	structures to be lists (rather than matrices).  New function
	dt.tips.ordered for helping make initial conditions in the format
	we now expect.

	* R/mcmc.R: MCMC now returns samples if run to completion (oops)

	* R/model-bisse-split.R: Now makes its own branches.aux(), changes
	to unresolved clade handling, new list structure, and using the
	generic all.branches.split in R/split.R

	* R/model-bisse.R: Changed handling of unresolved clades, given
	above changes.  Changed initial condition format.

	* R/model-mkn-legacy.R: Removed as I doubt that it is accurate at
	all now.

	* R/model-mkn.R: Removed unresolved clades, updated to list
	structure.

	* R/model-musse.R: Removed unresolved clades, updated to list
	structure, new initial conditions.

	* R/split.R: New generic all.branches.split() and
	make.cache.split() functions.

	* R/util.R: matrix.to.list() - convert matrix rows to list
	elements.

	* R/check.R: Moved check.unresolved into R/model-bisse.R

	* R/asr.R, R/asr-bisse.R, R/asr-mkn.R: Changed handling of
	unresolved clades, given above changes.  R/asr.R is also updated
	to the new list data structures.

	* man/*.Rd: Sundry documentation changes.

	* R/model-mkn-legacy.R: check in before removal.

2010-06-14  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* R/constrain.R: Better constraining of constrained functions.

	* R/history.R: Fix plot.history to better return an ape-compatible
	state.

	* R/mcmc.R: MCMC now allows interrupt part-way through a chain, and
	returns all completed points so far.

	* R/make.bisse.split.R: Tweaks to fix argument handling.

	* R/model-bisse.R: subplex is now the default ML search
	algorithm.

	* R/make-bm.R: Clean up pre-diversitree code.

	* R/model-musse.R: subplex is now the default ML search
	algorithm.  Better checking to make sure that expected states are
	present.

	* R/profiles-plot.R: Work around for extremely thin CIs

	* R/simulation.R: musse trees available to 'trees()'.

	* R/split.R: Catch an edge case of root node type.

	* R/util.R: mrca.tipset() now accepts character vector of tip
	names.

	* man/constrain.Rd: Updated to reflect constraining constrained
	functions being allowed.

	* man/make.bisse.Rd: Removed prior argument from returned function
	description.

	* man/make.bisse.split.Rd: New help file.

	* man/make.bm.R: New help file

	* man/make.musse.Rd: Added starting.point.musse(), clarified
	example. 

	* man/mcmc.Rd: MCMC interrupt documentation, new prior
	requirements.

	* man/simulate.Rd: Added Musse abilities.

2010-05-31  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* NAMESPACE: Added functions for the changes included in this
	changeset.

	* DESCRIPTION: bumped version number to 0.5-1, as this version
	will have quite a few new features.

	* R/clade-tree.R: New function clades.from.classification(), that
	builds a clade tree by using a higher-level classification of
	tips.  Renamed polytomies.to.clades() -> clades.from.polytomies()
	for consistency.

	* R/clade-tree-plot.R: Removed - now uses alternative plotting in
	R/plot-alt.R.  Methods for control have been added to
	R/clade-tree.R.

	* R/history.R: Minor changes to cope with changes to the
	alternative plotting interface.

	* R/mcmc.R: Changes to move the prior control within MCMC.

	* R/mle.R: Added box constraints for subplex (not done "properly",
	but through disallowing any value outside of the constraints).

	* R/model-bd.R: Moved to new checking functions in R/check.R,
	using the "prior" argument to bd likelihood functions is now an
	error.

	* R/model-bisse.R: nt.extra was not being passed through
	correctly.  Moved to new checking functions, and added error for
	use of "prior" argument to likelihood function.

	* R/model-bm.R: Added to the package

	* R/model-mkn-legacy.R: Added error for use of "prior" argument to
	likelihood function.

	* R/model-mkn.R: Moved to new checking functions, and added error
	for use of "prior" argument to likelihood function.

	* R/model-musse.R: Added to the package.

	* R/plot-alt.R, R/plot-alt-util.R, R/plot-alt-extra.R: Completely
	reworked.  Now works for type="fan".

	* R/simulate-musse.R: Added to the package

	* R/split.R, R/model-bisse-split.R: Functions for partitioned,
	MEDUSA-style, calculations, including the BiSSE method.

	* R/util.R: New functions boxconstrain(), descendants(),
	mrca.tipset(), and branching.heights() (none are exported).

	* src/musse-eqs.c: Added to the package

	* man/make.bd.Rd: Fixed typo in example
	
	* man/make.clade.tree.Rd: Added documentation for
	clades.from.classification(), though this is preliminary, and no
	examples are given.
	
	* man/make.musse.Rd: Added

	* man/tree.musse.Rd: Added

2010-03-25  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* DESCRIPTION: bumped version number (did I miss checking in
	0.4-5?)

	* R/asr-mkn.R: Pass additional arguments through to underlying
	likelihood calculations.

	* R/model-bd.R: Some warnings for the Yule function with sampling
	and unresolved clades.  Fixed a couple of bugs (e.g., use of phy
	rather than tree leading to unbound variables).  Check parameter
	number and give a nice error if the wrong number are given.
	Corrected formula for bd likelihood under sampking where survival
	is not conditioned on.

	* R/profiles-plot.R: Overhaul that should perform much better on
	distributions whose density does not tend to zero as x->infty.
	Also now the shading lines up properly with the confidence
	intervals.

	* man/make.bd.Rd, man/make.bisse.Rd: Documentation improvements.

2010-03-02  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* R/model-bd.R: Fix for lambda=mu (not pretty, but should work in
	the short term).

	* R/mle.R: Reverted previous change (gives error when starting
	point invalid) as the handling of '...' needs fixing.

	* R/model-bd.R: Added support for sampled trees and trees with
	unresolved clades.

	* R/model-bisse.R: Minor logical tweaks in make.cache checking
	code.

	* R/simulate-bd.R: Don't create final species when making a tree
	with fixed number of species (simulate to n+1 and trim the final
	species).

	* man/make.bisse.Rd: More examples, showing that BiSSE reduces to
	Mk2 and the birth-death model under certain conditions.  This is
	also shown for the case of sampled trees and unresolved clades,
	and acts as a good test case that everything is working
	correctly.

	* src/bucexp.f: Likelihoods were incorrectly calculated for clades
	with no known states.

2010-02-23  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* R/asr*.R: Finished fix of the asr code.

	* R/constrain.R: More informative error message when parameters of
	wrong length.

	* R/mle.R: find.mle gives error when starting point invalid.

	* R/model-bisse.R, R/model-mkn.R: Give informative error message when
	given invalid tree object (e.g. NULL) and likelihood calculations
	give informative message when given wrong length parameters.

	* R/zzz.R: no longer needed - removed.


	* DESCRIPTION: Depend on at least deSolve 1.5, so that correct
	behaviour can be guaranteed.

	* R/asr*.R: Half way through a fix of the asr code, particulary for
	root states.

	* R/diversitree-branches.R: root.xxsse() now takes root.p argument,
	computed through the new function root.p.xxssse().  This allows
	reuse of that function elsewhere.  Changes to xxsse.ll to reflect
	this.

	* R/model-bd.R: Added extra check in the bd likelihood (mu/lambda
	where both were zero causing a to be NaN).  Fixed handling of
	prior (was ignored before!).

	* R/model-bisse.R: Fixed initial conditions (should not avoid
	multiplying by lambda at the root (e.g. cases where lambda_i is
	zero for some i); this now happens at the root (within
	root.xxsse).

	* R/model-mkn.R: Changed root handling to follow bisse (separating
	calculation of the root probabilities from the root calculation).
	Added the Mk2 equilibrium frequency for root calculations.

	* R/simulate-bisse.R: make.tree.bisse.C.core now has verbose
	argument.  Fixed crash where rates of character evolution were
	fast relative to speciation; the history matrix could overflow.
	This fix requires tracking the number of history entries.

	* R/util.R: make.ode: Updated to deal with deSolve-1.7 (new elag
	argument).

	* man/asr-mkn.Rd, man/make.bd.Rd, man/make.mkn.Rd: Minor changes

	* src/simulate-bisse.c: Changes to simulate_bisse() (and
	corresponding changes in wrapper code) to deal with the history
	overflow bug.

2010-02-02  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* DESCRIPTION: Bumped version number to 0.4-4

	* R/asr-mkn.R: Fixed bug in use of make.history() (relied on a 'phy'
	object in .GlobalEnv)

	* R/history.R: Check on trees is optional (required for above bug
	fix)

	* R/make.mkn.R: Change default of make.mkn's use.mk2 argument to
	FALSE so that results are numerically more consistent, if a little
	slower.

	* R/simulate-bisse.R: Swap bisse.stationary.freq ->
	stationary.freq.bisse

	* R/simulation.R: prune() throwing error on single species trees;
	now gives up.

	* man/asr-bisse.Rd, man/asr-mn.Rd, man/make.mkn.Rd, man/asr.Rd:
	minor documentation fixes/improvements.

2010-01-28  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* man/asr-bisse.Rd: Added BiSSE/Mk2 equivalency section to help
	page.

2010-01-27  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* NAMESPACE: Updated to reflect changes below

	* R/asr-bisse.R: Added marginal ASR under BiSSE to diversitree.

	* R/asr-mkn.R: Marginal ASR under Mk2/Mkn now works again, plus
	various changes and bug fixes.  Works as it should now.

	* R/asr.R: do.asr.marginal no longer runs all.branches(), and
	expects this passed in.  This helps with the mk2 code.  Margnal
	asr now takes correct node numbers (I think).

	* R/diversitree-branches.R (make.prior.exponential): Normalise the
	exponential prior, for use with computing Bayes factors, etc.,
	following suggestion from Emma Goldberg.

	* R/history.R: Wimp out from summarising multiple histories.

	* R/model-mkn-legacy.R: Tidy out some commented out code, and
	adding old asr.marginal.mkn.old function.

	* R/model-mkn.R: New versions of the mk2 & mkn asr functions that
	use the new mk2/mkn likelihood functions (forgot to add
	yesterday).

	* R/plot-alt.R: plot functions pass ... through to plot()

	* man/asr-bisse.Rd: New documentation

	* man/asr-mkn.Rd: New documentation

2010-01-26  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* R/asr.R: New asr generics

	* R/asr-mkn.R: New versions of the mk2 & mkn asr functions that
	use the new mk2/mkn likelihood functions (see below).

	* R/mcmc.R: Check that 'w' is correct length.

	* R/model-bisse.R: Add check for largest unresolved clade (200
	spp), preventing possible crash.

	* R/model-mkn-legacy.R: Old Mk2 code that uses all.branches();
	preserved for the next version or so.

	* R/model-mkn.R: New Mk2/Mkn model that is about 20-50 times
	faster than the old version (does all branches at once).

	* man/make.mkn.R: Small fix to reflect new version

	* src/mkn.c: C code required for new mkn/mk2 code.

2010-01-21  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* R/clade-tree.R: Was totally broken due to overloading of
	"ancestors2" function.  Also fixed bug when there is exactly one
	polytomy and replaced drop.tip and drop.tip.fixed.

	* R/diversitree-branches.R (make.cache): Return "edge" and
	"edge.length" as part of the cache object.

	* R/model-bisse.R: Bug in branches.unresolved.bisse due to missing
	drop=FALSE fixed.  Also suppress warnings when finding a BiSSE
	starting point, as these are not interesting.

2010-01-19  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* DESCRIPTION: updated to version 0.4-3

	* R/constrain.R: Now allows "extra" variables to be specified,
	allowing constraint against dummy parameters.  New "update" method
	for removing constraints (adding constraints will come soon).
	constrained functions now have attribute "func" containing the
	original unconstrained function.

	* R/diversitree-branches.R: New check for appropriate length for
	root.p.

	* R/mcmc.R: Better handling of fail values.

	* R/mle.R: coef.fit.mle for constrained models can now return
	coefficients for the underlying full model (with full=TRUE).

	* R/model-bd.R: New starting.point.bd function

	* R/model-bisse.R: starting.point.bisse uses starting.point.bd

	* R/util.R: protect() now takes a default value for failure.

2010-01-14  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* DESCRIPTION: Now depends on subplex

	* NAMESPACE: export new methods for fit.mle objects (coef and
	extractAIC), plus constants ROOT.*

	* R/clade-tree-plot.R: Fixed (was broken after importing
	plot2.R).  Now uses node.depth and node.depth.edgelength from
	plot2.R, but uses different version of node.height that allows for
	the number of taxa represented at a tip to affect spacing.

	* R/constrain.R (constrain): now allows 'formulae' object
	including a list of constraints.

	* R/mcmc.R: Removed partially-implemented options for functions
	that do not return proper log-likelihoods.

	* R/mle.R: Optional supression of warnings when guessing a
	constrained starting position.  New extractAIC.fit.mle method.
	Option for (mostly unchecked) sequential likelihood ratio tests
	for sequentially nested models.

	* R/model-bd.R (make.yule): Cannot (yet) use a prior with the Yule
	model: warning added.

	* R/model-bisse.R (starting.point.bisse): Improved to start the
	search from a yule model first, removing the need to include a
	starting point.

	* R/model-mkn.R: make.mkn() was broken (did not pass k through to
	make.cache.mkn()).  argnames.mkn() now takes optional 'k' argument
	for generating argument names manually (may change in future).

	* R/profiles-plot.R (profiles.plot): Number of breaks in a plot
	now tunable in argument.

	* R/util.R (make.ode): Now compatible with deSolve-1.6.

	* man/make.bisse.Rd: typo

	* man/simulate.Rd: small clarifications.

2010-01-05  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* R/simulate-bisse.R (make.tree.bisse): Fixed creation of empty
	history objects.

	* R/history.R (plot.history.coords): Fixed plotting history
	objects where nothing happened.

	* R/simulation.R (prune.hist): Fix for history plotting where
	changes occur along a branch leading to the reconstructed root
	when the branch is erased by extinction.

	* R/mle.R: Moved do.mle.search around to make file easier to
	navigate.  New coef.fit.mle method for extracting parameters from
	ML fits.

	* R/model-bd.R: Renamed bd.ll -> ll.bd for consistency with other
	functions.

	* R/model-bisse.R: Reordered arguments of ll.bisse to match those
	of ll.xxsse.

2010-01-04  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* R/model-bisse.R (branches.unresolved.bisse): Switch
	log-compensation to the sum of variables (rather than minimum of
	variables) to avoid a crash on Linux (stack smashing) and an
	excessive number of warnings on other platforms.
	
	* R/model-bisse.R (make.branches.bisse): make.ode for the branch
	integration is now done during make.bisse.  Added new "safe"
	argument to make.bisse that selects how this should be done.
	Eventually all lsoda based likelihood functions will get a "safe"
	argument.

	* man/make.bisse.Rd: Added "safe" argument.

	* R/zzz.R: Removed .onLoad function; no longer needed with
	make.ode moved inside of make.bisse.

	* R/util.R (make.ode): Updated make.ode to work with deSolve
	version 1.6 (two new additional arguments).  The "safe" version
	now returns same data format as the unsafe version.

	* R/model-mkn.R (argnames.mk2): Fixed logic around argument names
	for mk2 and two-state mkn (latter now returns q12, q21)

	* R/simulate-bd.R (tree.yule): New Yule tree simulation function
	that uses the existing tree.bd with mu = 0.  Required changes also
	to R/simulation.R and man/simulation.Rd.

	* R/mle.R, R/mcmc.R and all likeihood functions: Shifted protect()
	from within every likelihood functions into the new mle interface
	and MCMC functions directly.  This removes significant code
	duplication, simplifies creation of new likelihood functions, and
	means we can always depend on fail.value existing.

	* R/model-bd.R (find.mle.yule): Added support for Yule models.
	These are nice as the ML parameters are findable analytically.

2009-12-21  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* Too many little changes to list

	* R/plot-alt.R: New plotting functions, partially duplicating
	ape's plot function to allow stochastic character map type plots
	to be drawn.  I am attempting to retain as much compatibility with
	ape as possible and only using these commands within high-level
	plots.

	* R/history.R: Functions for storing and plotting phylogenetic
	histories.  The simulation code now stores exactly when changes
	occured and can plot the full character history.

	* R/find.mle.R: Continuing to revamp the find.mle code.  Different
	back ends now abstracted (though new ones cannot be added without
	recompiling the package).  Further changes coming though.

	* R/model-mkn.R: Uses the general log-compensation feature now.

	* R/util.R: New function discretize, which is useful for binning
	continuous characters into discrete characters (possibly for
	making colour codes).  Probably will change soon.

	* man/plot.history.Rd: Documentation for histories

2009-12-02  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* R/simulation.R (tree.bisse): Fix to tree simulation code to
	store node states.  This requires fix to ape's drop.tip function.

2009-12-01  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* R/util.R (invert): New function invert for returning the inverse
	of the log-likelihood.

	* R/model-bd.R: Simple birth-death process estimation.  This does
	not yet allow for sampling fractions or unresolved clades, but
	these will be added soon.  MLE routines are also included.

	* R/model-mkn.R: Simple Mk2/Mk-n discrete character evolution.
	This directly duplicates the 'ace' function in ape, but should
	allow some additional flexibility.

	* R/find.mle.R (find.mle.bisse): Removed default 'lower'
	specificiation as this was causing more confusion than helping
	anybody.  Using fail.value will get around more problems,
	including invalid models because of invalid lower/upper.  This may
	cause some problems where a hard lower bound is preferred to get
	exact solutions.

2009-11-30  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* R/mcmc.R (mcmc): Added checking that the initial position has
	positive probability.  Also added 'verbose' flag to make MCMC
	searches quieter.

	* R/model-bisse.R (branches.bisse): Recursive algorithm to reduce
	the probability of numerical underflow along unlikely branches.
	This will overflow the stack sometimes though.

	* General: rewrite of the calculation functions to allow new
	models to be more easily developed.  This may cause a slight
	slowdown, unfortunately.

2009-10-22  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* R/util.R (protect): Switch from trySilent to try(...,
	silent=TRUE) in anticipation of R 2.10's deprecation of
	trySilent.

	* R/util.R (make.ode): Fixed bug that caused integration to fail
	with deSolve version 1.5 (added 'flist' parameter).

2009-10-14  Rich FitzJohn  <fitzjohn@zoology.ubc.ca>

	* New formula-based constraint interface (through function
	constrain())

	* Subplex available to do ML searches

	* Standard error estimates on ML estimates
