Two Conditions for a List
Orthogonality describes how vectors in a list relate to one another: distinct vectors must have inner product zero. Orthonormality adds another requirement: each vector must have norm one. Keeping these two conditions separate matters especially when a list contains the zero vector. The zero vector has inner product zero with every vector, so it does not prevent a list from being orthogonal; its norm is zero, however, so it cannot belong to an orthonormal list.
Let \(V\) be an inner product space over \(\mathbb{R}\) or \(\mathbb{C}\). An inner product is a scalar-valued function \(\langle\mathbf{u},\mathbf{v}\rangle\) that is linear in the first argument, conjugate-linear in the second over \(\mathbb{C}\), conjugate-symmetric, and positive definite. The norm it induces is \(\|\mathbf{v}\|=\sqrt{\langle\mathbf{v},\mathbf{v}\rangle}\). A list \((\mathbf{v}_1,\dots,\mathbf{v}_p)\) is ordered and may contain repeated entries; the conditions below concern every pair of distinct positions in the list.
In a complex inner product space, conjugate symmetry gives \(\langle\mathbf{v}_j,\mathbf{v}_i\rangle=\overline{\langle\mathbf{v}_i,\mathbf{v}_j\rangle}\). Consequently, if one order of a pair has inner product zero, then reversing the order also gives zero. The orthogonality condition does not depend on which order is used to write the pair.
The definition also covers short lists. For a one-vector list, there are no distinct pairs to check, so it is orthogonal; it is orthonormal exactly when its vector has norm one. The empty list satisfies both definitions vacuously: there are no pairs or vector norms that could violate either condition. These conventions follow directly from the definitions and do not require the space to be finite-dimensional.
Reading the Conditions Precisely
For a list of length \(p\), orthogonality imposes a condition for each pair of distinct indices, while orthonormality imposes those same conditions and one norm condition for each entry. If \(\delta_{ij}\) denotes \(1\) when \(i=j\) and \(0\) otherwise, the two requirements together can be written as \(\langle\mathbf{v}_i,\mathbf{v}_j\rangle=\delta_{ij}\) for all indices \(i,j\). When \(i=j\), the inner product is the squared norm; when \(i\ne j\), it is the orthogonality condition.
Proof. Suppose the list is orthonormal. If \(i\ne j\), its orthogonality gives \(\langle\mathbf{v}_i,\mathbf{v}_j\rangle=0=\delta_{ij}\). If \(i=j\), then \(\langle\mathbf{v}_i,\mathbf{v}_i\rangle=\|\mathbf{v}_i\|^2=1=\delta_{ii}\). This proves the stated equality for every pair. Conversely, suppose the equality holds for every \(i,j\). For \(i\ne j\), it gives \(\langle\mathbf{v}_i,\mathbf{v}_j\rangle=0\), so the list is orthogonal. For \(i=j\), it gives \(\|\mathbf{v}_i\|^2=1\). Since norms are nonnegative, \(\|\mathbf{v}_i\|=1\). The list is therefore orthonormal. \(\square\)
Worked Example: Orthogonal but Not Orthonormal in \(\mathbb{R}^3\)
Use the standard inner product on \(\mathbb{R}^3\) to classify the list \(\mathbf{v}_1=\begin{bmatrix}1\\1\\0\end{bmatrix}\), \(\mathbf{v}_2=\begin{bmatrix}1\\-1\\0\end{bmatrix}\), and \(\mathbf{v}_3=\begin{bmatrix}0\\0\\2\end{bmatrix}\).
Check each distinct pair using the dot product. The three calculations are
All distinct pairs have inner product zero, so the list is orthogonal. Its vector norms are
None of these norms is \(1\), so the list is not orthonormal. As a direct check of the norm calculations, the squared norms are respectively \(2\), \(2\), and \(4\), which are the corresponding self-inner-products.
The Zero Vector and Orthogonality
For any vector \(\mathbf{v}\), the inner product with the zero vector is zero: linearity gives \(\langle\mathbf{0},\mathbf{v}\rangle=\langle 0\mathbf{v},\mathbf{v}\rangle=0\), and conjugate symmetry gives \(\langle\mathbf{v},\mathbf{0}\rangle=0\) as well. Also, \(\|\mathbf{0}\|=0\). These facts explain why zero behaves differently under the two definitions: it meets every pairwise orthogonality condition but fails the unit-length requirement.
Worked Example: An Orthogonal List Containing Zero
In \(\mathbb{R}^2\) with the standard inner product, consider the list \(\mathbf{z}_1=\begin{bmatrix}0\\0\end{bmatrix}\), \(\mathbf{z}_2=\begin{bmatrix}0\\0\end{bmatrix}\), and \(\mathbf{z}_3=\begin{bmatrix}1\\0\end{bmatrix}\). Check all distinct pairs.
The three pairwise inner products are
Thus the list is orthogonal, even though it contains the zero vector twice. Its norms are \(\|\mathbf{z}_1\|=\sqrt{0^2+0^2}=0\), \(\|\mathbf{z}_2\|=\sqrt{0^2+0^2}=0\), and \(\|\mathbf{z}_3\|=\sqrt{1^2+0^2}=1\). The first two entries fail the unit-norm condition, so this orthogonal list is not orthonormal. The repeated zero entries are allowed because a list records positions, and their inner product is still zero.
Proof. If an entry \(\mathbf{v}_i\) of an orthonormal list were the zero vector, then its norm would be \(\|\mathbf{v}_i\|=\|\mathbf{0}\|=0\). But the definition of an orthonormal list requires \(\|\mathbf{v}_i\|=1\). Since \(0\ne1\), the two conditions cannot both hold. Therefore no entry can be zero. \(\square\)
This conclusion is specific to orthonormality. It does not rule out zero entries in an orthogonal list, as the example demonstrates. In fact, any list consisting only of zero vectors is orthogonal: every inner product between distinct entries is \(\langle\mathbf{0},\mathbf{0}\rangle=0\). Such a list is not orthonormal when it has any entries, since each entry has norm zero.
From Orthogonal to Orthonormal
When every vector in an orthogonal list is nonzero, dividing each vector by its norm makes its length one without disturbing the zero inner products between distinct vectors. This is the basic normalization step for a whole list. The nonzero condition is essential: division by the norm of a zero vector would mean division by zero and is not defined.
Proof. Set \(\mathbf{u}_i=\mathbf{v}_i/\|\mathbf{v}_i\|\). Every denominator is nonzero because each \(\mathbf{v}_i\) is nonzero and positive definiteness makes its norm positive. For each \(i\), the norm scaling rule gives \(\|\mathbf{u}_i\|=\|\mathbf{v}_i\|/\|\mathbf{v}_i\|=1\). For distinct \(i,j\), linearity in the first argument and conjugate-linearity in the second give \(\langle\mathbf{u}_i,\mathbf{u}_j\rangle=\langle\mathbf{v}_i,\mathbf{v}_j\rangle/(\|\mathbf{v}_i\|\|\mathbf{v}_j\|)=0\). The denominators are positive real numbers, so conjugating the second scalar does not change it. Thus the normalized list has unit norms and zero inner products between distinct entries, which is exactly orthonormality. \(\square\)
Worked Example: Normalizing a Complex Orthogonal Pair
In \(\mathbb{C}^2\), use the standard inner product, linear in the first argument: \(\langle\mathbf{u},\mathbf{v}\rangle=u_1\overline{v_1}+u_2\overline{v_2}\). Let \(\mathbf{u}=\begin{bmatrix}1\\i\end{bmatrix}\) and \(\mathbf{v}=\begin{bmatrix}i\\1\end{bmatrix}\). First check their inner product. Since \(\overline{i}=-i\),
The squared norms are \(\langle\mathbf{u},\mathbf{u}\rangle=1\overline{1}+i\overline{i}=1+i(-i)=2\) and \(\langle\mathbf{v},\mathbf{v}\rangle=i\overline{i}+1\overline{1}=i(-i)+1=2\). Hence both norms are \(\sqrt{2}\). The pair is orthogonal but not orthonormal. Normalize both entries:
Their norms are \(\|\mathbf{q}_1\|=\sqrt{(1/\sqrt{2})^2+(i/\sqrt{2})\overline{(i/\sqrt{2})}}=\sqrt{\tfrac12+\tfrac12}=1\), and the same calculation gives \(\|\mathbf{q}_2\|=1\). Their inner product is \(\langle\mathbf{q}_1,\mathbf{q}_2\rangle=\tfrac12(-i+i)=0\). Thus the normalized pair is orthonormal, as checked by both required conditions.
Common Mistakes
Mistake: requiring unit length for orthogonality. For the list \(\left(\begin{bmatrix}0\\0\end{bmatrix},\begin{bmatrix}1\\0\end{bmatrix}\right)\), a wrong conclusion is “not orthogonal, because the first vector has norm \(0\), not \(1\).” That calculation identifies a failure of the orthonormal condition, not of orthogonality. The pairwise inner product is \(0(1)+0(0)=0\), so the list is orthogonal; it is not orthonormal because the first norm is \(0\).
Mistake: treating pairwise zeros as sufficient for orthonormality. In the first worked example, all distinct inner products are zero, but the norms are \(\sqrt{2},\sqrt{2},2\). Calling that list orthonormal omits the unit-length check. Conversely, a list of unit vectors is not automatically orthonormal: the inner products between distinct entries must also be zero.
A reliable classification checks the two conditions separately: first compute the inner products for distinct positions, then check the norm of every entry. For an orthogonal list with no zero entries, normalization converts the norm condition to one; if zero is present, that step cannot be applied to the whole list.
Check Your Understanding
For each question, keep the pairwise condition distinct from the unit-norm condition.
- State the two requirements that define an orthonormal list.
- Can an orthogonal list contain two copies of the zero vector? Explain using their inner product.
- Why can a list containing the zero vector not be orthonormal?
- An orthogonal list has vectors of norms \(3\) and \(4\). What vectors result from normalizing each entry?
- For a one-vector list, when is it orthogonal, and when is it orthonormal?