function [U, V, eigvalue_U, eigvalue_V, posIdx, Y] = TensorLGE(X, W, D, options) % TensorLGE: Tensor-based Linear Graph Embedding % % [U, V, eigvalue_U, eigvalue_V, posIdx] = TensorLGE(X, W) % [U, V, eigvalue_U, eigvalue_V, posIdx] = TensorLGE(X, W, D) % [U, V, eigvalue_U, eigvalue_V, posIdx] = TensorLGE(X, W, D, options) % [U, V, eigvalue_U, eigvalue_V, posIdx, Y] = TensorLGE(X, W, D, options) % % Input: % X - 3-d data matrix. X(:,:,i) is the i-th data % sample. % W - Affinity graph matrix. % D - Constraint graph matrix. % Default: D = I % % options - Struct value in Matlab. The fields in options % that can be set: % % nRepeat - The repeat times of the % iterative procedure. Default % 10 % % Output: % U, V - Embedding functions, for a new data point % (matrix) x, y = U'*x*V will be the embedding % result of x. You might need to resort each % element in y based on the posIdx. % eigvalue_U % eigvalue_V - corresponding eigenvalue. % % Y - The embedding results, Each row vector is a % data point. The features in Y has been sorted % that Y(:,i) will be important to Y(:,j) with % respect to the objective function if i