If $T$ is an operator on a finite-dimensional complex inner product space, each eigenvalue $|\lambda|=1$ and $\|Tv\|\le\|v\|$, show that $T$ is unitary.
Here's what I had in mind and where I was stuck:
$$\|Tv\|\le\|v\| \to \langle v,(I-T^*T)v\rangle \ge0$$
Therefore $I-T^*T$ is self-adjoint hence there exists an orthonormal basis of eigenvectors of $I-T^*T$. I'm able to deduce that each one of its eigenvalues is real and satisfies $\lambda\ge 0$.
A possible approach I thought I might take is calculate $\operatorname{trace}(I-T^*T)$ and maybe show that it's $0$. That would complete the proof since then we would get $\lambda=0$ for all of its eigenvalues which would imply $I-T^*T=0 \to T^*T=I$ and hence $T$ is unitary.
However: $$\operatorname{trace}(I-T^*T)=\operatorname{trace}(I)-\operatorname{trace}(T^*T)=n -\operatorname{trace}(T^*T)$$
I don't know how to evaluate the second term. I realize that $T^*T$ is positive and all of its eigenvalues are nonnegative, but I don't know how to go on from here. Any help would be greatly appreciated (or otherwise, I'd love to see other ways to go about the problem).
I assume you are talking of a finite-dimensional complex inner-product space, since you took the trace and only mentioned eigenvalues. But for people who are interested in the infinite-dimensional case: it is a result of Bernard Russo, Pacific JM 1968, that there exist contractions in $B(H)$ with precsribed spectrum contained in the unit circle which are not unitary, called nonunitary unimodular contractions. Actually, he proves in Theorem 1 that a von Neumann algebra contains a nonunitary unimodular contraction if and only if it infinite. The only if goes much like below, with the Kadison-Fuglede determinant and the trace.
Proof: let $\{e_j\;;\;1\leq j\leq n\}$ be an orthonormal basis of diagonalization for $T^*T$, with $T^*Te_j=t_je_j$. Note that by assumption, $0\leq t_j\leq 1$ for every $j$ and $|\det T|=1$. Then we have, by AM-GM inequality $$ 1=|\det T|^2=\det (T^*T)=\prod_{j=1}^nt_j\leq \left(\frac{1}{n}\sum_{j=1}^nt_j\right)^n\leq \left(\frac{1}{n}\sum_{j=1}^n1\right)^n=1. $$ By the equality case of AM-GM, we deduce that $t_j=1$ for every $j$, that is $T^*T$ is the identity operator, i.e. $T$ is unitary, since we are in finite dimension. $\Box$
Note: actually, the first proof I thought about is the following, which is more interesting. It uses Hadamard's inequality. The only thing I did above is that I reproduced a standard proof of that famous inequality in this special case.
Take $\{e_j\;;\;1\leq j\leq n\}$ an orthonormal basis of diagonalization for $T^*T$, with $T^*Te_j=t_je_j$. Now let $N$ be the matrix of $T$ in this basis. Then Hadamard's inequality says that $$ |\det N|\leq \prod_{j=1}^n\|v_j\| $$ where $v_j=Te_j$ is the $j$th column of $N$. By assumptions on $T$, we have $|\det N|=|\det T|=1$ and $\|v_j\|=\|Te_j\|\leq 1$ for every $j$. Therefore the inequality forces $\|Te_j\|=1$ for every $j$. Hence $t_j=(e_j,T^*Te_j)=\|Te_j\|^2=1$ for every $j$. Thus $T^*T$ is the identity operator.