TenEig, version 2.0

What's New

  • teneig: find mode-k generalized eigenpairs of a tensor when m≠m', using a linear homotopy method proposed in our paper. It is faster than teneig in version 1.1.

  • rteneig: find real generalized eigenpairs of a tensor when m≠m'. It can be used to find D-eigenpairs.

  • rteig: find real generalized eigenpairs of a tensor when m=m'.

Known Issues

  • For unknown reasons, TenEig runs slower on MATLAB 2015b or newer versions.

  • Updated: May 3, 2016

Top of Page

TenEig, version 1.1

What's New

  • eeig: find E-eigenpairs of a tensor based on the structure of the tensor eigenproblem which is much faster than version 1.0.

  • heig: find H-eigenpairs of a tensor based on a heuristic approach with Newton Homotopy.

  • teig: find Qi-eigenpairs or mode-k generalized eigenpairs of a tensor A in which B have the same size with A by using a linear homotopy based on the bound proved in our paper.

  • teneig: find mode-k generalized eigenpairs of a tensor A based on the special structure of the tensor eigenproblem which is much faster than version 1.0.

  • zeig: find Z-eigenpairs of a tensor based on a heuristic approach with Newton Homotopy.

Known Issues

  • Updated: March 1, 2015

Top of Page

TenEig, version 1.0

What's New

  • distinct: find out how many distinct values in an array given a tolerance (default is 1e-5), [E,mul] = distinct(E, Tol).

  • eeig: find E-eigenpairs of a tensor.

  • evalTensorEig: evaluate the residue of a given eigenpair (lambda, X), [res] = evalTensorEig(A, lambda, X , Type, Flag); Type can be 'teig', 'eeig', 'zeig', 'heig'; Flag can be 'symmetric'.

  • generateRandTensor: generate a complex random tensor with given m,n, [A, M] = generateRandTensor(m,n); A is a tensor, M gives the bounds for the number of eigenvalues and E-eigenvalues.

  • generateRealRandTensor: generate a real random tensor with given m,n, [A, M] = generateRealRandTensor(m,n); A is a tensor, M gives the bounds for the number of eigenvalues and E-eigenvalues.

  • heig: find H-eigenpairs of a tensor.

  • KLtranspose: get the transpose of a tensor A, [G] = KLtranspose(A,k,l).

  • NwtnHomotopy: find a real eigenpair of a tensor by using Newton Homotopy Method.

  • refineTensorEig: refine a given eigenpair (lambda, X) by using deflation method.

  • teig: find eigenpairs or mode-k generalized eigenpairs of a tensor.

  • tensor2poly: convert a tensor eigenvalue problem to a polynomial system.

  • zeig: find Z-eigenpairs of a tensor.

Known Issues

  • In a few cases when m or n is large (like, m>10, n>10), teig or eeig may miss a few eigenpairs or E-eigenpairs. The reason for this is that when m or n becomes large, the homotopy continuation method for solving the resulting polynomial system has to follow many paths. Two paths may become very close to each other in the middle and the percision used by MATLAB may not be able to distinguish the two paths. In this situation, one solution of the polynomial system (and therefore an eigenpair or Z-eigenpair) may be missed. This problem can be fixed if we use a programming language that can use higher precision, such as C++. We are still working on developing a C++ version of TenEig, please check back later.

  • Updated: January 10, 2015

Top of Page

TenEig — Tensor Eigenpairs Solver