Deleted some of the legacy files that have been collected over the generations. They are bloated and dead-weight.
Moved the code to remove an intercept term from a formula to its own function: no_intercept.
Added the initial code to simultaneously diagonalize the covariance matrices of two classes. We do this with an S3-class approach with the 'simdiag' function.
Added the data-generation code for the intraclass covariance structure. Removed the references to the 'foreach' package. Updated the documentation for the 'simdiag' functions. Updated the 'simdiag2' function to accept two matrices rather than a data set; the data set is dealt with in 'simdiag.default'.
Added data generation for autocorrelated block structure. Added a helper function to compute MLE for cov matrix under normality. Added helper function to SimDiag with Fast SVD.
Refactored the sample covariance matrix pooling.

Moved the pooling of the diagonal sample covariance matrices to the
'diag_estimates' function.
Added custom shrinkage estimators and MDEB.

Can now apply a custom diagonal shrinkage estimator to the variance
estimators with the 'diag_shrinkage' function. Can specifically add the
MDEB shrinkage estimator with the 'mdeb_shrinkage' function.
Added log-determinant and log-prior constants to the 'predict' functions.

Fixed an embarrassing issue…I was not adding the necessary constants
(i.e. the log-determinant and the log-prior) to the when making
classifications with the DLDA, DQDA, SDLDA, and SDQDA classifiers.
Updated MDEB shrinkage to divide by approximate rank.

I had forgotten to divide the trace of the covariance matrices by
'min(n_k, p)' -- fixed. Also, I slightly altered the 'diag_shrinkage'
function to include add the shrinkage to the variance for each class's
estimator list, rather than having a different rule for the linear and
quadratic cases.
Updated the 'simdiag_transform' function.

Can now specify the dimension of the projected subspace with the
argument 'q'.
Added option for shrunken means to diag classifiers.

To each of DLDA, DQDA, SDLDA, and SDQDA, I added the option to use an
improved estimator of the means. For now, the options are the MLE and
the proposed estimator by Tong et al. (2012), which I have implemented
as the 'tong_mean_shrinkage' function.
Purged the TODO list of previous bloat.
Fixed slight issue with 'est_mean' argument.

I had forgotten to use the 'match.arg' function, so by default, both of
the estimators (i.e. MLE and Tong's) were being passed into the
function. Fixed.
Added a function to compute the pooled covariance matrix MLE.
Added function to parametric bootstrap with transform and inverse transform.

I have added the 'boot_parametric' function to bootstrap from K
populations parametrically with the option to transform and back
transform following Parrish et al. (2009). The only available
transformation currently is that of Yeo and Johnson (2000). Also, so
that the sample covariance matrices are positive definite, I have added
a shrinkage estimator from the RDA model given in Hastie et al.'s EoSL
text.
Fixed a glaring error in the "rank" approach to SimDiag.

I was treating the matrix 'x' as a vector when determining the row
subsets for each class.
Added Bhattacharyya distance calculation.

Also, added the option to calculate a diagonal covariance matrix MLE in
the 'cov_mle' function.
Added a helper function that computes percentage change in a vector.

For each element in the vector, the percentage change is calculated.
This is useful for identifying trends in ordered vectors, where the
elements are changing very little. Think the 'elbow criterion' in a
scree plot.
Added a function to choose the 'optimal' reduced dimension.

Based on the elbow criterion of the scree plot often employed in PCA.
Look for the dimension, where the criterion hardly changes.
Added a function to compute the Fast eigenvalue decomposition

The function uses the Fast Singular Value Decomposition from the
'corpcor' package to compute the eigenvalue decomposition of the
covariance matrix MLE. This function is FAST for wide-data.