\documentclass[12pt,titlepage]{article} \usepackage{amsmath} \usepackage{mathrsfs} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsthm} \usepackage{mathtools} \usepackage{graphicx} \usepackage{color} \usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{xparse} \usepackage{hyperref} %----Macros---------- % % Unresolved issues: % % \righttoleftarrow % \lefttorightarrow % % \color{} with HTML colorspec % \bgcolor % \array with options (without options, it's equivalent to the matrix environment) % Of the standard HTML named colors, white, black, red, green, blue and yellow % are predefined in the color package. Here are the rest. \definecolor{aqua}{rgb}{0, 1.0, 1.0} \definecolor{fuschia}{rgb}{1.0, 0, 1.0} \definecolor{gray}{rgb}{0.502, 0.502, 0.502} \definecolor{lime}{rgb}{0, 1.0, 0} \definecolor{maroon}{rgb}{0.502, 0, 0} \definecolor{navy}{rgb}{0, 0, 0.502} \definecolor{olive}{rgb}{0.502, 0.502, 0} \definecolor{purple}{rgb}{0.502, 0, 0.502} \definecolor{silver}{rgb}{0.753, 0.753, 0.753} \definecolor{teal}{rgb}{0, 0.502, 0.502} % Because of conflicts, \space and \mathop are converted to % \itexspace and \operatorname during preprocessing. % itex: \space{ht}{dp}{wd} % % Height and baseline depth measurements are in units of tenths of an ex while % the width is measured in tenths of an em. \makeatletter \newdimen\itex@wd% \newdimen\itex@dp% \newdimen\itex@thd% \def\itexspace#1#2#3{\itex@wd=#3em% \itex@wd=0.1\itex@wd% \itex@dp=#2ex% \itex@dp=0.1\itex@dp% \itex@thd=#1ex% \itex@thd=0.1\itex@thd% \advance\itex@thd\the\itex@dp% \makebox[\the\itex@wd]{\rule[-\the\itex@dp]{0cm}{\the\itex@thd}}} \makeatother % \tensor and \multiscript \makeatletter \newif\if@sup \newtoks\@sups \def\append@sup#1{\edef\act{\noexpand\@sups={\the\@sups #1}}\act}% \def\reset@sup{\@supfalse\@sups={}}% \def\mk@scripts#1#2{\if #2/ \if@sup ^{\the\@sups}\fi \else% \ifx #1_ \if@sup ^{\the\@sups}\reset@sup \fi {}_{#2}% \else \append@sup#2 \@suptrue \fi% \expandafter\mk@scripts\fi} \def\tensor#1#2{\reset@sup#1\mk@scripts#2_/} \def\multiscripts#1#2#3{\reset@sup{}\mk@scripts#1_/#2% \reset@sup\mk@scripts#3_/} \makeatother % \slash \makeatletter \newbox\slashbox \setbox\slashbox=\hbox{$/$} \def\itex@pslash#1{\setbox\@tempboxa=\hbox{$#1$} \@tempdima=0.5\wd\slashbox \advance\@tempdima 0.5\wd\@tempboxa \copy\slashbox \kern-\@tempdima \box\@tempboxa} \def\slash{\protect\itex@pslash} \makeatother % math-mode versions of \rlap, etc % from Alexander Perlis, "A complement to \smash, \llap, and lap" % http://math.arizona.edu/~aprl/publications/mathclap/ \def\clap#1{\hbox to 0pt{\hss#1\hss}} \def\mathllap{\mathpalette\mathllapinternal} \def\mathrlap{\mathpalette\mathrlapinternal} \def\mathclap{\mathpalette\mathclapinternal} \def\mathllapinternal#1#2{\llap{$\mathsurround=0pt#1{#2}$}} \def\mathrlapinternal#1#2{\rlap{$\mathsurround=0pt#1{#2}$}} \def\mathclapinternal#1#2{\clap{$\mathsurround=0pt#1{#2}$}} % Renames \sqrt as \oldsqrt and redefine root to result in \sqrt[#1]{#2} \let\oldroot\root \def\root#1#2{\oldroot #1 \of{#2}} \renewcommand{\sqrt}[2][]{\oldroot #1 \of{#2}} % Manually declare the txfonts symbolsC font \DeclareSymbolFont{symbolsC}{U}{txsyc}{m}{n} \SetSymbolFont{symbolsC}{bold}{U}{txsyc}{bx}{n} \DeclareFontSubstitution{U}{txsyc}{m}{n} % Manually declare the stmaryrd font \DeclareSymbolFont{stmry}{U}{stmry}{m}{n} \SetSymbolFont{stmry}{bold}{U}{stmry}{b}{n} % Manually declare the MnSymbolE font \DeclareFontFamily{OMX}{MnSymbolE}{} \DeclareSymbolFont{mnomx}{OMX}{MnSymbolE}{m}{n} \SetSymbolFont{mnomx}{bold}{OMX}{MnSymbolE}{b}{n} \DeclareFontShape{OMX}{MnSymbolE}{m}{n}{ <-6> MnSymbolE5 <6-7> MnSymbolE6 <7-8> MnSymbolE7 <8-9> MnSymbolE8 <9-10> MnSymbolE9 <10-12> MnSymbolE10 <12-> MnSymbolE12}{} % Declare specific arrows from txfonts without loading the full package \makeatletter \def\re@DeclareMathSymbol#1#2#3#4{% \let#1=\undefined \DeclareMathSymbol{#1}{#2}{#3}{#4}} \re@DeclareMathSymbol{\neArrow}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\neArr}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\seArrow}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\seArr}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\nwArrow}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\nwArr}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\swArrow}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\swArr}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\nequiv}{\mathrel}{symbolsC}{46} \re@DeclareMathSymbol{\Perp}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\Vbar}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\sslash}{\mathrel}{stmry}{12} \re@DeclareMathSymbol{\bigsqcap}{\mathop}{stmry}{"64} \re@DeclareMathSymbol{\biginterleave}{\mathop}{stmry}{"6} \re@DeclareMathSymbol{\invamp}{\mathrel}{symbolsC}{77} \re@DeclareMathSymbol{\parr}{\mathrel}{symbolsC}{77} \makeatother % \llangle, \rrangle, \lmoustache and \rmoustache from MnSymbolE \makeatletter \def\Decl@Mn@Delim#1#2#3#4{% \if\relax\noexpand#1% \let#1\undefined \fi \DeclareMathDelimiter{#1}{#2}{#3}{#4}{#3}{#4}} \def\Decl@Mn@Open#1#2#3{\Decl@Mn@Delim{#1}{\mathopen}{#2}{#3}} \def\Decl@Mn@Close#1#2#3{\Decl@Mn@Delim{#1}{\mathclose}{#2}{#3}} \Decl@Mn@Open{\llangle}{mnomx}{'164} \Decl@Mn@Close{\rrangle}{mnomx}{'171} \Decl@Mn@Open{\lmoustache}{mnomx}{'245} \Decl@Mn@Close{\rmoustache}{mnomx}{'244} \makeatother % Widecheck \makeatletter \DeclareRobustCommand\widecheck[1]{{\mathpalette\@widecheck{#1}}} \def\@widecheck#1#2{% \setbox\z@\hbox{\m@th$#1#2$}% \setbox\tw@\hbox{\m@th$#1% \widehat{% \vrule\@width\z@\@height\ht\z@ \vrule\@height\z@\@width\wd\z@}$}% \dp\tw@-\ht\z@ \@tempdima\ht\z@ \advance\@tempdima2\ht\tw@ \divide\@tempdima\thr@@ \setbox\tw@\hbox{% \raise\@tempdima\hbox{\scalebox{1}[-1]{\lower\@tempdima\box \tw@}}}% {\ooalign{\box\tw@ \cr \box\z@}}} \makeatother % \mathraisebox{voffset}[height][depth]{something} \makeatletter \NewDocumentCommand\mathraisebox{moom}{% \IfNoValueTF{#2}{\def\@temp##1##2{\raisebox{#1}{$\m@th##1##2$}}}{% \IfNoValueTF{#3}{\def\@temp##1##2{\raisebox{#1}[#2]{$\m@th##1##2$}}% }{\def\@temp##1##2{\raisebox{#1}[#2][#3]{$\m@th##1##2$}}}}% \mathpalette\@temp{#4}} \makeatletter % udots (taken from yhmath) \makeatletter \def\udots{\mathinner{\mkern2mu\raise\p@\hbox{.} \mkern2mu\raise4\p@\hbox{.}\mkern1mu \raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern1mu}} \makeatother %% Fix array \newcommand{\itexarray}[1]{\begin{matrix}#1\end{matrix}} %% \itexnum is a noop \newcommand{\itexnum}[1]{#1} %% Renaming existing commands \newcommand{\underoverset}[3]{\underset{#1}{\overset{#2}{#3}}} \newcommand{\widevec}{\overrightarrow} \newcommand{\darr}{\downarrow} \newcommand{\nearr}{\nearrow} \newcommand{\nwarr}{\nwarrow} \newcommand{\searr}{\searrow} \newcommand{\swarr}{\swarrow} \newcommand{\curvearrowbotright}{\curvearrowright} \newcommand{\uparr}{\uparrow} \newcommand{\downuparrow}{\updownarrow} \newcommand{\duparr}{\updownarrow} \newcommand{\updarr}{\updownarrow} \newcommand{\gt}{>} \newcommand{\lt}{<} \newcommand{\map}{\mapsto} \newcommand{\embedsin}{\hookrightarrow} \newcommand{\Alpha}{A} \newcommand{\Beta}{B} \newcommand{\Zeta}{Z} \newcommand{\Eta}{H} \newcommand{\Iota}{I} \newcommand{\Kappa}{K} \newcommand{\Mu}{M} \newcommand{\Nu}{N} \newcommand{\Rho}{P} \newcommand{\Tau}{T} \newcommand{\Upsi}{\Upsilon} \newcommand{\omicron}{o} \newcommand{\lang}{\langle} \newcommand{\rang}{\rangle} \newcommand{\Union}{\bigcup} \newcommand{\Intersection}{\bigcap} \newcommand{\Oplus}{\bigoplus} \newcommand{\Otimes}{\bigotimes} \newcommand{\Wedge}{\bigwedge} \newcommand{\Vee}{\bigvee} \newcommand{\coproduct}{\coprod} \newcommand{\product}{\prod} \newcommand{\closure}{\overline} \newcommand{\integral}{\int} \newcommand{\doubleintegral}{\iint} \newcommand{\tripleintegral}{\iiint} \newcommand{\quadrupleintegral}{\iiiint} \newcommand{\conint}{\oint} \newcommand{\contourintegral}{\oint} \newcommand{\infinity}{\infty} \newcommand{\bottom}{\bot} \newcommand{\minusb}{\boxminus} \newcommand{\plusb}{\boxplus} \newcommand{\timesb}{\boxtimes} \newcommand{\intersection}{\cap} \newcommand{\union}{\cup} \newcommand{\Del}{\nabla} \newcommand{\odash}{\circleddash} \newcommand{\negspace}{\!} \newcommand{\widebar}{\overline} \newcommand{\textsize}{\normalsize} \renewcommand{\scriptsize}{\scriptstyle} \newcommand{\scriptscriptsize}{\scriptscriptstyle} \newcommand{\mathfr}{\mathfrak} \newcommand{\statusline}[2]{#2} \newcommand{\tooltip}[2]{#2} \newcommand{\toggle}[2]{#2} % Theorem Environments \theoremstyle{plain} \newtheorem{theorem}{Theorem} \newtheorem{lemma}{Lemma} \newtheorem{prop}{Proposition} \newtheorem{cor}{Corollary} \newtheorem*{utheorem}{Theorem} \newtheorem*{ulemma}{Lemma} \newtheorem*{uprop}{Proposition} \newtheorem*{ucor}{Corollary} \theoremstyle{definition} \newtheorem{defn}{Definition} \newtheorem{example}{Example} \newtheorem*{udefn}{Definition} \newtheorem*{uexample}{Example} \theoremstyle{remark} \newtheorem{remark}{Remark} \newtheorem{note}{Note} \newtheorem*{uremark}{Remark} \newtheorem*{unote}{Note} %------------------------------------------------------------------- \begin{document} %------------------------------------------------------------------- \section*{cross product} \hypertarget{cross_products}{}\section*{{Cross products}}\label{cross_products} \noindent\hyperlink{idea}{Idea}\dotfill \pageref*{idea} \linebreak \noindent\hyperlink{definitions}{Definitions}\dotfill \pageref*{definitions} \linebreak \noindent\hyperlink{classical}{Classical}\dotfill \pageref*{classical} \linebreak \noindent\hyperlink{binary}{Binary}\dotfill \pageref*{binary} \linebreak \noindent\hyperlink{ary}{$(n-1)$-ary}\dotfill \pageref*{ary} \linebreak \noindent\hyperlink{vectorvalued}{Vector-valued}\dotfill \pageref*{vectorvalued} \linebreak \noindent\hyperlink{tensorvalued}{Tensor-valued}\dotfill \pageref*{tensorvalued} \linebreak \noindent\hyperlink{relationships}{Relationships}\dotfill \pageref*{relationships} \linebreak \noindent\hyperlink{exterior_products}{Exterior products}\dotfill \pageref*{exterior_products} \linebreak \noindent\hyperlink{curls}{Curls}\dotfill \pageref*{curls} \linebreak \noindent\hyperlink{related_concepts}{Related concepts}\dotfill \pageref*{related_concepts} \linebreak \noindent\hyperlink{references}{References}\dotfill \pageref*{references} \linebreak \hypertarget{idea}{}\subsection*{{Idea}}\label{idea} In general, the term `cross product' is used for any operation denoted by the symbol `$\times$', such as [[cartesian product]], [[direct product]], [[Tychonoff product]], or (subsuming all of these) [[product|product in a category]]. However, there is another completely different context, used in the elementary analysis of [[vector spaces]], and that is what we discuss here. Originally isolated from the multiplication operation in [[quaternions]] as a binary operation on $\mathbb{R}^3 \simeq Im(\mathbb{H})$, the cross product now has generalisations to other arities, other dimensions, and other ground fields. \hypertarget{definitions}{}\subsection*{{Definitions}}\label{definitions} \hypertarget{classical}{}\subsubsection*{{Classical}}\label{classical} The \textbf{classical cross product} on the [[Cartesian space]] $\mathbb{R}^3$ is the [[bilinear function]] \begin{displaymath} (-) \times (-)\colon \mathbb{R}^3 \times \mathbb{R}^3 \to \mathbb{R}^3 \end{displaymath} given by \begin{displaymath} (a,b,c) \times (d,e,f) = (b e - c f, c d - a f, a e - b d) . \end{displaymath} This operation is invariant under [[orthogonal group|orthogonal transformations]] and there is nothing special here about the [[real numbers]], so given any $3$-dimensional [[orientation|oriented]] [[inner product space]] $V$ over any [[field]], we have a bilinear cross product \begin{displaymath} (-) \times (-)\colon V \times V \to V \end{displaymath} given, upon choosing any oriented orthonormal basis for $V$, by the formula above. \hypertarget{binary}{}\subsubsection*{{Binary}}\label{binary} We have already, trivially, generalized the cross product to other ground fields. One way to generalise it to other dimensions is to identify characteristic features as a bilinear operation and see what operations in other dimensions have these. In this vein, a \textbf{binary cross product} on any [[inner product space]] $V$ is a [[bilinear function]] \begin{displaymath} (-) \times (-)\colon V \times V \to V \end{displaymath} such that for all $x, y\in V$ we have \begin{enumerate}% \item Alternation: $x \times x = 0$. \item Orthgonality: $x \times y$ is orthogonal to both $x$ and $y$; that is, $x \cdot (x \times y) = (x \times y) \cdot y = 0$. \item Area: ${\|x \times y\|} = {\|x\|} {\|y\|}$ if $x, y$ are orthogonal. \end{enumerate} From these, we can prove a more general formula for ${\|x \times y\|}$: \begin{displaymath} {\|x \times y\|}^2 = {\|x\|}^2 {\|y\|}^2 - (x \cdot y)^2 , \end{displaymath} or equivalently \begin{displaymath} {\|x \times y\|} = {\|x\|} {\|y\|} {|\sin\angle(x,y)|} . \end{displaymath} (Using the [[polarization identity]] to express $x \cdot y$ in terms of $\|x\|$, $\|y\|$, and either $\|x + y\|$ or $\|x - y\|$, this is the double of Hero's Formula for the area of a triangle.) Conversely, using this more general area formula, we can prove both the restricted area formula and alternation, so that only orthogonality is needed as a separate axiom. We then have over the [[real numbers]]: \begin{itemize}% \item In [[dimension]] $0$ or $1$, there is one binary cross product: $x \times y \coloneqq 0$. \item In dimension $3$, there are two binary cross products, one for each orientation, matching the classical cross product. \item In dimension $7$, there are uncountably many binary cross products. Even fixing a basis and requiring compatibility with this, there are still hundreds of cross products. \item In any other finite dimension, there are no binary cross products at all. \end{itemize} These cross products exist over any base field, but as far as I know there may be additional cross products over some. (Of course, the claim that there are uncountably many cross products in $7$ dimensions should be generalised and made more precise; the space of these inner products is some [[algebraic variety]].) Binary cross products are closely related to [[normed division algebras]] (NDAs). Given a normed division algebra $A$, the imaginary hyperplane $Im(A)$ inherits an inner product from $A$ and gains a cross product as \begin{displaymath} x \times y \coloneqq Im(x y) = \frac{1}{2}[x,y] = x y + x \cdot y . \end{displaymath} Conversely, given an inner product space $V$ with a binary cross product, the orthogonal [[direct sum]] $K \oplus V$ becomes a NDA as \begin{displaymath} (a,x) (b,y) = (a b - x \cdot y, a y + b x + x \times y) , \end{displaymath} where $K$ is the ground field. By [[Hurwitz theorem|Hurwitz's theorem]], the only finite-dimensional NDAs over $\mathbb{R}$ are $\mathbb{R}$ itself (the [[real numbers]]), $\mathbb{C}$ (the [[complex numbers]]), $\mathbb{H}$ (the [[quaternions]]), and $\mathbb{O}$ (the [[octonions]]). Thus the limited possibilities for binary cross products are determined by the limited possibilities for NDA structures. By one of the deeper strands of mathematics, this classification of something as innocent-looking as cross-products is closely related not just to the existence of [[normed division algebras]] over the [[real numbers]], but also to all of the following: [[parallelizable manifold|parallelizable]] [[n-spheres]], the existence of [[real spin representations]] (see also at \emph{[[supersymmetry and division algebras]]}), and the [[homotopy groups of spheres]] of [[Hopf invariant one]]; see \href{Hopf+invariant+one#RelationToHSpaceStructureAndNormedDivisionAlgebras}{there}. \hypertarget{ary}{}\subsubsection*{{$(n-1)$-ary}}\label{ary} Given an [[orientation|oriented]] [[inner product space]] $V$ of finite [[dimension]] $n$, we can define the signed [[volume]] of an $n$-[[tuple]] of vectors. (See also [[volume form]].) This allows us to characterise a \textbf{co-unary cross product} of $n - 1$ vectors as a multilinear operation \begin{displaymath} ⨉\colon V^{n - 1} \to V \end{displaymath} such that \begin{displaymath} ⨉(v_1,\ldots,v_{n-1}) \cdot v_n = vol(v_1,\ldots,v_n) \end{displaymath} always. There is exactly one such cross product on any such $V$ (so two if we start with an unoriented inner product space). In $3$ dimensions, this also recovers the classical cross product. \hypertarget{vectorvalued}{}\subsubsection*{{Vector-valued}}\label{vectorvalued} Generalizing all of the above, let a \textbf{vector-valued cross product} on any [[inner product space]] $V$ be a multilinear function \begin{displaymath} ⨉\colon V^k \to V \end{displaymath} for some [[natural number]] $k$ (called the [[arity]]) such that: \begin{enumerate}% \item Alternation: $⨉(v_1,\ldots,v_k) = 0$ if $v_i = v_j$ for some $i \ne j$. \item Orthgonality: $⨉(v_1,\ldots,v_k)$ is orthogonal to each $v_i$. \item Area: ${\|⨉(v_1,\ldots,v_k)\|} = \prod_i {\|v_i\|}$ if the $v_i$ are mutually orthogonal. \end{enumerate} We can again extend (3) to get the magnitude of the cross product of any $k$ vectors; its square is the [[determinant]] of the matrix whose $(i,j)$th entry is $v_i \cdot v_j$ (the [[Gram determinant]]), and then (1) again follows. Then for an inner product space $V$ over $\mathbb{R}$ of finite dimension $n$, we have: \begin{itemize}% \item If $k = 0$, then there is one cross product for each [[unit vector]] of $V$: none when $n = 0$, two (one for each orientation) when $n = 1$, and uncountably many when $n \geq 2$. \item If $k = 1$, then there is one cross product for each way of writing $\mathbb{R}^n$ as as $n/2$-fold [[internal direct sum]] of $2$-dimensional subspaces and orienting each subspace: one (always $0$) when $n = 0$, two (one for each orientation) when $n = 2$, uncountably many when $n = 2 k \geq 4$ (even), and none when $n = 2 k + 1$ (odd). \item If $k = 2$, then the possibilities are as listed above for binary cross products: one (always $0$) when $n = 0, 1$, two (one for each orientation) when $n = 3$, uncountably many (related to the [[octonions]]) when $n = 7$, and none when $n \ne 0, 1, 3, 7$. \item If $k = 3$, then there is one cross product (always $0$) when $n = 0, 1, 2$, two cross products (one for each orientation) when $n = 4$, uncountably many cross products (presumably also related to the [[octonions]]) when $n = 8$, and none when $n \ne 0, 1, 2, 4, 8$. \item If $4 \leq k \lt n - 1$, then there are no cross products. \item If $k = n - 1$, then there are two cross products, one for each orientation, as described above for $(n-1)$-ary cross products. \item If $k = n$, then there are no cross products. \item If $k \geq n + 1$, then there is one cross product (always $0$). \end{itemize} Or organized by dimension ($n$) rather than arity ($k$): \begin{itemize}% \item If $n = 0$, then there is no cross product when $k = 0$ and one cross product (always zero) when $k \geq 1$. \item If $n = 1$, then there are two cross products (one for each unit vector, or equivalently for each orientation) when $k = 0$, none when $k = 1$, and one (always zero) when $k \geq 2$. \item If $n = 2$, then there are uncountably many cross products (one for each unit vector) when $k = 0$, two (one for each orientation) when $k = 1$, none when $k = 2$, and one (always zero) when $k \geq 3$. \item If $n = 3$, then there are uncountably many cross products (one for each unit vector) when $k = 0$, none when $k = 1$, two (one for each orientation) when $k = 2$, none when $k = 3$, and one (always zero) when $k \geq 4$. \item If $n = 4$, then there are uncountably many cross products (one for each unit vector) when $k = 0$, uncountably many (four for each $2$-dimensional subspace) when $k = 1$, none when $k = 2$, two (one for each orientation) when $k = 3$, none when $k = 4$, and one (always zero) when $k \geq 5$. \item If $n = 5$, then there are uncountably many cross products (one for each unit vector) when $k = 0$, none when $k = 1, 2, 3$, two (one for each orientation) when $k = 4$, none when $k = 5$, and one (always zero) when $k \geq 6$. \item If $n = 6$, then there are uncountably many cross products (one for each unit vector) when $k = 0$, uncountably many (related to the $2$-dimensional decompositions) when $k = 1$, none when $k = 2, 3, 4$, two (one for each orientation) when $k = 5$, none when $k = 6$, and one (always zero) when $k \geq 7$. \item If $n = 7$, then there are uncountably many cross products (one for each unit vector) when $k = 0$, none when $k = 1$, uncountably many (related to the [[octonions]]) when $k = 2$, none when $k = 3, 4, 5$, two (one for each orientation) when $k = 6$, none when $k = 7$, and one (always zero) when $k \geq 8$. \item If $n = 8$, then there are uncountably many cross products (one for each unit vector) when $k = 0$, uncountably many (related to the $2$-dimensional decompositions) when $k = 1$, none when $k = 2, 3$, uncountably many (related to the [[octonions]]) when $k = 4$, none when $k = 5, 6$, two (one for each orientation) when $k = 7$, none when $k = 8$, and one (always zero) when $k \geq 9$. \item If $n = 2 k + 1 \geq 9$ (odd), then there are uncountably many cross products (one for each unit vector) when $k = 0$, none when $1 \leq k \lt n - 1$, two (one for each orientation) when $k = n - 1$, none when $k = n$, and one (always zero) when $k \geq n + 1$. \item If $n = 2 k \geq 10$ (even), then there are uncountably many cross products (one for each unit vector) when $k = 0$, uncountably many (related to the $2$-dimensional decompositions) when $k = 1$, none when $2 \leq k \lt n - 1$, two (one for each orientation) when $k = n - 1$, none when $k = n$, and one (always zero) when $k \geq n + 1$. \end{itemize} \hypertarget{tensorvalued}{}\subsubsection*{{Tensor-valued}}\label{tensorvalued} Fixing a field $K$, let [[Vect]] be $Vect_K$, the [[symmetric monoidal category]] of vector spaces over $K$ (with the usual [[tensor product]]), and let $T$ be any [[symmetric monoidal functor]] from $Vect$ to itself. Note that any inner product $g\colon V \otimes V \to K$ extends to an inner product $T(g)\colon T(V) \otimes T(V) \to K$ (ignoring questions of degeneracy); similarly, any element $x$ of $V$, thought of as a linear map $x\colon K \to V$, gives rise to an element $T(x)$ of $T(V)$. The vector-valued cross products above use the [[identity functor]] for $T$, but other possible choices for $T$ are $V \mapsto V \otimes V$, $V \mapsto \Lambda^2 V$, and the constant functor $V \mapsto K$. We could also take $Vect$ to be a [[full subcategory]] of $Vect_K$ closed under the tensor product, such as $Fin Vect_K$; this may allow more possibilities for $T$ in exchange for fewer possibilities for $V$. Given an inner-product space $V$ and a symmetric monoidal functor $T$, a \textbf{$T$-valued cross product} on $V$ is a multilinear function \begin{displaymath} ⨉\colon V^k \to T(V) \end{displaymath} for some natural arity $k$ such that: \begin{enumerate}% \item Alternation: $⨉(v_1,\ldots,v_k) = 0$ if $v_i = v_j$ for some $i \ne j$. \item Orthgonality: $⨉(v_1,\ldots,v_k)$ is orthogonal (in $T(V)$) to each $T(v_i)$. \item Area: ${\|⨉(v_1,\ldots,v_k)\|} = \prod_i {\|v_i\|}$ if the $v_i$ are mutually orthogonal (in $V$). \end{enumerate} Again it follows that in any case ${\|⨉(v_1,\ldots,v_k)\|}$ is a square root of the Gram determinant, and again this implies both (1) and (3). I do not know a full list of these, but one important example is the \textbf{scalar-valued binary cross product} in $2$ dimensions: \begin{displaymath} (a, b) \times (c, d) = a d - b c . \end{displaymath} Actually, this scalar-valued cross product $x \times y$ is simply the dot product $x \cdot \times{y}$, where $\times{y}$ is the unary vector-valued cross product in $2$ dimensions. (In a counterclockwise-oriented plane, it rotates a vector clockwise through a right angle.) More generally, in any number $n \geq 2$ of dimensions, there is a \textbf{multivector-valued binary cross product} whose values are $(n-2)$-[[multivectors]]; this includes the scalar-valued cross product when $n = 2$ and the classical cross product when $n = 3$, but gets more complicated for larger values of $n$. Or generalizing the scalar-valued binary cross product in a different way, the [[volume]] form on an $n$-dimensional inner-product space is a \textbf{scalar-valued $n$-ary cross product}. More generally still, combining the dot product with any vector-valued cross product produces a scalar-valued cross product of $1$ higher arity. \hypertarget{relationships}{}\subsection*{{Relationships}}\label{relationships} \hypertarget{exterior_products}{}\subsubsection*{{Exterior products}}\label{exterior_products} The cross product is also called `outer product', and both of these terms are sometimes also used for the [[exterior product]]. In its most basic form, the exterior product of two vectors $u,v$ is a [[bivector]] $u \wedge v$. But note that this is \emph{not} a bivector-valued cross product by the definition above, since it lacks orthogonality (and indeed has nothing to do with the inner product). In $3$ dimensions, given an inner product and an orientation, we can use the [[Hodge dual]] to turn this into a vector, and this is the classical cross product once more. In $2$ dimensions, using the same structure, we can turn the bivector into a [[scalar]]; this recovers the scalar-valued binary cross product above. In general, this produces the binary $(n-2)$-vector-valued cross product. Using only the inner product but not the orientation, we get (respectively) a [[pseudovector]] (sometimes called an axial vector) or a [[pseudoscalar]]; this perspective is common in [[geometric algebra]]. In general in dimension $n$, a bivector becomes an $(n-2)$-pseudo-vector, but this is not usually an simplification. In classical applications of the cross product, often not all of the structure is needed, and the exterior product is really the fundamental concept. \hypertarget{curls}{}\subsubsection*{{Curls}}\label{curls} If $M$ is a [[Riemannian manifold]], then the [[tangent space]] at each point is an [[inner product space]], so it may be possible to smoothly assign a $k$-ary cross product to these spaces. If this is done, then we can take the [[curl]] of a $(k-1)$-[[multivector|vector field]] as follows: \begin{itemize}% \item Use the metric to turn the $(k-1)$-vector field into a $(k-1)$-[[differential form|form]]. \item Take the [[exterior differential]] to get a $k$-form. \item Use the metric again to get a $k$-vector field. \item Apply the cross product to get a [[vector field]] (or more generally a [[tensor field]] for a tensor-valued cross product). \end{itemize} This vector field is the \textbf{curl} of the original $(k-1)$-vector field. This justifies the notation $\Del \times X$ for the curl. (It's important that the cross product is [[alternating form|alternating]] and [[multilinear map|multilinear]], so that it makes sense to apply it to a $k$-vector rather than to $k$ individual vectors.) When $k = 2$ and $n = 3$, there is one smooth choice of cross product for each [[orientation]] of $M$, and we recover the classical notion of curl. When $k = 1$ and $n = 2$, we may also consider the scalar-valued curl, using the scalar-valued binary cross product described above. The scalar-valued curl of a vector field $X$ is the same as the [[divergence]] of the rotated vector field $\times{X}$ (using the unary vector-valued cross product in $2$ dimensions); that is, $\Del \times X = \Del \cdot \times{X}$. \hypertarget{related_concepts}{}\subsection*{{Related concepts}}\label{related_concepts} \begin{itemize}% \item [[associative 3-form]] \end{itemize} \hypertarget{references}{}\subsection*{{References}}\label{references} \begin{itemize}% \item The English Wikipedia article \emph{\href{https://en.wikipedia.org/wiki/Seven-dimensional_cross_product}{Seven-dimensional cross product}} actually covers all non-zero vector-valued cross products in finite dimensions over the real numbers. \end{itemize} [[!redirects cross product]] [[!redirects cross products]] [[!redirects vector product]] [[!redirects vector products]] [[!redirects vector cross product]] [[!redirects vector cross products]] [[!redirects scalar cross product]] [[!redirects scalar cross products]] \end{document}