GNParafac
Location: CuBatch\private\GNParafac.m

function [Factors,fit,it,FitStory,ConvCond,LmSt,JacSV,Grad] = GNParafac (X,F,Options,A,B,C);
Description:
Fits a PARAFAC model to a three way array using a Levenberg-Marquadt algorithm
Inputs:
X: array of doubles
F: number of factors to extract
Options (optional): see PAROptions
A,B,C: initial estimations for the loading matrices

Outputs:
Factors: cell vector with the estimations for the factors (each element contains a matrix with the loadings in the corresponding mode)
fit: final value of the loss function
it: number of iterations necessary to reach convergence
FitStory: values of the loss functions along the iterations
ConvCond : set to 1 when a the convergence criteria is met

1. ConvCond(1) relative decrease in fit
2. ConvCond(2) relative change in parameters
3. ConvCond(3) ratio between loss function and total sum of squares
4. ConvCond(4) gradient infinity norm
5. ConvCond(5) J'*J matrix is nearly singular in more than 5 consecutive iterations
6. ConvCond(6) max number of iterations reached

LmSt: it contains the values of the Lambda damping parameter along with the iterations in the first column. The second column contain the "large" iteration number (i.e. the number of Jacobian estimations)
JackSV: singular values of the Jacobian (only for LM algorithm). See GNPARAFAC
Grad: gradient value upon convergence

Called by:
Model_PARAFAC\GenParafac
Subroutines:
Internal: Names and hyperlinks
External: cleanx, dtld, fac2let, gnlinesearch, gnparafac, initpar, kr, nmodel, nshape, parjac, parjacs, paroptions, pfloss, scale_factors, swatld

Author:
Giorgio Tomasi
Royal Agricultural and Veterinary University
MLI, LMT, Chemometrics group
Rolighedsvej 30
DK-1958 Frederiksberg C
Danmark
Last modified: 15-May-2002 18:40:52
Contact: Giorgio Tomasi, gt@kvl.dk
References
[1] - Gill P.E., Murray W., Wright M.H., "Practical Optimization", (Academic Press: 1986).
[2] - Tomasi G. and Bro R. "Fitting the PARAFAC model", Comp.Stat.Data Anal., 2002, Submitted