1

Given a hyperplane $\{x\in\mathbb R^n | a^T x=0\}$ where $a\in\mathbb R^n$, and I want to find some orthogonal basis to this hyperplane.

I found many solutions for special cases, but non of which considers the general case.

Thanks in advance!

  • $\mathcal{H} = \lbrace x \in \mathbb{R}^n, ; a^{\top}x = b \rbrace$ is a affine subspace. Is it not $\overrightarrow{\mathcal{H}} = \lbrace x \in \mathbb{R}^{n}, , a^{\top}x = 0 \rbrace$ you want an orthogonal basis of ? – pitchounet Aug 31 '16 at 09:54
  • You're right. I fixed my question correspondigly – Dudi Frid Aug 31 '16 at 10:01
  • 2
    You may have a look at : http://math.stackexchange.com/questions/710103/algorithm-to-find-an-orthogonal-basis-orthogonal-to-a-given-vector/712030#712030 – pitchounet Aug 31 '16 at 10:02
  • You are asking us to choose one from infinitely many orthogonal basis for an arbitrary hyperplane. There is no preferred choice, and therefore no formula. You can pick such a basis by choosing a nonzero vector in the subspace according to some rule of your liking, then restrict the subspace to subspace orthogonal to you chosen vector, and then repeat; continue until the subspace has dimension $0$. – Marc van Leeuwen Aug 31 '16 at 10:04

3 Answers3

2

Adapted from the answer under the link in the comment by jibounet, but without the messy formulae.

Without loss of generality assume $\|a\|=1$ (in other words replace $a$ by its normalisation, if necessary). Find one of the standard basis vectors, or its negative, that is different from $a$, say $e=\pm e_k\neq a$, which is clearly always possible (you can even make a choice such that $\|a-e\|>1$, for the sake of numeric stability in what follows). Then $v=a-e$ is a nonzero vector, and the orthogonal reflection $R$ with respect to the hyperplane perpendicular to $v$ will send $e_k\mapsto\pm a$. This means column $k$ of the matrix of $R$ equals$~\pm a$, and the remaining columns give you a basis of your hyperplane (remember, the columns of any orthogonal matrix, like that of a reflection, form an orthonormal basis of the space)

Concretely, the matrix of $R$ is given by $I-\frac2{\|v\|^2}(v\cdot v^T)$.

  • I don't understand how should I use $R$ to get the basis? Do you mean that the basis is ${R (e_i)}$ ? – Dudi Frid Aug 31 '16 at 10:58
  • It is the matrix of $R$ that gives you the basis, by reading off its columns (except column number $k$). Indeed column $j$ expresses $R(e_j)$ in the standard basis, so you can describe the basis as ${,R(e_j)\mid j\neq k,}$. – Marc van Leeuwen Aug 31 '16 at 11:42
0

I address the question of finding the most general form of an orthonormal basis of an hyperplane.

Once you have a particular orthonormal basis of the hyperplane $x^{\perp}$, (column) identified with the columns of a certain $n \times (n-1)$ matrix $B$, the most general answer is that any other orthonormal basis is associated with $B':=\Omega B$ where $\Omega$ is any orthogonal ($n \times n$) matrix, because orthogonal matrices ($\Omega^T=\Omega^{-1}$) preserve orthonormality.

Remark: this method works for orthonormal bases of any $k$-dimensional subspace.

Jean Marie
  • 88,997
0

Let $a=(a_1,\dots, a_n)\in \Bbb R^n$, then $a^Tx=0$ means

$$ a_1x_1+\dots a_nx_n=0.$$

This is a homogeneous linear system with one equation and $n$ variables, so a basis for the hyperplane $\{x\in\Bbb R^n: a^Tx=0\}$ is given by a basis of the space of solutions of the linear system above.

InsideOut
  • 7,003