device with the CPU.
Warning:
 This function assumes that "A" is diagonalizable (for example,
 when all the eigenvalues are different). If it is not
 diagonalizable, the returned eigenvalues will be correct but A
 \neq V \operatorname{diag}(\Lambda)V^{-1}.

Warning:
 The returned eigenvectors are normalized to have norm *1*. Even
 then, the eigenvectors of a matrix are not unique, nor are they
 continuous with respect to "A". Due to this lack of uniqueness,
 different hardware and software may compute different
 eigenvectors.This non-uniqueness is caused by the fact that
 multiplying an eigenvector by by e^{i \phi}, \phi \in \mathbb{R}
 produces another set of valid eigenvectors of the matrix.  For
 this reason, the loss function shall not depend on the phase of
 the eigenvectors, as this quantity is not well-defined. This is
 checked when computing the gradients of this function. As such,
