Algorithms

Work-in-progress

This page of the docs is still a work-in-progress. Check back later!

GCPDecompositions.GCPAlgorithms.ALSType
ALS

Alternating Least Squares. Workhorse algorithm for LeastSquares loss with no constraints.

Algorithm parameters:

  • maxiters::Int : max number of iterations (default: 200)
source
GCPDecompositions.GCPAlgorithms.FastALSType
FastALS

Fast Alternating Least Squares.

Efficient ALS algorithm proposed in:

Fast Alternating LS Algorithms for High Order CANDECOMP/PARAFAC Tensor Factorizations. Anh-Huy Phan, Petr Tichavský, Andrzej Cichocki. IEEE Transactions on Signal Processing, 2013. DOI: 10.1109/TSP.2013.2269903

Algorithm parameters:

  • maxiters::Int : max number of iterations (default: 200)
source
GCPDecompositions.GCPAlgorithms.LBFGSBType
LBFGSB

Limited-memory BFGS with Box constraints.

Brief description of algorithm parameters:

  • m::Int : max number of variable metric corrections (default: 10)
  • factr::Float64 : function tolerance in units of machine epsilon (default: 1e7)
  • pgtol::Float64 : (projected) gradient tolerance (default: 1e-5)
  • maxfun::Int : max number of function evaluations (default: 15000)
  • maxiter::Int : max number of iterations (default: 15000)
  • iprint::Int : verbosity (default: -1)
    • iprint < 0 means no output
    • iprint = 0 prints only one line at the last iteration
    • 0 < iprint < 99 prints f and |proj g| every iprint iterations
    • iprint = 99 prints details of every iteration except n-vectors
    • iprint = 100 also prints the changes of active set and final x
    • iprint > 100 prints details of every iteration including x and g

See documentation of LBFGSB.jl for more details.

source
GCPDecompositions.GCPAlgorithms.FastALS_iter!Method
FastALS_iter!(X, U, λ) 

Algorithm for computing MTTKRP sequences is from "Fast Alternating LS Algorithms
for High Order CANDECOMP/PARAFAC Tensor Factorizations" by Phan et al., specifically
section III-C.
source