es
This block establishes how inner products allow us to define perpendicularity, angles, and structural decompositions in general vector spaces.

Orthogonality

In an abstract inner product space, we cannot use a physical protractor to measure a 90° angle. Instead, we use the algebra of the inner product to define a perfect right angle. In a general inner product space (V, ⟨ • , • ⟩) over a field 𝔽 (ℝ or ℂ), two vectors x, y ∈ V are said to be orthogonal (written as x ⊥ y) if and only if their inner product is exactly zero:

\[ \langle \mathbf{x} , \mathbf{y} \rangle = 0 \qquad \mbox{or} \qquad \langle \mathbf{x} \mid \mathbf{y} \rangle = 0 . \]
  • The Complex Subtlety: Because\( \displaystyle \quad \langle \mathbf{x} , \mathbf{y} \rangle = \overline{\langle \mathbf{y} , \mathbf{x} \rangle} = \langle \mathbf{y} , \mathbf{x} \rangle^{\ast} \ \) (where overline or asterisk stand for complex conjugate), if\( \displaystyle \quad \langle \mathbf{x} , \mathbf{y} \rangle = 0 , \quad \) then \( \displaystyle \quad\langle \mathbf{y} , \mathbf{x} \rangle = 0 \quad \) as well. Orthogonality remains a symmetric relation even in complex spaces.
  • The Zero Vector: The zero vector 0 is uniquely orthogonal to every vector in the space, since ⟨0 , x⟩ = 0 for all x ∈ V.
We scale this geometric concept up from individual vector pairs to entire sets:
A set of vectors { v₁, v₂, … , vₙ } is orthogonal if every pair of distinct vectors is perpendicular:
\[ \langle \mathbf{v}_i , \mathbf{v}_j \rangle = 0 \qquad \mbox{whenever} \quad i \ne j . \]
A set is orthonormal if it is an orthogonal set and every vector is a unit vector (has a length of 1):
\[ \langle \mathbf{v}_i , \mathbf{v}_j \rangle = \delta_{i,j} = \begin{cases} 1, & \qquad \mbox{if}\quad i = j , \\ 0, & \qquad \mbox{if}\quad i \ne j , \end{cases} \]
where δi,j is the Kronecker delta symbol.
   
Example 1: We show that ( v₁, v₂, v₃ } form an orthogonal set, where
\[ \mathbf{v}_1 = \begin{pmatrix} 2 \\ 3 \\ 1 \end{pmatrix} , \quad \mathbf{v}_2 = \begin{pmatrix} -2 \\ 1 \\ 1 \end{pmatrix} , \quad \mathbf{v}_3 = \begin{pmatrix} 1/4 \\ -1/2 \\ 1 \end{pmatrix} . \]
Consider the three possible pairs of distinct vectors, namely
\begin{align*} \mathbf{v}_1 \bullet \mathbf{v}_2 &= \end{align*}
Each pair of distinct vectors is orthogonal, and s
(* Clear any existing definitions in the notebook workspace *) ClearAll[v1, v2, v3, dot12, dot13, dot23, vectorPlot]; (* 1. Define the three vectors in R^3 *) v1 = {2, 3, 1}; v2 = {-2, 1, 1}; v3 = {1/4, -1/2, 1}; (* 2. Compute pairwise standard inner products (Dot Products) *) dot12 = v1 . v2; dot13 = v1 . v3; dot23 = v2 . v3; (* 3. Print Algebraic Verification to the Console *) Print["=== LINEAR ALGEBRA ORTHOGONALITY CHECK ==="]; Print["v1 . v2 = ", dot12, " -> Orthogonal? ", dot12 == 0]; Print["v1 . v3 = ", dot13, " -> Orthogonal? ", dot13 == 0]; Print["v2 . v3 = ", dot23, " -> Orthogonal? ", dot23 == 0]; Print[""]; (* 4. Generate 3D Graphic Plot *) vectorPlot = Graphics3D[{ (* Vector 1: Royal Blue Arrow *) Thickness[0.008], RGBColor[0.11, 0.44, 0.74], Arrow[{{0, 0, 0}, v1}], Text[Style["v_1", 14, Bold, RGBColor[0.11, 0.44, 0.74]], v1 * 1.15], (* Vector 2: Forest Green Arrow *) Thickness[0.008], RGBColor[0.15, 0.55, 0.22], Arrow[{{0, 0, 0}, v2}], Text[Style["v_2", 14, Bold, RGBColor[0.15, 0.55, 0.22]], v2 * 1.15], (* Vector 3: Crimson Red Arrow *) Thickness[0.008], RGBColor[0.85, 0.11, 0.25], Arrow[{{0, 0, 0}, v3}], Text[Style["v_3", 14, Bold, RGBColor[0.85, 0.11, 0.25]], v3 * 1.3] }, Axes -> True, AxesLabel -> {"X", "Y", "Z"}, LabelStyle -> Directive[FontFamily -> "Arial", FontSize -> 12, GrayLevel[0.3]], Boxed -> True, BoxRatios -> {1, 1, 1}, PlotRange -> {{-3, 3}, {-3, 4}, {-1, 2}}, ViewPoint -> {2.2, -2.5, 1.5}, (* Optimized static angle to showcase perpendicularity *) ImageSize -> 550, PlotLabel -> Style["3D Spatial Layout of Vectors v_1, v_2, and v_3", 14, Bold, FontFamily -> "Arial"] ]
Figure 1.1: Three orthogonal vectors.
   ■
End of Example 1
   
Example 2: This example illustrates that orthogonality is not an intrinsic property of the vectors themselves, but a property dictated entirely by the choice of inner product.

Let x = [1, 1]ᵀ and y = [1, −2]ᵀ be vectors in ℝ².

1. Under the standard Euclidean dot product, they are clearly not orthogonal:

\[ \langle \mathbf{x} , \mathbf{y} \rangle = 1(1) + 1(-2) = -1 \ne 0 . \]

2. Now, redefine the geometry of the space using a weighted inner product, specified by the positive weights w₁ = 2 and w₂ = 1:

\[ \langle \mathbf{x} , \mathbf{y} \rangle_w = 2\,x_1 y_1 + 1\,x_2 y_2 . \]
Re-evaluating the same two vectors under this new metric yields
\[ \langle \mathbf{x} , \mathbf{y} \rangle_w = 2(1)(1) + 1(1)(-2) = -2 -2 = 0 . \]
Thus, x and y are completely orthogonal under this weighted inner product space.    ■
End of Example 2
   
Example 3: Moving away from finite coordinate arrays, this example shows how orthogonality applies to continuous functions where integration replaces summation.

Consider the vector space of real-valued continuous functions on the interval [−π , π], denoted ℭ([−π , π]), equipped with the standard functional inner product:

\[ \langle f , g \rangle = \int_{-\pi}^{\pi} \,f(x)\,g(x)\,{\text d}x . \]
Let us verify that f(t) = cos(mt) and g(t) = cos(nt) are orthogonal for any integers m and n:
\[ \langle \cos (mt) , \sin (nt) \rangle = \int_{-\pi}^{\pi} \,\cos (mt)\,\sin (nt) \,{\text d}t . . \]
Using the trigonometric identity\( \displaystyle \quad \cos (A)\,\sin (B) = \frac{1}{2} \left[ \sin (A+B) - \sin (A-B) \right] , \quad \) the integrand becomes an odd function evaluated over a symmetric interval about zero:
\[ \langle \cos (mt) , \sin (nt) \rangle = \frac{1}{2}\,\int_{-\pi}^{\pi} \,\left[ \sin (mt+nt) - \sin (mt -nt) \,{\text d}t = 0 . \]
This structural orthogonality forms the physical and mathematical foundation of Fourier series, where complicated signals are broken down into coordinates along a mutually perpendicular grid of sines and cosines.

Instead of varying an envelope width, this script allows you and your students to use interactive sliders to alter the integer frequencies m and n for the functions f(t) = cos(mt) and g(t) = sin(nt) over the interval [−π , π].

(* Clear any existing definitions in the notebook context *) ClearAll[fCos, gSin, fourierIntegrand]; (* 1. Explicitly define the basis functions accepting variable frequencies *) fCos[t_, m_] := Cos[m*t]; gSin[t_, n_] := Sin[n*t]; fourierIntegrand[t_, m_, n_] := fCos[t, m] * gSin[t, n]; (* 2. Wrap the visualizer in an isolated, high-performance Manipulate frame *) Manipulate[ Module[ {numericalInnerProduct}, (* Dynamically evaluate the functional inner product on [-π, π] *) numericalInnerProduct = NIntegrate[ fourierIntegrand[t, mVal, nVal], {t, -Pi, Pi}, Method -> "GlobalAdaptive" ]; (* Render the dynamic area cancellation plot *) Plot[ fourierIntegrand[t, mVal, nVal], {t, -Pi, Pi}, PlotStyle -> {Thickness[0.006], RGBColor[0.11, 0.46, 0.71]}, (* Royal Blue Curve *) Filling -> Axis, FillingStyle -> Directive[RGBColor[0.11, 0.46, 0.71], Opacity[0.25]], PlotRange -> {{-Pi, Pi}, {-1.2, 1.2}}, Ticks -> {{-Pi, -Pi/2, 0, Pi/2, Pi}, Automatic}, AxesLabel -> {"t", "cos(mt) sin(nt)"}, LabelStyle -> Directive[FontFamily -> "Arial", FontSize -> 12], PlotLegends -> Placed[ LineLegend[ {Row[{"Integrand Product with m = ", mVal, ", n = ", nVal}]}, LegendLabel -> Row[{"Functional Inner Product = ", StandardForm[Chop[numericalInnerProduct]]}] ], Above ], PlotLabel -> Style[ "Fourier Orthogonality: cos(mt) \!\(\bold{\perp}\) sin(nt)", FontFamily -> "Arial", FontWeight -> Bold, FontSize -> 13 ], ImageSize -> 550 ] ], (* 3. Explicit discrete sliders to restrict m and n to integer frequencies *) {{mVal, 1, "Frequency of Cosine (m)"}, 1, 6, 1, Appearance -> "Labeled"}, {{nVal, 2, "Frequency of Sine (n)"}, 1, 6, 1, Appearance -> "Labeled"} ]
Figure 3.1: Orthogonality of trig functions.
   ■
End of Example 3
   
Example 1: This advanced example ties together a complex functional space, complex conjugates, and a non-trivial weight function—a setup standard in quantum mechanical wave mechanics.

Consider the complex inner product space of square-integrable functions equipped with a Gaussian weight function over the real line . The inner product is defined as:

\[ \langle f , g \rangle = \int_{-\infty}^{\infty} \,\overline{f(x)}\,g(x)\,e^{-x^2} \,{\text d}x . \]
Let us test the orthogonality of a ground-state function f(x) = 1 and a complex first-excited-state component g(x) = x + ⅉx.
\[ \langle f , g \rangle = \int_{-\infty}^{\infty} \,f(x)\,g(x)\,e^{-x^2} \,{\text d}x = \int_{-\infty}^{\infty} \,x\,e^{-x^2} \,{\text d}x + \int_{-\infty}^{\infty} \,\int_{-\infty}^{\infty} \,x\,e^{-x^2} \,{\text d}x . \]
The term x e−x² is an odd function. Because the limits of integration are completely symmetric from −∞ to ∞, the area under the curve cancels perfectly out to zero for both the real and imaginary parts:
\[ \langle f , g \rangle = 1(0) + \mathbf{j}(0) = 0 . \]
Despite g(x) containing complex numbers and variable dimensions, these states are perfectly orthogonal under this specific Hilbert geometry.

Because the inner product of continuous functions is an integral, orthogonality means that the net accumulated area under the product of the functions (weighted by the Gaussian envelope) must cancel out to exactly zero. When working with a complex function g(x), this cancellation must happen independently for both the Real and Imaginary parts.

Below is the dynamic visualization followed by the production-ready Mathematica code to generate it. This Mathematica< script explicitly defines the complex inner product structure with the Gaussian weight, computes the analytical value to prove orthogonality, and outputs a publication-quality plot showing the area cancellation mechanism.

(* Clear any previous definitions in the workspace *) ClearAll[weightW, fVec, gVec, weightedInnerProduct, integrandPlot]; (* 1. Define the Gaussian Weight Function and the State Functions *) weightW[x_] := Exp[-x^2]; fVec[x_] := 1; gVec[x_] := x + I*x; (* 2. Compute the Analytical Inner Product over the Symmetric Infinite Domain *) weightedInnerProduct = Integrate[Conjugate[fVec[x]] * gVec[x] * weightW[x], {x, -Infinity, Infinity}]; (* 3. Extract the Integrands explicitly as standard algebraic functions *) realIntegrand[x_] := x * Exp[-x^2]; imagIntegrand[x_] := x * Exp[-x^2]; (* 4. Display Numerical Validation Results in Console *) Print["=== QUANTUM MECHANICS ORTHOGONALITY CHECK ==="]; Print["Analytical Inner Product Result: ", weightedInnerProduct]; Print["Are the functional states orthogonal? ", weightedInnerProduct == 0]; (* 5. Generate Professional Textbook Visualization *) integrandPlot = Plot[ {realIntegrand[x], imagIntegrand[x]}, {x, -3, 3}, PlotStyle -> { {Thickness[0.006], RGBColor[0.13, 0.41, 0.88]}, (* Solid Blue line for Real Part *) {Thickness[0.006], Dashing[{0.02, 0.02}], RGBColor[0.93, 0.43, 0.13]} (* Dashed Orange for Imag Part *) }, Filling -> Axis, FillingStyle -> { 1 -> Directive[RGBColor[0.13, 0.41, 0.88], Opacity[0.15]], 2 -> Directive[RGBColor[0.93, 0.43, 0.13], Opacity[0.15]] }, AxesLabel -> {"x", "Integrand Value"}, LabelStyle -> Directive[FontFamily -> "Arial", FontSize -> 12], PlotLegends -> Placed[ LineLegend[ {"Real Part: x exp(-x²)", "Imaginary Part: x exp(-x²)"}, LegendStyle -> Directive[FontSize -> 11] ], Above ], PlotRange -> All, ImageSize -> 550 ]

Figure 4.1: Area Cancellation in Complex Function.

As the plot highlights, both the real and imaginary curves exhibit perfect anti-symmetry (odd functions) across the origin. Every unit of negative area accumulated to the left of the y-axis (x < 0) is perfectly balanced by an identical unit of positive area to the right (x > 0), forcing the total inner product integral to collapse to zero.

To demonstrate how changing the Gaussian envelope width alters the geometry of your inner product space, we introduce a positive parameter σ to govern the width. The modified inner product is defined as

\[ \langle f , g \rangle = \int_{-\infty}^{\infty} \,\overline{f(x)}\,g(x) \,e^{-x^2 /\sigma^2} \,{\text d}x . \]
To make this fully interactive, we wrap the visualization in Mathematica's Manipulate function. This provides a real-time slider to change the scale dynamically
(* Clear any existing definitions in the notebook context *) ClearAll[weightW, fVec, gVec, interactiveOrthoPlot]; (* 1. Explicitly define functions to accept both x and the scale parameter s *) weightW[x_, s_] := Exp[-x^2 / s^2]; fVec[x_] := 1; gVec[x_] := x + I*x; realIntegrand[x_, s_] := Re[Conjugate[fVec[x]] * gVec[x] * weightW[x, s]]; imagIntegrand[x_, s_] := Im[Conjugate[fVec[x]] * gVec[x] * weightW[x, s]]; (* 2. Wrap the visualizer in an isolated, high-performance Manipulate frame *) Manipulate[ Module[ {numericalInnerProduct}, (* Force dynamic numerical evaluation over a robust truncated domain *) numericalInnerProduct = NIntegrate[ Conjugate[fVec[x]] * gVec[x] * weightW[x, sigma], {x, -Infinity, Infinity}, Method -> "GlobalAdaptive" ]; (* Render the clean vector geometry plot *) Plot[ {realIntegrand[x, sigma], imagIntegrand[x, sigma]}, {x, -5, 5}, PlotStyle -> { {Thickness[0.004], RGBColor[0.23, 0.51, 0.96]}, (* Solid Royal Blue *) {Thickness[0.004], Dashing[{0.02, 0.02}], RGBColor[0.95, 0.52, 0.1]} (* Dashed Tangerine *) }, Filling -> Axis, FillingStyle -> { 1 -> Directive[RGBColor[0.23, 0.51, 0.96], Opacity[0.15]], 2 -> Directive[RGBColor[0.95, 0.52, 0.1], Opacity[0.15]] }, PlotRange -> {{-5, 5}, {-1.5, 1.5}}, AxesLabel -> {"x", "Integrand Value"}, LabelStyle -> Directive[FontFamily -> "Arial", FontSize -> 12], PlotLegends -> Placed[ LineLegend[ {"Real Part", "Imaginary Part"}, LegendLabel -> Row[{"Numerical Inner Product = ", StandardForm[Chop[numericalInnerProduct]]}] ], Above ], PlotLabel -> Style[ Row[{"Gaussian Envelope Width (\[Sigma]) = ", sigma}], FontFamily -> "Arial", FontWeight -> Bold, FontSize -> 13 ], ImageSize -> 550 ] ], (* 3. Explicit layout controller for the parameter sigma *) {{sigma, 1.0, "Envelope Width (\[Sigma])"}, 0.4, 3.0, 0.1, Appearance -> "Labeled"} ]
   ■
End of Example 4
Theorem 1: If S = { v₁, v₂, … , vₙ } is an orthogonal set of non-zero vectors in an inner product space (V, ⟨ • , • ⟩), then S is linearly independent and hence is a basis for the subspace spanned by S.
To test for linear independence, set up the standard vector linear combination equal to zero:
\[ c_1 \mathbf{v}_1 + c_2 \mathbf{v}_2 + \cdots + c_n \mathbf{v}_n = \mathbf{0} . \]
Now, take the inner product of both sides with an arbitrary vector from the set:
\[ \left\langle \mathbf{v}_i , c_1 \mathbf{v}_1 + c_2 \mathbf{v}_2 + \cdots + c_n \mathbf{v}_n \right\rangle = \langle \mathbf{v}_i , \mathbf{0} \rangle = 0 . . \]
Using the linearity of the inner product in the second slot:
\[ c_1 \left\langle \mathbf{v}_i , \mathbf{v}_1 \right\rangle + c_2 \left\langle \mathbf{v}_i , \mathbf{v}_2 \right\rangle + \cdots + c_n \left\langle \mathbf{v}_i , \mathbf{v}_n \right\rangle = 0 . . \]
Because the set is orthogonal, every single term where j ≠ i vanishes to zero, collapsing the entire summation into:
\[ c_i \left\langle \mathbf{v}_i , \mathbf{v}_i \right\rangle = 0 \qquad \Longrightarrow \quad c_i \| \mathbf{v}_i \|^2 = 0 . \]
Since vi is a non-zero vector, its norm does not vanish, ∥vi∥ ≠ 0. Therefore, ci = 0. Because this holds true for every index i, all weights must be zero, proving linear independence.
   
Example 5: This example demonstrates the necessity of the complex conjugate in the standard inner product on ℂ². Consider the vector space equipped with the standard complex inner product \( \displaystyle \quad \langle \mathbf{x} , \mathbf{y} \rangle = x_1^{\ast} y_1 + x_2^{\ast} y_2 . \quad \) Let us verify that the following set is an orthogonal basis for ℂ²:
\[ \beta = \left\{ \mathbf{v} = \begin{pmatrix} 1 \\ \mathbf{j} \end{pmatrix} , \quad \mathbf{u} = \begin{pmatrix} 1 \\ -\mathbf{j} \end{pmatrix} \right\} . \]
To check orthogonality, we compute the inner product of v and u:
\[ \langle \mathbf{v} , \mathbf{u} \rangle = \overline{(1)} \cdot (1) + \overline{(\mathbf{j})} \cdot \mathbf{j} = 1 -1 = 0 . \]
Because ⟨v , u⟩ = 0 and the vectors are non-zero, they form an orthogonal set. Since dim(ℂ²) = 2 and we have two linearly independent vectors, β forms an orthogonal basis.    ■
End of Example 5
    When transitioning from ℝⁿ to general and complex spaces, it should be emphasized these three critical upgrades:
  1. The Inner Product Operator
    • In ℝⁿ: Orthogonality relies on the standard dot product (x • y = 0).
    • Orthogonality depends entirely on the specific inner product defined on that space (⟨x , y = 0).
  2. The Complex Conjugate Subtlety. In a complex inner product space, the inner product is conjugate-symmetric:
    \[ \left\langle \mathbf{v}_i , \mathbf{v}_j \right\rangle = \overline{\left\langle \mathbf{v}_j , \mathbf{v}_i \right\rangle} = \left\langle \mathbf{v}_j , \mathbf{v}_i \right\rangle^{\ast} \]
    You should remember that if ⟨vi , vj⟩ = 0, its conjugate is also 0✶ = 0. Therefore, order does not matter when testing a basis for orthogonality; it remains a perfectly symmetric relation in ℂⁿ. .
  3. If we divide each vector in an orthogonal basis by its norm \( \displaystyle \quad \left( \mathbf{u}_i = \frac{\mathbf{v}_i}{\| \mathbf{v}_i \|}\right) , \quad \) we obtain an orthonormal basis, which is the gold standard for computational simplicity because the coordinate tracking equation collapses beautifully into:
    \[ \left\langle \mathbf{u}_i , \mathbf{u}_j \right\rangle = \delta_{i,j} . \]
Let (V, ⟨ • , • ⟩) be an inner product space over a field 𝔽 (where 𝔽 = ℝ or ℂ), and let W be a subspace of V. An orthogonal basis for W is a basis { v₁, v₂, … , vₙ } for W that is also an orthogonal set under the given inner product on V. That is, every vector in the set is non-zero, and orthogonal to all other vectors.
   
Example 2:
Theorem 2: Let { v₁, v₂, … , vₙ }
   
Example 17:
   ■
End of Example 2

Let (V, ⟨ • , • ⟩) be an inner product space over the field ℝ or ℂ. Two vectors v, u ∈ V are said to be orthogonal (denoted as v ⊥ u) if and only if:

\[ \langle \mathbf{v} , \mathbf{u} \rangle = 0 . \]
The Zero Vector Property: The zero vector 0 is the unique vector that is orthogonal to every vector in the space, since ⟨0 , v⟩ = 0 for all v ∈ V. The Complex Symmetry Check: If v ⊥ u in a complex space, then u ⊥ v is automatically true because\( \displaystyle \quad \langle \mathbf{v} , \mathbf{u} \rangle = \overline{\langle \mathbf{u}, \mathbf{v} \rangle} = \langle \mathbf{u}, \mathbf{v} \rangle^{\ast} = \mathbf{0}^{\ast} = 0 . \quad \) . [Interactive Element Idea: A simple numerical widget where students input two complex coordinate pairs, and the site flashes green if their inner product equals zero.] Section 2: Geometric Consequences 📘 Theorem 4: The Generalized Pythagorean Theorem
Theorem 2 (Generalized Pythagorean Theorem): Let (V, ⟨ • , • ⟩) . be an inner product space. If a set of vectors { v₁, v₂, … , vₙ } is mutually orthogonal (meaning ⟨vi , vj⟩ = 0 whenever i ≠ j), then the squared norm of their sum is exactly equal to the sum of their individual squared norms:
\[ \left\| \sum_{i=1}^n \, \mathbf{v}_i \,\right\|^2 = \sum_{i=1}^n \,\left\| \mathbf{v}_i \,\right\|^2 . \]
For two orthogonal vectors x and y (x ⊥ y), this collapses to the familiar:
\[ \| \mathbf{x} + \mathbf{y} \|^2 = \| \mathbf{x} \|^2 + \| \mathbf{y} \|^2 . \]

The Proof starts with the base case of 2 Vectors. Let x and y be vectors in a complex inner product space such that x ⊥ y (which means ⟨x , y⟩ = 0).

Step 1: Expand using the Norm Definition, By definition, the squared norm is the inner product of the vector with itself:

\[ \| \mathbf{x} + \mathbf{y} \|^2 = \langle \mathbf{x} + \mathbf{y} , \mathbf{x} + \mathbf{y} \rangle . \]

Step 2: Distribute the Inner Product. Using the linearity properties, expand the expression into four distinct terms:
\[ \langle \mathbf{x} + \mathbf{y} , \mathbf{x} + \mathbf{y} \rangle = \langle \mathbf{x} , \mathbf{x} \rangle + \langle \mathbf{x} , \mathbf{y} \rangle + \langle \mathbf{y} , \mathbf{x} \rangle + \langle \mathbf{y} , \mathbf{y} \rangle . \]
Convert the self-products back into norm notation:
\[ \langle \mathbf{x} + \mathbf{y} , \mathbf{x} + \mathbf{y} \rangle = \| \mathbf{x} \|^2 + \langle \mathbf{x} , \mathbf{y} \rangle + \langle \mathbf{y} , \mathbf{x} \rangle + \| \mathbf{y} \|^2 . \]

Step 3: Apply the Orthogonality Condition.
  1. Because the vectors are orthogonal, the first cross-term drops out: ⟨x , y⟩ = 0.
  2. By the conjugate symmetry axiom, the second cross-term is the conjugate of the first: \( \displaystyle \quad \langle \mathbf{y} , \mathbf{x} \rangle = \overline{\langle \mathbf{x} , \mathbf{y} \rangle} = \langle \mathbf{x} , \mathbf{y} \rangle^{\ast} = 0^{\ast} = 0 . \quad \)
Substituting these zeros into the expansion leaves us with:
\[ \langle \mathbf{x} + \mathbf{y} , \mathbf{x} + \mathbf{y} \rangle = \|\mathbf{x} + \mathbf{y} \|^2 = \| \mathbf{x} \|^2 + 0 + 0 + \| \mathbf{y} \|^2 = \| \mathbf{x} \|^2 + \| \mathbf{y} \|^2 . \]

The Full Proof (for n Vectors via Induction).
To show show this scales to a sum of n orthogonal vectors, we can utilize mathematical induction.

Base Case: Proven above for n =2 .

Inductive Step: Assume the theorem holds for a sum of n mutually orthogonal vectors:

\[ \left\| \sum_{k=1}^n \,\mathbf{v}_k \,\right\|^2 = \sum_{k=1}^n \,\left\| \,\mathbf{v}_k \,\right\|^2 . \]
Now consider a sum of n + 1 mutually orthogonal vectors. We can group the first n vectors together as a single composite vector \( \displaystyle \quad\mathbf{u} = \sum_{k=1}^n \,\mathbf{v}_k :\ \)
\[ \left\| \sum_{k=1}^{n+1} \,\mathbf{v}_k \,\right\|^2 = \left\| \mathbf{u} + \mathbf{v}_{n+1} \right\|^2 . \]
Because vn+1 is orthogonal to every individual vector from v₁ to vₙ by linearity it must be strictly orthogonal to their sum u:
\[ \left\langle \mathbf{u} , \mathbf{v}_{n+1} \right\rangle = \left\langle \sum_{k=1}^n \,\mathbf{v}_k , \mathbf{v}_{n+1} \right\rangle = \sum_{k=1}^{n+1} \,\left\langle \mathbf{v}_k , \mathbf{v}_{n+1} \right\rangle = 0 . \]
Since u ⊥ vn+1, we can apply the 2-vector base case:
\[ \left\| \mathbf{u} + \mathbf{v}_{n+1} \right\|^2 = \| \mathbf{u} \|^2 + \left\| \mathbf{v}_{n+1} \right\|^2 . \]
Finally, substituting our inductive hypothesis back in for ∥u∥² yields:
\[ \left\| \sum_{k=1}^{n+1} \,\mathbf{v}_k \,\right\|^2 = \sum_{k=1}^{n} \,\left\| \mathbf{v}_k \right\|^2 + \left\| \mathbf{v}_{n+1} \right\|^2 = \sum_{k=1}^{n+1} \,\left\| \mathbf{v}_k \right\|^2 . \]
The theorem holds for all n ≥ 2 by induction.
   
Example 2:
   ■
End of Example 2
Insert the algebraic expansion and the induction scaffolding we finalized in our previous discussion here. Keeping this in an expandable accordion block keeps the main page from looking overly cluttered.] 🧪 Section 3: Nontrivial Application & Visual Proof To prove to students that this geometry functions perfectly outside of basic arrow coordinates, include the infinite-dimensional calculus example. 📊 Continuous Waveforms Example Let V = 𝔏²([−π , π]) with the standard integral inner product . Let f(x) = sin(x) and g(x) = cos(x) Section 4: Structural Frameworks 🧩 Orthogonal vs. Orthonormal Sets When a grid of orthogonal vectors is scaled so that every single component has a standardized length of 1, it forms the ultimate coordinate system for computation. Orthogonal Set: A collection of vectors where for all . Orthonormal Set: An orthogonal set where every vector is a unit vector ( ). This can be written compactly using the Kronecker Delta:
\[ \langle \mathbf{v}_i , \mathbf{v}_j \rangle = \begin{cases} , &\quad \mbox{if } i=j , \\ 0, &\quad \mbox{if } i \ne j . \end{cases} \]
The Big Reward: Trivial Coordinate Extraction Explain to students why we care about orthonormal bases (ONB). In a normal basis, finding the coordinates of a vector requires solving a massive system of linear equations ( ). In an orthonormal basis, the inner product extracts coordinates instantly without any matrix inversion: If{e_1 is an orthonormal basis for , then any vector can be written as:
\[ \mathbf{x} = \sum_{i=1}^n \,\langle \mathbf{x} , \mathbf{e}_i \rangle \,\mathbf{e}_i \]
Section 5: Algorithms & Future Steps 🔄 The Gram-Schmidt Process An introductory teaser or link to the next subpage. "What happens if our starting vectors are messy and not perpendicular? We use the Gram-Schmidt algorithm to systematically strip away the overlapping shadows (projections) until a pristine orthogonal framework is left behind." 🎓 Section 6: Quick Check Worksheet Add 3 self-assessments at the bottom of the page so students can immediately test their comprehension before leaving the site. True or False: If u ⊥ v, then ∥u − v∥² = ∥u∥² + ∥v∥². (Answer: True, the negative sign inside the norm vanishes under self-inner product expansion). Dimension Check: Can an orthogonal set of non-zero vectors ever be linearly dependent? (Answer: No, orthogonality guarantees linear independence).

The Orthogonal Complement

When we have a subspace W inside an inner product space (V, ⟨ • , • ⟩), we can cluster every single vector in the entire space that is perpendicular to W into its own geometric structure.

Let W be a subset (or subspace) of an inner product space (V, ⟨ • , • ⟩). The orthogonal complement of W, denoted by W⊥ (pronounced "W-perp"), is defined as:
\[ W^{\perp} = \left\{ \mathbf{v} \in V\ : \ \langle \mathbf{v} , \mathbf{w} \rangle = 0 \quad\mbox{for all } \mathbf{w} \in W \right\} . \]
Theorem 3: Even if W is just a random collection of scattered vectors, its orthogonal complement W⊥ is always a valid subspace of V. .
   
Example 17:
   ■
End of Example 17

Theorem 4: The only vector that can simultaneously live in a subspace and be perpendicular to itself is the zero vector:
\[ W \cap W^{\perp} = \{ \mathbf{0} \} . \]
   
Example 18:
   ■
End of Example 18

Theorem 5: If V is finite-dimensional and W is a subspace, then any vector in the universe V can be cleanly broken down into a "shadow" component in W and a perpendicular component in W⊥:
\[ V = W \oplus W^{\perp} \qquad\Longrightarrow\qquad \dim (V) = \dim (W) + \dim (W^{\perp}) . \]
   
Example 19:
   ■
End of Example 19 <