  We present a notion of bilinear stability, which is to numerical stability
what bilinear complexity is to time complexity. In bilinear complexity, an
algorithm for evaluating a bilinear operator $\beta : \mathbb{U} \times
\mathbb{V} \to \mathbb{W}$ is a decomposition $\beta = \varphi_1 \otimes \psi_1
\otimes w_1 + \dots + \varphi_r \otimes \psi_r \otimes w_r $; the number of
terms $r$ captures the speed of the algorithm; and its smallest possible value,
i.e., the tensor rank of $\beta$, quantifies the speed of a fastest algorithm.
Bilinear stability introduces norms to the mix: The growth factor of the
algorithm $\lVert \varphi_1 \rVert_* \lVert \psi_1 \rVert_* \lVert w_1 \rVert +
\dots + \lVert \varphi_r \rVert_* \lVert \psi_r \rVert_* \lVert w_r \rVert$
captures the accuracy of the algorithm; and its smallest possible value, i.e.,
the tensor nuclear norm of $\beta$, quantifies the accuracy of a stablest
algorithm. To substantiate this notion, we establish a bound for the forward
error in terms of the growth factor and present numerical evidence comparing
various fast algorithms for matrix and complex multiplications, showing that
larger growth factors correlate with less accurate results. Compared to similar
studies of numerical stability, bilinear stability is more general, applying to
any bilinear operators and not just matrix or complex multiplications; is more
simplistic, bounding forward error in terms of a single (growth) factor; and is
truly tensorial like bilinear complexity, invariant under any orthogonal change
of coordinates. As an aside, we study a new algorithm for computing complex
multiplication in terms of real, much like Gauss's, but is optimally fast and
stable in that it attains both tensor rank and nuclear norm.
