From 6ce0bb9a8f9fd7d169cbb414a9537d68c5290aae Mon Sep 17 00:00:00 2001 From: Prefetch Date: Fri, 14 Oct 2022 23:25:28 +0200 Subject: Initial commit after migration from Hugo --- source/know/concept/gram-schmidt-method/index.md | 49 ++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 source/know/concept/gram-schmidt-method/index.md (limited to 'source/know/concept/gram-schmidt-method/index.md') diff --git a/source/know/concept/gram-schmidt-method/index.md b/source/know/concept/gram-schmidt-method/index.md new file mode 100644 index 0000000..483dd71 --- /dev/null +++ b/source/know/concept/gram-schmidt-method/index.md @@ -0,0 +1,49 @@ +--- +title: "Gram-Schmidt method" +date: 2021-02-22 +categories: +- Mathematics +- Algorithms +layout: "concept" +--- + +Given a set of linearly independent non-orthonormal vectors +$\ket{V_1}, \ket{V_2}, ...$ from a [Hilbert space](/know/concept/hilbert-space/), +the **Gram-Schmidt method** +turns them into an orthonormal set $\ket{n_1}, \ket{n_2}, ...$ as follows: + +1. Take the first vector $\ket{V_1}$ and normalize it to get $\ket{n_1}$: + + $$\begin{aligned} + \ket{n_1} = \frac{\ket{V_1}}{\sqrt{\inprod{V_1}{V_1}}} + \end{aligned}$$ + +2. Begin loop. Take the next non-orthonormal vector $\ket{V_j}$, and + subtract from it its projection onto every already-processed vector: + + $$\begin{aligned} + \ket{n_j'} = \ket{V_j} - \ket{n_1} \inprod{n_1}{V_j} - \ket{n_2} \inprod{n_2}{V_j} - ... - \ket{n_{j-1}} \inprod{n_{j-1}}{V_{j-1}} + \end{aligned}$$ + + This leaves only the part of $\ket{V_j}$ which is orthogonal to + $\ket{n_1}$, $\ket{n_2}$, etc. This why the input vectors must be + linearly independent; otherwise $\Ket{n_j'}$ may become zero at some + point. + +3. Normalize the resulting ortho*gonal* vector $\ket{n_j'}$ to make it + ortho*normal*: + + $$\begin{aligned} + \ket{n_j} = \frac{\ket{n_j'}}{\sqrt{\inprod{n_j'}{n_j'}}} + \end{aligned}$$ + +4. Loop back to step 2, taking the next vector $\ket{V_{j+1}}$. + +If you are unfamiliar with this notation, take a look at [Dirac notation](/know/concept/dirac-notation/). + + + +## References +1. R. Shankar, + *Principles of quantum mechanics*, 2nd edition, + Springer. -- cgit v1.2.3