Skip to main content
Physics LibreTexts

6.3: Quantum Mechanics of Independent Identical Particles

  • Page ID
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)

    ( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\id}{\mathrm{id}}\)

    \( \newcommand{\Span}{\mathrm{span}}\)

    \( \newcommand{\kernel}{\mathrm{null}\,}\)

    \( \newcommand{\range}{\mathrm{range}\,}\)

    \( \newcommand{\RealPart}{\mathrm{Re}}\)

    \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)

    \( \newcommand{\Argument}{\mathrm{Arg}}\)

    \( \newcommand{\norm}[1]{\| #1 \|}\)

    \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)

    \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    \( \newcommand{\vectorA}[1]{\vec{#1}}      % arrow\)

    \( \newcommand{\vectorAt}[1]{\vec{\text{#1}}}      % arrow\)

    \( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vectorC}[1]{\textbf{#1}} \)

    \( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)

    \( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)

    \( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)

    \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)

    \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)

    \(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)

    This chapter considers collections of independent (i.e. non-interacting) identical monatomic particles. It does not treat mixtures or diatomic molecules. Notice that “independent” means only that the particles do not interact with each other. In contrast, each particle individually may interact with some background potential, such as a square well or harmonic oscillator potential. Later on (in section 6.5) we will restrict our consideration to particles that interact only with the walls of their container (“free particles”), but for now we treat the more general case.

    Doing quantal statistical mechanics requires a basis of states to sum over. In this section we consider the only the quantum mechanics of our situation in order to produce an energy eigenbasis. . . we defer all questions of statistical mechanics to the next section.

    Most of our discussion in this section is phrased in terms of the three-particle problem rather than the N-particle problem. The use of a specific number lends the advantage of concreteness, and three is the smallest number that generalizes readily to the N-particle case.

    6.3.1 A basis for non-identical particles

    Consider first a single particle moving in the background potential. Elementary quantum mechanics deals with this situation, and it tells us that there will be a certain number M of (possibly degenerate) energy eigenstates. (Usually M will be infinite, but there are advantages to calling it M and maintaining the ability to take the limit M → ∞.) The rth energy eigenstate has energy \( \epsilon_r\) and is represented by the wavefunction ηr(x), where x denotes the arguments of the wavefunction: Thus for a spinless particle, x could stand for x, y, z or px, py, pz or even px, y, pz. For a particle with spin s, x could stand for expressions like x, y, z, sz or px, py, pz, sx.

    We will soon use these one-particle energy eigenstates as building blocks to construct energy eigenstates for the N-particle situation, i.e. energy eigenstates for the entire system. Thus we will frequently be talking about both “one-particle energy eigenstates” and “N-particle energy eigenstates” in the same sentence, and both phrases are mouthfulls. To make our sentences shorter and clearer—and to emphasize the dramatic distinction between these two entities—we will adopt the common convention of referring to the one-particle energy eigenstates as “levels” and to the N-particle energy eigenstates as “states”. (Some books use the term “orbitals” rather than “levels”.) Thus we have for the one-particle energy eigenproblem:

    \( \begin{array}{ccccc}{\text { levels: }} & {\eta_{1}(x)} & {\eta_{2}(x)} & {\cdots} & {\eta_{r}(x)} & {\cdots} & {\eta_{M}(x)} \\ {\text { energies: }} & {\epsilon_{1}} & {\epsilon_{2}} & {\cdots} & {\epsilon_{r}} & {\cdots} & {\epsilon_{M}}\end{array}\)

    Now consider more than one particle—let’s say three particles—moving independently and all subject to the same background potential. If the particles are not identical (say one helium, one argon, and one neon atom), then the three-body energy eigenbasis will contain elements (“states”) such as

    \[ \eta_{r}\left(\mathrm{x}_{A}\right) \eta_{s}\left(\mathrm{x}_{B}\right) \eta_{t}\left(\mathrm{x}_{C}\right) \quad \text { with energy } \quad \epsilon_{r}+\epsilon_{s}+\epsilon_{l}.\]

    (If the particles interacted, then this would still be a state of the system, but it would not be an energy eigenstate.) We will represent this state by the notation \(|r, s, t\rangle\):

    \[ \eta_{r}\left(\mathrm{x}_{A}\right) \eta_{s}\left(\mathrm{x}_{B}\right) \eta_{\ell}\left(\mathrm{x}_{C}\right) \quad \Longleftrightarrow \quad|r, s, t\rangle.\]

    Of course, degeneracies now must exist: the energy of \(|r, s, t\rangle\) is the same as the energy of \(|s, r, t\rangle\). The entire basis consists of M3 such states (more generally, for the case of N independent particles, MN), namely:

    \[ \begin{array}{l}{|1,1,1\rangle} \\ {|2,1,1\rangle} \\ {|1,2,1\rangle} \\ {|1,1,2\rangle} \\ {|3,1,1\rangle} \\ { \vdots} \\ {|3,2,1\rangle} \\ {|3,1,2\rangle} \\ \vdots \\ { |4, 2, 1 \rangle} \\ \vdots \\ | { \text{M, M, M} \rangle} \end{array}\]

    Out of these M3 states we can build up (by addition and scalar multiplication) any wavefunction, i.e. any normalized function of (xA, xB, xC). This is exactly what we want for non-identical particles. But for identical particles we don’t want to be able to build any wavefunction. Because of the interchange rule, the only relevant wavefunctions are those symmetric (or antisymmetric) under the interchange of any pair of coordinates, for example

    \[ \psi\left(\mathbf{x}_{A}, \mathbf{x}_{B}, \mathbf{x}_{C}\right)=\pm \psi\left(\mathbf{x}_{C}, \mathbf{x}_{B}, \mathbf{x}_{A}\right),\]

    and hence these are the only kind of wavefunctions we want to be able to build. In other words, we need an energy eigenbasis consisting only of symmetric (or antisymmetric) wavefunctions.

    6.3.2 A basis for identical particles

    Fortunately, there exists a general procedure for constructing symmetric (or antisymmetric) functions out of garden-variety (or “non-symmetrized”) functions, and this procedure will enable us to build the two desired basis sets. For functions of three variables the procedure (which is readily generalized to N variables) works like this: Given a function f(xA, xB, xC), the new function

    \[ f\left(x_{A}, x_{B}, x_{C}\right)+f\left(x_{A}, x_{C}, x_{B}\right)+f\left(x_{C}, x_{A}, x_{B}\right)+f\left(x_{C}, x_{B}, x_{A}\right)+f\left(x_{B}, x_{C}, x_{A}\right)+f\left(x_{B}, x_{A}, x_{C}\right)\]

    is surely symmetric under the interchange of any pair of variables, and the new function

    \[ f\left(x_{A}, x_{B}, x_{C}\right)-f\left(x_{A}, x_{C}, x_{B}\right)+f\left(x_{C}, x_{A}, x_{B}\right)-f\left(x_{C}, x_{B}, x_{A}\right)+f\left(x_{B}, x_{C}, x_{A}\right)-f\left(x_{B}, x_{A}, x_{C}\right)\]

    is surely antisymmetric. These two procedures are called “symmetrization” and “antisymmetrization” (or sometimes “alternation”) respectively. It is of course possible that the resulting function vanishes, but this does not invalidate the procedure, because zero functions are both symmetric and antisymmetric!

    When applied to a quantal wavefunction ψ(xA, xB, xC), these processes result in the symmetric wavefunction

    \[ \hat{S} \psi\left(\mathbf{x}_{4}, \mathbf{x}_{B}, \mathbf{x}_{C}\right) \equiv A_{s}\left[\psi\left(\mathbf{x}_{A}, \mathbf{x}_{B}, \mathbf{x}_{C}\right)+\psi\left(\mathbf{x}_{A}, \mathbf{x}_{C}, \mathbf{x}_{B}\right)+\psi\left(\mathbf{x}_{C}, \mathbf{x}_{A}, \mathbf{x}_{A}\right)+\psi\left(\mathbf{x}_{B}, \mathbf{x}_{C}, \mathbf{x}_{A}\right)+\psi\left(\mathbf{x}_{B}, \mathbf{x}_{A}, \mathbf{x}_{C}\right)\right]\]

    and in the antisymmetric wavefunction

    \[ \hat{A} \psi\left(\mathbf{x}_{A}, \mathbf{x}_{B}, \mathbf{x}_{C}\right) \equiv A_{a}\left[\psi\left(\mathbf{x}_{A}, \mathbf{x}_{B}, \mathbf{x}_{C}\right)-\psi\left(\mathbf{x}_{A}, \mathbf{x}_{C}, \mathbf{x}_{B}\right)+\psi\left(\mathbf{x}_{C}, \mathbf{x}_{B}, \mathbf{x}_{A}\right)+\psi\left(\mathbf{x}_{B}, \mathbf{x}_{C}, \mathbf{x}_{A}\right)-\psi\left(\mathbf{x}_{B}, \mathbf{x}_{A}, \mathbf{x}_{C}\right)\right]\]

    where the constants As and Aa are inserted simply to insure normalization. Note that the operators \( \hat{S}\) and \( \hat{A}\) defined above are linear, whence a basis for symmetric wavefunctions may be obtained by symmetrizing every element of an ordinary, non-symmetrized, basis, and similarly for antisymmetric wavefunctions.

    For functions of three variables that factorize into three functions of one variable, i.e. functions of the form (6.5), these definitions can be expressed even more simply because, for example, swapping ηs and ηt is the same as swapping xB and xC. Thus, if \( |r, s, t \rangle\) is an energy eigenstate, then

    \[ \hat{S}|r, s, t\rangle \equiv A_{s}[|r, s, t\rangle+|t, r, s\rangle+|t, r, s\rangle+|t, s, r\rangle+|s, t, r\rangle+|s, r, t\rangle]\]

    is a symmetric state with the same energy, while

    \[ \hat{A}|r, s, t\rangle \equiv A_{a}[|r, s, t\rangle-|r, t, s\rangle+|t, r, s\rangle-|t, s, r\rangle+|s, t, r\rangle-|s, r, t\rangle]\]

    in an antisymmetric state with the same energy.

    It is easy to see that the symmetrization process is unaffected by the order of the letters, i.e. that

    \[ \hat{S}|r, s, t\rangle=\hat{S}|r, t, s\rangle \quad \text { etc. }\]

    whence, for example, the states \(|1, 1, 2 \rangle, ~ |1, 2, 1 \rangle, ~ \text{and} |2, 1, 1 \rangle\) all symmetrize to the same state. Similarly in antisymmetrization the order of the letters affects only the sign of the result,

    \[ \hat{A}|r, s, t\rangle=-\hat{A}|r, t, s\rangle=\hat{A}|t, r, s\rangle \quad \text { etc., }\]

    but this result is considerably more profound: It shows not only that, for example, \( \hat{A} |1, 2, 3 \rangle\) is the same state as \( \hat{A} |3, 2, 1 \rangle\), but also that

    \[ \hat{A}|3,1,1\rangle=-\hat{A}|3,1,1\rangle\]

    whence \( \hat{A}|3,1,1\rangle= 0\), and, in general, that \( |r, s, t \rangle\) antisymmetrizes to zero unless r, s, and t are all distinct.

    Now we construct a basis for symmetric wavefunctions by applying the operator \( \hat{S}\) to every element of our non-symmetrized basis on page 141. We obtain

    \( \begin{array}{l}{|1,1,1\rangle} \\ {|2,1,1\rangle} \\ { \cancel{|1,2,1\rangle}} \\ { \cancel{|1,1,2\rangle}} \\ { \cancel{|3,1,1\rangle}} \\ { \vdots} \\ {|3,2,1\rangle} \\ { |3,1,2\rangle} \\ \vdots \\ { \cancel{|4, 2, 1 \rangle}} \\ \vdots \\ | { \text{M, M, M} \rangle} \end{array}\)

    where the crossed out elements are those that have already appeared earlier in the list. It is clear that there are fewer elements in this basis than there are in the non-symmetrized basis, although it is a challenge to count them exactly. The number of elements turns out to be

    \[ \frac{(M)(M+1)(M+2)}{3 !},\]

    or, for the N-particle ratherthan the three-particle case,

    \[ \left(\begin{array}{c}{M+N-1} \\ {N}\end{array}\right).\]

    where the binomial coefficient symbol is define through

    \[ \left(\begin{array}{c}{m} \\ {n}\end{array}\right) \equiv \frac{m !}{n !(m-n) !}.\]

    We construct a basis for antisymmetric wavefunctions in the same way. The result is

    \( \begin{array}{l}{ \cancel{|1,1,1\rangle}} \\ { \cancel{|2,1,1\rangle}} \\ { \cancel{|1,2,1\rangle}} \\ { \cancel{|1,1,2\rangle}} \\ { \cancel{|3,1,1\rangle}} \\ { \vdots} \\ {|3,2,1\rangle} \\ { |3,1,2\rangle} \\ \vdots \\ { \cancel{|4, 2, 1 \rangle}} \\ \vdots \\ | { \cancel{\text{M, M, M} \rangle}} \end{array}\)

    where now the crossed out elements have either appeared earlier in the list or else are equal to zero. There are even fewer elements in this basis than there were in the symmetrized basis. In fact there are exactly

    \[ \frac{(M)(M-1)(M-2)}{3 !},\]

    such elements, or for the case of N particles,

    \[ \left(\begin{array}{c}{M} \\ {N}\end{array}\right) \equiv \frac{M !}{N !(M-N) !}\]


    For the case N = 2, there are M(M + 1)/2 elements the symmetric basis and M(M − 1)/2 elements in the antisymmetric basis, so the sum is M2 , the number of elements in the non-symmetrized basis. In fact, for N = 2, the set resulting from the conjunction of the symmetric and antisymmetric bases is a basis for the entire set of any function of two variables. This is related to the fact that any two-variable function can be written as the sum of a symmetric function and an antisymmetric function. I point out these results to emphasize that they apply for the two-variable case only, and are not general properties of symmetric and antisymmetric functions. For N ≥ 3, the conjunction of the symmetric and antisymmetric bases does not span the set of all N-variable functions.

    6.3.3 The occupation number representation

    We have seen that in order to specify an element of the symmetric or the antisymmetric basis that we have just produced, it is not necessary to specify the order of the one-particle level building blocks. For example \( \hat{A} |4, 9, 7 \rangle\) is the same state as \( \hat{A} |4, 7, 9 \rangle\), so there’s no need to pay attention to the order in which the 4, 7, and 9 appear. This observation permits the “occupation number” representation of such states, in which we specify the basis state simply by listing the one-particle levels that are used as building blocks to make up that state. Or, equivalently but more commonly, we specify the basis state by listing the number nr of one-body levels of each type r that are used as building blocks. (And, of course, we must also specify whether we’re considering the symmetric or the antisymmetric basis.) Thus, for example:

    \[ \begin{array}{cccccccc}{ \text{level } r} & {1} & {2} & {3} & {4} & {5} & {6} & {\cdots} & {M} \\ \hline \hat{S} | 3, 3, 4 \rangle \text{has} n_r: & 0 & {0} & {2} & {1} & {0} & {0} & {\cdots} & {0} \\ \hat{A} |1, 3, 4 \rangle \text{has} n_r: {1} & {0} & {1} & {1} & {0} & {0} & {\cdots} & {0}\end{array}\]

    The second line in this table means that the state \( \hat{S} |3, 3, 4 \rangle\) is built by starting with the three levels η3(xA), η3(xB), and η4(xA), multiplying them together, and then symmetrizing. Sometimes you will hear this state described by the phrase “there are two particles in level 3 and one particle in level 4”, but that can’t be literally true. . . the three particles are identical, and if they could be assigned to distinct levels they would not be identical! Phrases such as the one above1 invoke the “balls in buckets” picture of N-particle quantal wavefunctions: The state \( \hat{S} |3, 3, 4 \rangle\) is pictured as two balls in bucket number 3 and one ball in bucket number 4. It is all right to use this picture and this phraseology, as long as you don’t believe it. Always keep in mind that it is a shorthand for a more elaborate process of building up states from levels by multiplication and symmetrization.

    The very term “occupation number” for nr is a poor one, because it so strongly suggests the balls-in-buckets picture. A somewhat better name for nr is “occupancy”, and I will sometimes use it. If you can think of a better name, please tell me.

    To summarize the occupation number representation: an element of the symmetric basis is specified by the list

    \[ n_{r}, \quad \text { for } \quad r=1,2, \ldots M, \quad \text { where } \quad n_{r} \text { is } 0,1,2, \ldots ,\]

    The total number of particles in such as state is

    \[ N=\sum_{r=1}^{M} n_{r},\]

    and the energy of the state is

    \[ E=\sum_{r=1}^{M} n_{r} \epsilon_{r} .\]

    Finally, since we have been devoting so much attention to energy eigenstates, I remind you that there do exist states other than energy states. (Expand on this paragraph and insert a reference to the caveat concerning meaning of e−βE for arbitrary states on page 113.)

    6.3.4 Problems

    6.3 Bases in quantum mechanics

    We have just produced an energy eigenbasis for independent non-identical particles, one for independent bosons, and one for independent fermions. In each case did we produce the only possible energy eigenbasis or just one of several possible energy eigenbases? If the particles interact, the states in question will no longer constitute an energy eigenbasis. But will they constitute a basis?

    6.4 Symmetrization in the N-variable case

    Equations (6.8) and (6.9) contain algorithms for constructing (anti)symmetric functions of three variables by summing up six terms. How do these equations generalize to functions of N variables and, in particular, how many terms appear in each sum?

    6.5 Symmetrizing the symmetric

    The non-symmetrized state \( |r, s, t \rangle\) is already symmetric in the case that r = s = t. What happens if you attempt to symmetrize this already symmetric state through the procedure (6.12)? What if you attempt to antisymmetrize it through the procedure (6.13)?

    6.6 Normalization constants

    Find the normalization constants As and Aa in equations (6.12) and (6.13). Be sure your formula works for the case of \( \hat{S}|3, 3, 5 \rangle\) and \( \hat{S} |4, 4, 4 \rangle\). Generalize your result to the N-particle case, where the answer is a function of n1, n2, . . . , nM as well as N.

    6.7 Algorithms for permutations

    Invent some problem concerning the Heap algorithm for generating permutations. Better just give a reference to Sedgwick’s paper.

    6.8 Algorithms to list basis states

    Come up with some algorithm for producing the three sets of basis states that we have discussed, preferably in some useful order (where “useful” is to be defined by you). Your algorithm should generalize readily to the N-particle case.

    6.9 Number of basis elements

    Perform the counts (6.18) and (6.21). (Clue: Do it first for N = 3, then for N arbitrary.)

    1For example, phrases like “the level is filled” or “the level is empty” or “the level is half-filled”.

    This page titled 6.3: Quantum Mechanics of Independent Identical Particles is shared under a CC BY-SA license and was authored, remixed, and/or curated by Daniel F. Styer.

    • Was this article helpful?