Changes from ver 1.0-5 to ver 1.0-6 [March-12-2019]
1) multiway-package
* Added cpd = canonical polyadic decomposition (N-way)
* Added examples to Tucker help files (Tucker1 and Tucker2).
* Bug fix for tucker checks with fixed or starting weights.
* Modified examples for parafac2 and sca help files.
2) cpd
* Function for fitting N-way canonical polyadic decomposition.
* This is an N-way generalization of the parafac function.
3) parafac2
* Modified the data generation code for help files.
* No longer calls the sample function to generate data.
4) sca
* Modified the data generation code for help files.
* No longer calls the sample function to generate data.
5) tucker
* Bug fix (checks with Fixed or Start weights)
* Added Tucker2 and Tucker1 examples to help file
Changes from ver 1.0-4 to ver 1.0-5 [June-10-2018]
1) multiway-package
* Package file is now update-to-date with Description file
* Changes in defaults of nscale (now uses root mean square of 1)
* nrescale was removed (nscale has been preferred since ver 1.0-1)
* Improvements to all of the rescaling and resigning functions
* Updates to indscal function (similar to parafac and parafac2)
* Added function mcr = multiway covariates regression
* Now offers 24 possible constraints for parafac and parafac2
which are fit via the cmls function (in CMLS package)
* Internal improvements for fitting parafac and parafac2
* Afixed, Astart, and Astruc arguments added for parafac
* Changes to const.control, print.parafac, and print.parafac2
* Added *modes inputs to parafac and parafac2
2) const.control
* No longer has argument "nonneg". Note that non-negativity is
now controlled via "const" argument for smoothness constraints.
* Added the argument "intercept".
3) const (from CMLS package)
* Prints/returns the six letter constraint code and corresponding description.
* Default prints all 24 possible constraint options.
4) indscal
* Several new arguments added to reflect updates to parafac function.
* Change in default functionality (non-negativity now imposed on C)
* No longer allows for unconstrained Mode C update.
5) cmls (from CMLS package)
* Function for constrained multivariate least squares.
* Used for fitting constrained ALS algorithm in parafac and parafac2.
6) mcr
* Function for fitting multiway covariates regression model.
* Allows for constraints on the parameters (via cmls).
7) nscale
* New default uses newscale, which is desired root-mean-square
* Old input ssnew (sum-of-squares) is still allowed.
8) parafac
* Now offers 24 possible constraints (see ?const)
* Internal improvements for fitting (via cmls)
* Added arguments Afixed, Astart, and Astruc
* Added *modes arguments for specifying unimodality constraints
9) parafac2
* Now offers 24 possible constraints (see ?const)
* Internal improvements for fitting (via cmls)
* Added *modes arguments for specifying unimodality constraints
10) rescale and resign
* Now checks to ensure new scale and sign are non-zero
* Can handle degenerate solutions with a column of zeros in weights.
Changes from ver 1.0-3 to ver 1.0-4 [Nov-13-2017]
1) multiway-package
* Bug fix: parafac2 initialization with nfac = 1
* Missing data now allowed (as NA) and iteratively imputed
- parafac, parafac2, and tucker
* Added progress bar option ('verbose' argument)
- parafac, parafac2, and tucker
* Expanded functionality of ncenter for list arguments
* Improved stability tolerance (mpinv and smpower)
* Improved internal computations for corcondia
* Improved initializations for parafac2 nesting Mode
* Updated Helwig (2017) reference throughout.
2) corcondia
* Improved computation for 'parafac' and 'parafac2' objects
* CCD now calculated more efficiently for large 'nfac'
3) mpinv and smpower
* Improved stability tolerance (now depends on data size)
4) parafac
* Missing data now allowed (as NA) and iteratively imputed
* Added progress bar option ('verbose' argument)
* Updated reference to Helwig (2017)
5) parafac2
* Bug fix: now possible to fit model with nfac = 1
* Improved initializations for nesting mode weights
* Missing data now allowed (as NA) and iteratively imputed
* Added progress bar option ('verbose' argument)
* Updated reference to Helwig (2017)
6) tucker
* Missing data now allowed (as NA) and iteratively imputed
* Added progress bar option ('verbose' argument)
Changes from ver 1.0-2 to ver 1.0-3 [May-17-2017]
1) multiway-package
* Bug fix: starting values and non-negativity constraints (parafac and parafac2)
* Bug fix: when using rescale.sca with type="sca-ecp"
* Reformatted the output for indscal (now more comparable to other outputs)
* Reformatted the output for parafac2 (now x$A is list of Mode A weights)
* Added unimodal, monotonic, periodic, and smoothness constraints to parafac and parafac2
* Added const.control argument to control new constraint options
* Added print method for indscal, parafac, parafac2, sca, and tucker objects
* Added sum of squared errors to output results (x$SSE)
* Components are no longer ordered according to R^2 when using structure constraints
* Added identifiability check on number of factors for tucker model
* Improvements to internals of smpower function
2) const.control
* New function to control the functional constraints (3-6)
* Can adjust the degrees of freedom (df) for spline basis
* Can adjust the polynomial degree (degree) for spline basis
* Can constrain the function to be non-negative (nonneg)
3) indscal
* Added print method (prints constraint, fit, and convergence information)
* Added various items to output (to be comparable to other methods)
* Added sum of squared errors to output results (x$SSE)
* Removed x$strain output (because this is equal to x$SSE)
4) parafac
* Bug fix: now possible to use starting values and non-negativity constraints on same mode
* Added print method (prints constraint, fit, and convergence information)
* Added sum of squared errors to output results (x$SSE)
* New constraint option: const[j]=3 for unimodal constraint
* New constraint option: const[j]=4 for monotonic constraint
* New constraint option: const[j]=5 for periodic constraint
* New constraint option: const[j]=6 for smoothness constraint
* New constraint option: control argument can be used to control options for constraints 3-6
5) parafac2
* Change in formatting of output:
- x$A is now a list of Mode A weights
- x$Phi is the common crossproduct matrix for Mode A
* Added print method (prints constraint, fit, and convergence information)
* Added sum of squared errors to output results (x$SSE)
* Bug fix: now possible to use starting values and non-negativity constraints on same mode
* New constraint option: const[j]=3 for unimodal constraint
* New constraint option: const[j]=4 for monotonic constraint
* New constraint option: const[j]=5 for periodic constraint
* New constraint option: const[j]=6 for smoothness constraint
* New constraint option: control argument can be used to control options for constraints 3-6
6) sca
* Bug fix: rescale.sca with type="sca-ecp" (fixed rescaling of Phi matrix)
* Added print method (prints constraint, fit, and convergence information)
* Added sum of squared errors to output results (x$SSE)
7) tucker
* Added print method (prints constraint, fit, and convergence information)
* Added identifiability constraint for 'nfac' input: need nfac[j] <= prod(nfac[-j])
* Added sum of squared errors to output results (x$SSE)
Changes from ver 1.0-1 to ver 1.0-2 [Feb-19-2016]
1) multiway-package
* Added "corcondia" function
* Added "mpinv" function
* Added "GCV" and "edf" to model outputs
* Structure constraints for parafac and parafac2
* Improvements for nscale with list inputs
2) corcondia
* New function to calculate Core Consistency Diagnostic
* For examining fit of Parafac or Parafac2 models
3) mpinv
* New function to calculate Moore-Penrose Pseudoinverse
* Calculated via stabilized singular value decomposition
4) nscale
* Changes in default functioning for lists
* Now possible to scale data modes across or within lists
5) parafac and parafac2
* Can input structure matrix to constrain pattern of weights
* Can constrain structure of Phi matrix for parafac2
6) parafac, parafac2, sca, and tucker
* Generalized Cross-Validation (GCV) now reported
* Effective degrees of freedom (edf) now reported
Changes from ver 1.0-0 to ver 1.0-1 [Aug-26-2015]
1) multiway-package
* Speed-ups for indscal, parafac, and parafac2
* congru: new function to calculate Tucker's congruence coefficient
* Changes in convergence tolerance for all functions
* Can now output all random starts (instead of only best)
* Renamed function "nrescale" to "nscale" ("nrescale" still works)
* Added "reorder" functionality for all methods
* Added "rescale" functionality for all methods
* Added "resign" functionality for all methods
* Bug fixes for SCA-IND model with type="sca-ecp"
* More customizability for parafac2 (fixed correlation structures)
2) congru
* New function to calculate Tucker's congruence coefficient
* Functionality is similar to cor and cov functions in R
3) indscal
* Improvements to internals (speed-ups)
* Now uses change in R^2 to determine ALS convergence
* Default convergence tolerance now 10^-4
* Can now output all random starts (instead of only best)
* Can use "reorder" to reorder factors of fit INDSCAL model
* Can use "rescale" to rescale factors of fit INDSCAL model
* Can use "resign" to resign factors of fit INDSCAL model
4) parafac
* Improvements to internals (speed-ups)
* Now uses change in R^2 to determine ALS convergence
* Default convergence tolerance now 10^-4
* Can now output all random starts (instead of only best)
* Can use "reorder" to reorder factors of fit Parafac model
* Can use "rescale" to rescale factors of fit Parafac model
* Can use "resign" to resign factors of fit Parafac model
5) parafac2
* Improvements to internals (speed-ups)
* Now uses change in R^2 to determine ALS convergence
* Default convergence tolerance now 10^-4
* Can now output all random starts (instead of only best)
* Can use "reorder" to reorder factors of fit Parafac2 model
* Can use "rescale" to rescale factors of fit Parafac2 model
* Can use "resign" to resign factors of fit Parafac2 model
* New inputs: Gfixed and Gstart
* Default now randomly generates C weights from uniform[0,1]
6) sca
* Improvements to internals (speed-ups)
* Now uses change in R^2 to determine ALS convergence
* Default convergence tolerance now 10^-4
* Can use "reorder" to reorder factors of fit SCA model
* Can use "rescale" to rescale factors of fit SCA model
* Can use "resign" to resign factors of fit SCA model
* Bug fix for reporting of C weights with type="sca-ecp"
7) tucker
* Now uses change in R^2 to determine ALS convergence
* Default convergence tolerance now 10^-4
* Can now output all random starts (instead of only best)
* Can use "reorder" to reorder factors of fit Tucker model
* Can use "rescale" to rescale factors of fit Tucker model
* Can use "resign" to resign factors of fit Tucker model