---- > [!definition] Definition. ([[nondegenerate bilinear form]]) > Let $V$ be a [[vector space]] over a [[field|field]] $\mathbb{F}$ and let $\langle -,- \rangle$ be a (say, [[symmetric multilinear map|symmetric]]) [[bilinear map|bilinear form]] on $V$. We call the form **nondegenerate** if its [[orthogonal complement|kernel]] is zero, i.e., if for all $v \in V$, the map $\langle v, - \rangle: V \to \mathbb{F}$ is the zero map if and only if $v=0$. > > > > Note that if $V$ is finite-dimensional, then the form is nondegenerate iff $v \mapsto \langle v,- \rangle$ is an [[isomorphism]] iff its [[matrix of a bilinear form|matrix]] is [[inverse matrix|invertible]]. See also [[musical isomorphism induced by a nondegenerate bilinear form]]. > > ^definition > [!generalization] > $\langle -,- \rangle$ is nondegenerate precisely when $(V, V, \langle -,- \rangle)$ is a [[orthogonal complement|dual pair]]. ^generalization > [!note] Remark. > We can always turn a degenerate [[bilinear map|bilinear form]] $B(\_,\_)$ into a nondegenerate one $\langle \_,\_ \rangle$ by [[quotient set|quotienting]]. For simplicity we assume [[symmetric multilinear map|symmetric]]. > > ```tikz > \usepackage{tikz-cd} > \usepackage{amsmath} > \usepackage{amsfonts} > \usepackage[mathscr]{euscript} > \usepackage{tikzit} > \usetikzlibrary{shapes.geometric} > > \begin{document} > % TiKZ style file generated by TikZiT. You may edit this file manually, > % but some things (e.g. comments) may be overwritten. To be readable in > % TikZiT, the only non-comment lines must be of the form: > % \tikzstyle{NAME}=[PROPERTY LIST] > > % Node styles > \tikzstyle{red dot}=[fill={rgb,255: red,191; green,0; blue,64}, draw=black, shape=circle] > \tikzstyle{green dot}=[fill={rgb,255: red,0; green,128; blue,128}, draw=black, shape=circle] > \tikzstyle{rectangle}=[fill=white, draw=black, shape=rectangle] > \tikzstyle{triangle}=[fill=white, draw=black, regular polygon sides=3, regular polygon, shape=regular polygon, tikzit shape=regular polygon, shape border rotate=180, minimum size=5mm, inner sep=0pt] > \tikzstyle{bullet}=[fill=black, draw=black, shape=circle, minimum size=2mm, inner sep=0pt] > \tikzstyle{noborder}=[fill=none, draw=none, shape=circle] > \tikzstyle{widerectangle}=[fill=white, draw=black, shape=rectangle, minimum width=16mm, minimum height=4mm, inner sep=1pt, tikzit shape=rectangle] > > % Edge styles > \tikzstyle{new edge style 0}=[-] > > > > > %% paste tikzpicture here > % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZABgBpiBdUkANwEMAbAVxiRADUQBfU9TXfIRQBGclVqMWbdgD0AVN14gM2PASJlh4+s1aIOAegA6RgNYwATgAIAQt3EwoAc3hFQAMwsQAtkjIgcCCRRCV02GisTbzo0OEDbAAoaUkijAH0ASkUPL19Ef0CkACYeHJ9i6kLEEIYsMD0QKDo4AAtHEGodKX0TGAAPLDi4KwBCVIgaS1r64BN3BjocLg6QBYAjGAYABX41IRALLCcWnHsuIA > \begin{tikzcd} > V \arrow[r, "{v \mapsto B(v, \_)}"] \arrow[d] & V^* \\ > V/\ker B \arrow[ru, "\exists ! \overline{\flat}"', dashed, hook] & > \end{tikzcd} > %% end paste > > \end{document} > ``` > > Then can moreover use [[dual of quotient is annihilator]] to naturally identify $\overline{\flat}$ with $\flat:V/\operatorname{ker }B \to (V/\operatorname{ker }B)^{*}$: > > ```tikz > \usepackage{tikz-cd} > \usepackage{amsmath} > \usepackage{amsfonts} > \usepackage[mathscr]{euscript} > \usepackage{tikzit} > \usetikzlibrary{shapes.geometric} > > \begin{document} > % TiKZ style file generated by TikZiT. You may edit this file manually, > % but some things (e.g. comments) may be overwritten. To be readable in > % TikZiT, the only non-comment lines must be of the form: > % \tikzstyle{NAME}=[PROPERTY LIST] > > % Node styles > \tikzstyle{red dot}=[fill={rgb,255: red,191; green,0; blue,64}, draw=black, shape=circle] > \tikzstyle{green dot}=[fill={rgb,255: red,0; green,128; blue,128}, draw=black, shape=circle] > \tikzstyle{rectangle}=[fill=white, draw=black, shape=rectangle] > \tikzstyle{triangle}=[fill=white, draw=black, regular polygon sides=3, regular polygon, shape=regular polygon, tikzit shape=regular polygon, shape border rotate=180, minimum size=5mm, inner sep=0pt] > \tikzstyle{bullet}=[fill=black, draw=black, shape=circle, minimum size=2mm, inner sep=0pt] > \tikzstyle{noborder}=[fill=none, draw=none, shape=circle] > \tikzstyle{widerectangle}=[fill=white, draw=black, shape=rectangle, minimum width=16mm, minimum height=4mm, inner sep=1pt, tikzit shape=rectangle] > > % Edge styles > \tikzstyle{new edge style 0}=[-] > > > > > %% paste tikzpicture here > % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZABgBpiBdUkANwEMAbAVxiRADUQBfU9TXfIRQBGclVqMWbdgD0AVN14gM2PASKjh4+s1aIQACgA6RgNYwATgAIAQgEoZJgMZYLTxX1WCiZAEzbJPRATADMLOidgdi5gE3NrGy4PZX41IWRRf2odKX1jIzCIqJi4y1suBwUucRgoAHN4IlAwiABbJDIQHAgkYR5mizaO6m6kAGZ+kBb2xDGRnsQAFmoGOgAjGAYABVTvfQssOoALHBBswLZQ1dPqOCOsENPEYknp8fmkZYldS6Nsdtegxmvg+iFEXToWAYbCOEAgpmSb0QIK6Cy+OSCJn+iKB71RSBRGN+MAAHlg4Dg4FYAIQmCA0SwMLBgGCxArXJIrdabHZedT7Q4nM4gJksthQOh3WrcChcIA > \begin{tikzcd} > V \arrow[r] \arrow[dd] & V^* \\ > & (\ker B)^\circ \arrow[u, hook] \arrow[d, "\sim"] \\ > \frac{V}{\ker B} \arrow[r, "\flat"'] \arrow[r, "\sim"] \arrow[ru, "\exists !\overline{\flat}"', dashed] & (\frac{V}{\ker B})^* > \end{tikzcd} > %% end paste > > \end{document} > ``` > > > Now the [[the tensor product is left-adjoint to hom|tensor-hom adjunction]] [[universal property|universally]] converts the [[linear map|linear map]] $\frac{V}{\operatorname{ker }B} \xrightarrow{\flat}\left( \frac{V}{\operatorname{ker }B} \right)^{*}$ into a [[bilinear map|bilinear form]] $\overline{B}$ on $\frac{V}{\operatorname{ker }B}$, and $\overline{B}$ is [[nondegenerate bilinear form|nondegenerate]] since $\flat$ is an [[isomorphism|isomorphism]] onto its image. Tracing through the identifications, we see that $\overline{B}$ is (well-)defined as $\overline{B}([v], [w])=B(v, w)$. Note that the original and quotiented spaces are isometric. > [^1]: Since $V$ finite-dimensional, $\dim V=\dim V^{*}$ and checking this claim amounts to checking that the kernel of $v \mapsto \langle v,- \rangle$ is trivial. But this ---- #### ---- #### References > [!backlink] > ```dataview > TABLE rows.file.link as "Further Reading" > FROM [[]] > FLATTEN file.tags as Tag > WHERE Tag = "#definition" OR Tag = "#theorem" OR Tag = "#MOC" OR Tag = "#proposition" OR Tag = "#axiom" > GROUP BY Tag > ``` > [!frontlink] > ```dataview > TABLE rows.file.link as "Further Reading" > FROM outgoing([[]]) > FLATTEN file.tags as Tag > WHERE Tag = "#definition" OR Tag = "#theorem" OR Tag = "#MOC" OR Tag = "#proposition" OR Tag = "#axiom" > GROUP BY Tag > ```