]> gitweb.michael.orlitzky.com - mjotex.git/blobdiff - mjo-common.tex
Add the Cartesian product \cartprod command.
[mjotex.git] / mjo-common.tex
index 88bdc1d65b4a3f8f5962c697f075c0268f1735df..8dae2cff42f0d75693f2a01b3c853c74b526ef9b 100644 (file)
 % A pair of things.
 \providecommand*{\pair}[2]{ \left( {#1}, {#2} \right) }
 
+% The Cartesian product of two things.
+\providecommand*{\cartprod}[2]{ {#1} \times {#2} }
+
+%
+% Product spaces
+%
+% All of the product spaces (for example, R^n) that follow default to
+% an exponent of ``n'', but that exponent can be changed by providing
+% it as an optional argument. If the exponent given is ``1'', then it
+% will be omitted entirely.
+%
+
+% The natural n-space, N x N x N x ... x N.
+\providecommand*{\Nn}[1][n]{
+  \mathbb{N}\if\detokenize{#1}\detokenize{1}{}\else^{#1}\fi
+}
+
 % The integral n-space, Z x Z x Z x ... x Z.
-\providecommand*{\Zn}[1][n]{ \mathbb{Z}^{{#1}} }
+\providecommand*{\Zn}[1][n]{
+  \mathbb{Z}\if\detokenize{#1}\detokenize{1}{}\else^{#1}\fi
+}
 
 % The rational n-space, Q x Q x Q x ... x Q.
-\providecommand*{\Qn}[1][n]{ \mathbb{Q}^{{#1}} }
+\providecommand*{\Qn}[1][n]{
+  \mathbb{Q}\if\detokenize{#1}\detokenize{1}{}\else^{#1}\fi
+}
 
 % The real n-space, R x R x R x ... x R.
-\providecommand*{\Rn}[1][n]{ \mathbb{R}^{{#1}} }
+\providecommand*{\Rn}[1][n]{
+  \mathbb{R}\if\detokenize{#1}\detokenize{1}{}\else^{#1}\fi
+}
 
 % The complex n-space, C x C x C x ... x C.
-\providecommand*{\Cn}[1][n]{ \mathbb{C}^{{#1}} }
+\providecommand*{\Cn}[1][n]{
+  \mathbb{C}\if\detokenize{#1}\detokenize{1}{}\else^{#1}\fi
+}