### 2.1 Notations and definitions

Let us first introduce some essential notation. Scalars are denoted by lowercase letters, e.g., *a*. Vectors are denoted by boldface lowercase letters, e.g., **a**; matrices are denoted by boldface capital letters, e.g., **A**. Higher-order tensors are denoted by boldface Euler script letters, e.g., . The *p* th column of a matrix **A** is denoted **a**_{
p
}, the (*i*,*j*) entry of a matrix **A** is denoted by *A*_{
ij
}, and element (*i*,*j*,*k*) of a third-order tensor is denoted by *T*_{
ijk
}. **1** will represent a vector containing ones, and **I** the identity matrix.

####
**Definition**
**2.1**

*The scalar product of two same-sized tensors* , \mathcal{Y}\epsilon {\mathbb{C}}^{{I}_{1}\times {I}_{2}\times \cdots \times {I}_{N}} *is defined as:*

\u3008\mathcal{X},\mathcal{Y}\u3009=\sum _{{i}_{1}=1}^{{I}_{1}}\cdots \sum _{{i}_{N}=1}^{{I}_{N}}{X}_{{i}_{1},\cdots \phantom{\rule{0.3em}{0ex}},\phantom{\rule{0.3em}{0ex}}{i}_{N}}{Y}_{{i}_{1},\cdots \phantom{\rule{0.3em}{0ex}},\phantom{\rule{0.3em}{0ex}}{i}_{N}}^{\ast}.

(1)

*where* {X}_{{i}_{1},\cdots \phantom{\rule{0.3em}{0ex}},\phantom{\rule{0.3em}{0ex}}{i}_{N}} *is the* (*i*_{1},⋯, *i*_{
N
}) *elements of the* *N*^{th} *order of tensor.*

**Definition** **2.2**.

*The outer (tensor) product between two tensor arrays*
\mathcal{X}\in {\mathbb{C}}^{{I}_{1}\times {I}_{2}\times \cdots \times {I}_{N}}
*and*
\mathcal{Y}\in {\mathbb{C}}^{\phantom{\rule{0.3em}{0ex}}{J}_{1}\times {J}_{2}\times \cdots \times {J}_{M}}
*of orders N and M, respectively, is denoted by*
\mathcal{Z}={\mathcal{X}}_{{}^{\otimes}}\mathcal{Y}\in {\mathbb{C}}^{{I}_{1}\times {I}_{2}\times \cdots \times {I}_{N}\times {J}_{1}\times {J}_{2}\times \cdots \times {J}_{M}}
*and defined by:*

{Z}_{{i}_{1},\cdots \phantom{\rule{0.3em}{0ex}},\phantom{\rule{0.3em}{0ex}}{i}_{N},{j}_{1},\cdots \phantom{\rule{0.3em}{0ex}},\phantom{\rule{0.3em}{0ex}}{j}_{M}}={X}_{{i}_{1},\cdots \phantom{\rule{0.3em}{0ex}},\phantom{\rule{0.3em}{0ex}}{i}_{N}}{Y}_{{j}_{1},\cdots \phantom{\rule{0.3em}{0ex}},\phantom{\rule{0.3em}{0ex}}{j}_{M}}.

(2)

The symbol ⊗ represents the tensor outer product. The outer product of two tensors is another tensor, the order of which is given by the sum of the orders of the two former tensors. Equation 2 is a generalization of the concept of outer product of two vectors, which yields itself a matrix (second-order tensor). The outer product of three vectors \mathbf{a}\in {\mathbb{C}}^{I} and \mathbf{b}\in {\mathbb{C}}^{\phantom{\rule{0.3em}{0ex}}J} and \mathbf{c}\in {\mathbb{C}}^{K} yields a third-order decomposable tensor \mathcal{Z}={\mathbf{a}}_{{}^{\otimes}}{\mathbf{b}}_{{}^{\otimes}}\mathbf{c}\in {\mathbb{C}}^{I\times J\times K} where *Z*_{
ijk
}=*a*_{
i
}*b*_{
j
}*c*_{
k
}.

**Definition** **2.3**.

*The rank of an arbitrary tensor* \mathcal{T}\in {\mathbb{C}}^{{I}_{1}\times {I}_{2}\times \dots \times {I}_{N}}*, denoted by* *R* = *r* *a* *n* *k*(*X*), *is the minimal number of rank-1 tensors that yield* *in a linear combination.*

Decomposable tensors have thus a rank equal to 1.

**Definition** **2.4**.

*The Kruskal rank, or*
*krank*
*, of a matrix is the largest number*
*j*
*such that every set of*
*j*
*columns is linearly independent.*

**Definition** **2.5**.

*The Frobenius norm of a tensor*
\mathcal{T}\in {\mathbb{C}}^{{I}_{1}\times {I}_{2}\times \dots \times {I}_{N}}
*is defined as:*

\parallel \mathcal{T}{\parallel}_{F}=\sqrt{\u3008\mathcal{T},\mathcal{T}\u3009}.

(3)

**Definition** **2.6**.

*The Khatri-Rao product between two matrices with the same number of columns,*
\mathbf{A}=\left[{\mathbf{a}}_{1},{\mathbf{a}}_{2},\cdots \phantom{\rule{0.3em}{0ex}},\phantom{\rule{0.3em}{0ex}}{\mathbf{a}}_{F}\right]\in {\mathbb{C}}^{I\times F}
*and*
\mathbf{B}=\left[{\mathbf{b}}_{1},{\mathbf{b}}_{2},\cdots \phantom{\rule{0.3em}{0ex}},\phantom{\rule{0.3em}{0ex}}{\mathbf{b}}_{F}\right]\in {\mathbb{C}}^{\phantom{\rule{0.3em}{0ex}}J\times F}
*, is defined as the column-wise Kronecker product:*

\mathbf{A}\odot \mathbf{B}=\left[{\mathbf{a}}_{1}\u22a0{\mathbf{b}}_{1},\cdots \phantom{\rule{0.3em}{0ex}},\phantom{\rule{0.3em}{0ex}}{\mathbf{a}}_{F}\u22a0{\mathbf{b}}_{F}\right]\in {\mathbb{C}}^{\mathit{\text{IJ}}\times F}.

(4)

*where ⊠ is the Kronecker product.*

**Definition** **2.7**.

*The coherence of a collection* *V*={**v**_{1},⋯, **v**_{
r
}} *of unit-norm vectors is defined as the maximal value of the modulus of cross scalar products. In other words, the coherence of the collection* *V* *is defined as:*

{\mu}_{V}=\underset{p\ne q}{max}\left|{\mathbf{v}}_{p}^{H}{\mathbf{v}}_{q}\right|.

(5)

**Definition** **2.8**.

*Let*
\mathbf{A}\in {\mathbb{C}}^{I\times J}
*, then*
\text{vec}\left\{\mathbf{A}\right\}\in {\mathbb{C}}^{K}
*denotes the column vector defined by:*

{\left(\text{vec}\left\{\mathbf{A}\right\}\right)}_{i+(\phantom{\rule{0.3em}{0ex}}j-1)I}={A}_{\mathit{\text{ij}}}.

(6)

*where* *K* = *I* *J*.

### 2.2 Preliminaries

A tensor of order *d* is an object defined on a product between *d* linear spaces. Once the bases of these spaces are fixed, a *d* *t* *h* order tensor can be represented by a *d*-way array (a hyper matrix) of coordinates [4]. The order of a tensor thus corresponds to the number of indices of the associated array. We are interested in decomposing a third-order tensor as:

\mathcal{T}=\sum _{r=1}^{R}{\lambda}_{r}\mathcal{D}\left(r\right).

(7)

where \mathcal{D}\left(r\right) are decomposable tensors, that is, \mathcal{D}\left(r\right)={\mathbf{a}{}_{r}}_{{}^{\otimes}}{\mathbf{b}{}_{r}}_{{}^{\otimes}}{\mathbf{c}}_{r}. Denote by ()^{T} matrix transposition, *λ*_{
r
} real positive scaling factors, *λ*= [*λ*_{1},⋯,*λ*_{
R
}]^{T}, and *R* the tensor rank. Vectors **a**_{
r
} (resp. **b**_{
r
} and **c**_{
r
}) live in a linear space of dimension *I* (resp. dimension *J* and *K*). Equivalently, decomposition (7) can be rewritten as a function of array entries:

\begin{array}{ll}{T}_{\mathit{\text{ijk}}}=\sum _{r=1}^{R}{\lambda}_{r}{A}_{\mathit{\text{ir}}}{B}_{\mathit{\text{jr}}}{C}_{\mathit{\text{kr}}},\phantom{\rule{1em}{0ex}}& i\in \left\{1,\cdots \phantom{\rule{0.3em}{0ex}},I\right\},\phantom{\rule{1em}{0ex}}j\in \left\{1,\cdots \phantom{\rule{0.3em}{0ex}},J\right\},\\ k\in \left\{1,\cdots \phantom{\rule{0.3em}{0ex}},K\right\}.\end{array}

(8)

where *A*_{
ir
} (resp. *B*_{
jr
} and *C*_{
kr
}) denote the entries of vector **a**_{
r
} (resp. **b**_{
r
} and **c**_{
r
}). The above decomposition is called the canonical polyadic decomposition (CP) of tensor . The model (7) can be written in a compact form using the Khatri-Rao product, as:

\begin{array}{lcr}{\mathbf{\text{T}}}_{1}^{I,\phantom{\rule{0.3em}{0ex}}\mathit{\text{KJ}}}& =& \mathbf{A}\mathit{\Lambda}{\left(\mathbf{C}\odot \mathbf{B}\right)}^{T},\\ {\mathbf{\text{T}}}_{2}^{J,\phantom{\rule{0.3em}{0ex}}\mathit{\text{KI}}}& =& \mathbf{B}\mathit{\Lambda}{\left(\mathbf{C}\odot \mathbf{A}\right)}^{T},\\ {\mathbf{\text{T}}}_{3}^{K,\phantom{\rule{0.3em}{0ex}}\mathit{\text{JI}}}& =& \mathbf{C}\mathit{\Lambda}{\left(\mathbf{B}\odot \mathbf{A}\right)}^{T}.\end{array}

where {\mathbf{\text{T}}}_{1}^{I,\phantom{\rule{0.3em}{0ex}}\mathit{\text{KJ}}}\left(\text{resp.}\phantom{\rule{2.77626pt}{0ex}}{\mathbf{\text{T}}}_{2}^{J,\phantom{\rule{0.3em}{0ex}}\mathit{\text{KI}}}\phantom{\rule{2.77626pt}{0ex}}\text{and}\phantom{\rule{2.77626pt}{0ex}}{\mathbf{\text{T}}}_{3}^{K,\phantom{\rule{0.3em}{0ex}}\mathit{\text{JI}}}\right) is the matrix of size *I* × *K* *J* (resp. *J* × *K* *I* and *K* × *J* *I*) obtained by unfolding the array of size *I* × *J* × *K* in the first mode (resp. the second mode and the third mode), and *Λ* is the *R* × *R* diagonal matrix defined as *Λ*= *D* *i* *a* *g*{*λ*_{1},…, *λ*_{
R
}}; see [5] for further details on matrix unfoldings.

The explicit handwriting of decomposable tensors as given in (8) is subject to scale indeterminacies. In the tensor literature, optimization of the CP decomposition (8) has been carried out without isolating the scaling factor *Λ*, which is generally included in one of the loading matrices, so that *Λ*= **I**. In [5], Kolda and Bader proposed to reduce the indeterminacies by normalizing the vectors and storing the norms in *Λ*. Our first proposal is to pull the factors *λ*_{
r
} outside the product and calculate the optimal value of the scaling factor, which permits to monitor the conditioning of the problem. Scaling indeterminacies are then clearly reduced to unit modulus but are not completely fixed, hence the difficulty in estimating the identification error of loading matrices **A**, **B** and **C**. Our second proposal (Section 5) is to calculate the 3*R* complex phases (reducing to signs in the real case).