Skip to content
Free public beta until December 4, 2026: every course is open, no card needed. After that, the first chapter of each course stays free and full access is a one-time $39 ($19 for up to 100 founding members chosen for helpful feedback). Your progress is kept. How the beta works

Recipe

Find the orthogonal complement of a subspace under a bilinear form

Use when: you have a bilinear form's Gram matrix and a subspace W, and need W^{\perp_B}=\{\mathbf v: B(\mathbf v,\mathbf w)=0 \text{ for every } \mathbf w\in W\}

Goal: a spanning set for W^{\perp_B}, with its dimension confirmed against \dim V-\dim W

Taught in Nondegenerate forms and orthogonal complements

  1. 1

    Compute \det(A) for the form's Gram matrix A; a genuine orthogonal complement with the dimension formula needs \det(A)\ne0.

    Example

    For A=\begin{pmatrix}1&2\\2&4\end{pmatrix}, \det(A)=(1)(4)-(2)(2)=0, so this particular form is degenerate and the steps below don't apply to it as stated.

    Why: the dimension formula \dim(W^{\perp_B})=\dim V-\dim W is only guaranteed when B is nondegenerate; section 8's degenerate case needs its own separate treatment.

  2. 2

    For each vector \mathbf w spanning W, write B(\mathbf v,\mathbf w)=0 using a general vector \mathbf v=(x,y,\dots).

    Example

    For A=\operatorname{diag}(1,-1) and W=\operatorname{span}\{(1,1)\}: B((x,y),(1,1))=x-y=0.

    Why: \mathbf v belongs to W^{\perp_B} exactly when it pairs to zero against every spanning vector of W, and a spanning set is enough to check.

  3. 3

    Solve the equation(s) from Step 2 the same way as any homogeneous linear system.

    Example

    x-y=0 gives x=y, so the solution set is \operatorname{span}\{(1,1)\}.

    • the form is positive definite — W\cap W^{\perp_B} always comes out \{\mathbf 0\}, matching an ordinary inner product's behavior.
    • the form is indefinite — W can sit partly or entirely inside its own W^{\perp_B}, since a nonzero vector can be self-orthogonal.

    Why: solving the system is the only genuinely new computation here; everything before it is just setting the system up correctly.

  4. 4

    Report W^{\perp_B} as a span, then check \dim(W^{\perp_B})=\dim V-\dim W holds regardless of any overlap with W itself.

    Example

    W^{\perp_B}=\operatorname{span}\{(1,1)\} is 1-dimensional, matching \dim V-\dim W=2-1=1 exactly, even though W\subseteq W^{\perp_B} here.

    Why: the dimension formula only tracks dimension, never disjointness, so it survives even the overlap an indefinite form can produce.

Common mistakes

  • Skipping the nondegeneracy check and applying the dimension formula to a form where it doesn't hold.
  • Writing the defining equation with \mathbf w and \mathbf v swapped, which matters unless B is symmetric.
  • Assuming W\cap W^{\perp_B}=\{\mathbf 0\} always holds, a fact that's only guaranteed for a positive definite form.
  • Checking only one spanning vector of W when W has dimension greater than one, missing part of the system.