%%% This package formats solution sets for %%% Harvard Math 126, Fall 1998 %%% %%% by Nils Barth %%% nbarth@fas.harvard.edu %%% \NeedsTeXFormat{LaTeX2e}[1994/06/01] \ProvidesClass{math126}% [1999/02/05 Harvard Math 126 Fall 1998 Solution Set] %%% Pass options to homework.cls, and load homework.cls \DeclareOption*{\PassOptionsToClass{\CurrentOption}{homework}} \ProcessOptions \PassOptionsToClass{enum, solutionset}{homework} \LoadClass{homework}[1999/02/05] \coursename{Math 126} %\RequirePackage[euler]{mathalph} %\RequirePackage{algebra, misc, sets, theorems} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Included copies packages at the time, in case they change %%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% mathalph[euler] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{euler}\RequirePackage{eucal} %%% Bold Face % \H \L \O \P \S are already defined \newcommand{\bA}{{\mathbf A}} \newcommand{\bB}{{\mathbf B}} \newcommand{\bC}{{\mathbf C}} \newcommand{\bD}{{\mathbf D}} \newcommand{\bE}{{\mathbf E}} \newcommand{\bF}{{\mathbf F}} \newcommand{\bG}{{\mathbf G}} \newcommand{\bH}{{\mathbf H}} \newcommand{\bI}{{\mathbf I}} \newcommand{\bJ}{{\mathbf J}} \newcommand{\bK}{{\mathbf K}} \newcommand{\bL}{{\mathbf L}} \newcommand{\bM}{{\mathbf M}} \newcommand{\bN}{{\mathbf N}} \newcommand{\bO}{{\mathbf O}} \newcommand{\bP}{{\mathbf P}} \newcommand{\bQ}{{\mathbf Q}} \newcommand{\bR}{{\mathbf R}} \newcommand{\bS}{{\mathbf S}} \newcommand{\bT}{{\mathbf T}} \newcommand{\bU}{{\mathbf U}} \newcommand{\bV}{{\mathbf V}} \newcommand{\bW}{{\mathbf W}} \newcommand{\bX}{{\mathbf X}} \newcommand{\bY}{{\mathbf Y}} \newcommand{\bZ}{{\mathbf Z}} %%% Caligraphic \newcommand{\cA}{{\mathcal A}} \newcommand{\cB}{{\mathcal B}} \newcommand{\cC}{{\mathcal C}} \newcommand{\cD}{{\mathcal D}} \newcommand{\cE}{{\mathcal E}} \newcommand{\cF}{{\mathcal F}} \newcommand{\cG}{{\mathcal G}} \newcommand{\cH}{{\mathcal H}} \newcommand{\cI}{{\mathcal I}} \newcommand{\cJ}{{\mathcal J}} \newcommand{\cK}{{\mathcal K}} \newcommand{\cL}{{\mathcal L}} \newcommand{\cM}{{\mathcal M}} \newcommand{\cN}{{\mathcal N}} \newcommand{\cO}{{\mathcal O}} \newcommand{\cP}{{\mathcal P}} \newcommand{\cQ}{{\mathcal Q}} \newcommand{\cR}{{\mathcal R}} \newcommand{\cS}{{\mathcal S}} \newcommand{\cT}{{\mathcal T}} \newcommand{\cU}{{\mathcal U}} \newcommand{\cV}{{\mathcal V}} \newcommand{\cW}{{\mathcal W}} \newcommand{\cX}{{\mathcal X}} \newcommand{\cY}{{\mathcal Y}} \newcommand{\cZ}{{\mathcal Z}} %%% Fraktur \newcommand{\fA}{{\mathfrak A}} \newcommand{\fB}{{\mathfrak B}} \newcommand{\fC}{{\mathfrak C}} \newcommand{\fD}{{\mathfrak D}} \newcommand{\fE}{{\mathfrak E}} \newcommand{\fF}{{\mathfrak F}} \newcommand{\fG}{{\mathfrak G}} \newcommand{\fH}{{\mathfrak H}} \newcommand{\fI}{{\mathfrak I}} \newcommand{\fJ}{{\mathfrak J}} \newcommand{\fK}{{\mathfrak K}} \newcommand{\fL}{{\mathfrak L}} \newcommand{\fM}{{\mathfrak M}} \newcommand{\fN}{{\mathfrak N}} \newcommand{\fO}{{\mathfrak O}} \newcommand{\fP}{{\mathfrak P}} \newcommand{\fQ}{{\mathfrak Q}} \newcommand{\fR}{{\mathfrak R}} \newcommand{\fS}{{\mathfrak S}} \newcommand{\fT}{{\mathfrak T}} \newcommand{\fU}{{\mathfrak U}} \newcommand{\fV}{{\mathfrak V}} \newcommand{\fW}{{\mathfrak W}} \newcommand{\fX}{{\mathfrak X}} \newcommand{\fY}{{\mathfrak Y}} \newcommand{\fZ}{{\mathfrak Z}} \newcommand{\fa}{{\mathfrak a}} \newcommand{\fb}{{\mathfrak b}} \newcommand{\fc}{{\mathfrak c}} \newcommand{\fd}{{\mathfrak d}} \newcommand{\fe}{{\mathfrak e}} \newcommand{\ff}{{\mathfrak f}} \newcommand{\fg}{{\mathfrak g}} \newcommand{\fh}{{\mathfrak h}} \newcommand{\Fi}{{\mathfrak i}} % Damn! \newcommand{\fj}{{\mathfrak j}} \newcommand{\fk}{{\mathfrak k}} \newcommand{\fl}{{\mathfrak l}} \newcommand{\fm}{{\mathfrak m}} \newcommand{\fn}{{\mathfrak n}} \newcommand{\fo}{{\mathfrak o}} \newcommand{\fp}{{\mathfrak p}} \newcommand{\fq}{{\mathfrak q}} \newcommand{\fr}{{\mathfrak r}} \newcommand{\fs}{{\mathfrak s}} \newcommand{\ft}{{\mathfrak t}} \newcommand{\fu}{{\mathfrak u}} \newcommand{\fv}{{\mathfrak v}} \newcommand{\fw}{{\mathfrak w}} \newcommand{\fx}{{\mathfrak x}} \newcommand{\fy}{{\mathfrak y}} \newcommand{\fz}{{\mathfrak z}} %%% algebra %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% Algebraic Geometry --------------------------------------------- \DeclareMathOperator{\Spec}{Spec} % Spectrum \DeclareMathOperator{\MSpec}{MSpec} % Maximum Spectrum \DeclareMathOperator{\Pic}{Pic} % Picard Group %%% Category Theory ------------------------------------------------ \DeclareMathOperator{\Hom}{Hom} % Homomorphisms \DeclareMathOperator{\Aut}{Aut} % Automorphisms \DeclareMathOperator{\End}{End} % Endomorphisms \DeclareMathOperator{\Id}{Id} % The Identity Map \DeclareMathOperator{\Obj}{Obj} % Objects \DeclareMathOperator{\Mor}{Mor} % Morphisms % \DeclareMathOperator{\ker}{ker} % Kernal -- already in AMS-LaTeX \DeclareMathOperator{\coker}{coker} % Cokernal \DeclareMathOperator{\im}{im} % Image %%% Field Theory ---------------------------------------------------- \DeclareMathOperator{\Gal}{Gal} % Galois Group %%% Group Theory ---------------------------------------------------- \DeclareMathOperator{\Out}{Out} % Outer Automorphisms \DeclareMathOperator{\Inn}{Inn} % Inner Automorphisms \def\GrpGen<#1>{\left<#1\right>} % Group by generators % Normal subgroup \newcommand{\normsub}{\vartriangleleft} \newcommand{\subnorm}{\vartriangleright} %%% Linear Algebra -------------------------------------------------- \DeclareMathOperator{\ann}{ann} % Annihilator %\DeclareMathOperator{\dim}{dim} % Dimension -- already \def'ined \DeclareMathOperator{\rank}{rank} % Rank \DeclareMathOperator{\Span}{span} % Span -- note that \span % already means something \DeclareMathOperator{\tr}{tr} % Trace %\DeclareMathOperator{\det}{det} % Determinant -- already \def'ined %% Linear Groups % For consistency, so I don't get GL_n and Gl_n mixed up %%%%% In fact, I should really make this %%%%% \newcommand{\GL}[2][]{GL_{#1}\left(#2\right)} %%%%% or %%%%% \newcommand{\GL}[2][]{GL\left(#1, #2\right)} %%%%% with suitable dealing with the case \GL{V} %%%%% (and a nicer TeX way would be to have \GL(V) -- ha!) \newcommand{\GL}{GL} \newcommand{\SL}{SL} \newcommand{\SO}{SO} \newcommand{\SU}{SU} %%% Number Theory --------------------------------------------------- \DeclareMathOperator{\lcm}{lcm} % Least Common Multiple %\DeclareMathOperator{\gcd}{gcd} % Greatest Common Divisor % -- already in AMS-LaTeX \DeclareMathSymbol{\divides}{\mathbin}{symbols}{"6A} \DeclareMathSymbol{\ndivides}{\mathbin}{AMSb}{"2D} \newcommand{\residue}[1]{\overline{#1}} %%% Representation Theory ------------------------------------------- \DeclareMathOperator{\Res}{Res} % Restriction \DeclareMathOperator{\Ind}{Ind} % Induced %% Character tables \RequirePackage{float} % Standard; for nice character tables \floatstyle{plain} \newfloat{CharTable}{ht}{aux} \floatname{CharTable}{\textsc{Character Table}} \newfloat{PCharTable}{ht}{aux} \floatname{PCharTable}{\textsc{Partial Character Table}} \newfloat{Char}{ht}{aux} \floatname{Char}{\textsc{Character}} \newfloat{Chars}{ht}{aux} \floatname{Char}{\textsc{Characters}} % Use \SP to get correct spacing for negative signs \newlength{\negativesign} \settowidth{\negativesign}{$-$} \newcommand{\SP}{\hspace{\negativesign}} %%% Ring Theory ----------------------------------------------------- \DeclareMathOperator{\charstc}{char} % Characteristic -- note that \char % (and, it seems, \Char) % already means something %\DeclareMathOperator{\deg}{deg} % Degree -- already in AMS-LaTeX %%% Common %% Opposite (ring, group) \newcommand{\op}[1]{#1^{\text{op}}} %%% misc %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{amssymb} % For \twoheadrightarrow, \nexists \def\nsubset{\not\subset} % I should get rid of this, % and make a noeq option, which % should be default. \newcommand{\nequiv}{\not\equiv} \def\phi{\varphi} \def\theta{\vartheta} \newcommand{\del}{\partial} \newcommand{\Ddots}{\mathinner{\mkern1mu\raise\p@\vbox{\kern7\p@\hbox{.}}% \mkern2mu\raise4\p@\hbox{.}\mkern2mu\raise7\p@\hbox{.}\mkern1mu}} % Diagonal dots going in the other direction %\DeclareSymbolFont{symbols} {OMS}{cmsy}{m}{n} %\SetSymbolFont{symbols} {bold}{OMS}{cmsy}{b}{n} %\DeclareSymbolFont{largesymbols}{OMX}{cmex}{m}{n} %\DeclareMathSymbol{\mapstochar}{\mathrel}{symbols}{"37} \def\mapsfrom{\DOTSB\leftarrow\!\mapstochar} \let\tomaps\mapsfrom \def\longmapsfrom{\DOTSB\longleftarrow\!\mapstochar} \let\longtomaps\longmapsfrom \newcommand{\ie}{i.e.,\ } \newcommand{\eg}{e.g.,\ } \newcommand{\floor}[1]{\left\lfloor#1\right\rfloor} \newcommand{\Langle}{\left<} \newcommand{\Rangle}{\right>} \newcommand{\Lvert}{\left\lvert} \newcommand{\Rvert}{\right\rvert} \newcommand{\LVert}{\left\lVert} \newcommand{\RVert}{\right\rVert} %%% Small matricies \newenvironment{psmallmatrix} {\left(\begin{smallmatrix}} {\end{smallmatrix}\right)} \newenvironment{bsmallmatrix} {\left[\begin{smallmatrix}} {\end{smallmatrix}\right]} \newenvironment{Bsmallmatrix} {\left\{\begin{smallmatrix}} {\end{smallmatrix}\right\}} \newenvironment{vsmallmatrix} {\left\lvert\begin{smallmatrix}} {\end{smallmatrix}\right\rvert} \newenvironment{Vsmallmatrix} {\left\lVert\begin{smallmatrix}} {\end{smallmatrix}\right\rVert} %% Reminder \newcommand{\remind}[1]{\marginpar{\raggedright\tiny{\emph{#1}}}\typeout{#1}} %% Map commands, so you can write % \map f:X->Y, % instead of % f\colon X\to Y, % the result being more readable TeX \def\map#1:#2->#3{#1\colon #2\to #3} \def\maps#1->#2{#1 \to #2} \def\mapssurj#1->>#2{#1 \twoheadrightarrow #2} \def\lmap#1:#2<-#3{#1\colon #2\leftarrow #3} \def\mapo#1-#2->#3{#1\overset{#2}{\to}#3} \def\mapinj#1:#2(->#3{#1\colon #2\hookrightarrow #3} \def\mapsur#1:#2->>#3{#1\colon #2\twoheadrightarrow #3} \def\mapbij#1:#2<->#3{#1\colon #2\leftrightarrow #3} \def\mapiso#1:#2-~->#3{#1\colon #2\overset{\sim}{\to} #3} \def\iso={\cong} %%%%% Replaced by \ip[]{}{} % \def\ip<#1,#2>{\left<#1, #2\right>} \newcommand{\ip}[3][0]{ \ifthenelse{#1=0}{\left<#2,#3\right>}{ \ifthenelse{#1=1}{\left(#2,#3\right)}{ \ifthenelse{#1=2}{\left(#2\vert #3\right)}{ \typeout{Delimiter size too big} % I should make this an error }}}} %%% Kill this -- replace by \normsub %\newcommand{\nsgrp}{\triangleleft} \def\degrees{^{\circ}} \newcommand{\restrict}[1]{\vert_{#1}} \newcommand{\evaluate}[1]{\vert_{#1}} % Indexing \newcommand{\Index}[1]{#1\index{#1}} % In general, you can index thus \newcommand{\Def}[2][0]{\textsc{#2}% \ifthenelse{#1=0}{\index{#2|textbf}}{\index{#1|textbf}}} %%% These need _massive_ work \newcommand{\QED}{$$\qedsymbol$$} %%%%% Replace all $$\QED$$ with \QED %%%%% These have been replaced %\def\inj{\hookrightarrow} %\newcommand{\SURJ}{\twoheadrightarrow} \newcommand{\injects}{\hookrightarrow} \newcommand{\surjects}{\twoheadrightarrow} % Algebraic Objects \newcommand{\Poly}[1]{{\mathcal P}^{#1}} %\newcommand{\NAT}{{\mathbf N}} -- replace with \N %\newcommand{\ZINT}{{\mathbf Z}} -- replace with \Z %\newcommand{\QR}{{\mathbf Q}} -- replace with \Q %\newcommand{\RE}{{\mathbf R}} -- replace with \R %\newcommand{\CO}{{\mathbf C}} -- replace with \C \newcommand{\COH}{\widehat{\bC}} % \newcommand{\C}[1]{{\mathcal C}^{#1}} % \newcommand{\M}{{\mathcal M}} -- replace with \cM % \newcommand{\Half}{{\mathbf H}} -- replace with \H %%% sets %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{ifthen} % For delimiters \def\emptyset{\varnothing} % I prefer this emptyset %%%%% Fix all my \Null!!!!! \newcommand{\compliment}[1]{{#1}^c} \newcommand{\closure}[1]{\overline{#1}} \newcommand{\interior}[1]{{#1^\circ}} \newcommand{\varinterior}[1]{\overset{\circ}{#1}} % Cardinality \DeclareMathOperator{\card}{card} %\newcommand{\card}[1]{\left|#1\right|} %% This is kinda inelegant -- I shouldn't need to space manually %%%%% Oops -- this doesn't work with Euler %\DeclareMathDelimiter{\miid} % {\mathrel}{symbols}{"6A}{largesymbols}{"0C} %\let\mid\undefined %\newcommand{\mid}[1][0]{ %\ifthenelse{#1=0}{\miid}{ %\ifthenelse{#1=1}{{\:\big\miid\:}}{ %\ifthenelse{#1=2}{{\:\Big\miid\:}}{ %\ifthenelse{#1=3}{{\:\bigg\miid\:}}{ %\ifthenelse{#1=4}{{\:\Bigg\miid\:}}{ %\typeout{Delimiter size too big} % I should make this an error %}}}}}} \newcommand{\compose}{\circ} %\newcommand{\set}[1]{\left\{#1\right\}} %\def\seq<#1>{\left<#1\right>} -- okay, this is bad and non-LaTeX \newcommand{\set}[2][0]{ \ifthenelse{#1=0}{\left\{#2\right\}}{ \ifthenelse{#1=1}{\{#2\}}{ \ifthenelse{#1=2}{\big\{#2\big\}}{ \ifthenelse{#1=3}{\Big\{#2\Big\}}{ \ifthenelse{#1=4}{\bigg\{#2\bigg\}}{ \ifthenelse{#1=5}{\Bigg\{#2\Bigg\}}{ \typeout{Delimiter size too big} % I should make this an error }}}}}}} \newcommand{\seq}[2][0]{ \ifthenelse{#1=0}{\left<#2\right>}{ \ifthenelse{#1=1}{\langle#2\rangle}{ \ifthenelse{#1=2}{\big\langle#2\big\rangle}{ \ifthenelse{#1=3}{\Big\langle#2\Big\rangle}{ \ifthenelse{#1=4}{\bigg\langle#2\bigg\rangle}{ \ifthenelse{#1=5}{\Bigg\langle#2\Bigg\rangle}{ \typeout{Delimiter size too big} % I should make this an error }}}}}}} \newcommand{\abs}[1]{\left\lvert#1\right\rvert} \newcommand{\norm}[1]{\left\lVert#1\right\rVert} \newcommand{\Norm}{\norm{\,\cdot\,}} \newcommand{\lparen}{\left(} \newcommand{\rparen}{\right)} \newcommand{\Lfloor}{\left\lfloor} \newcommand{\Rfloor}{\right\rfloor} \newcommand{\power}{\cP} \newcommand{\OR}{\vee} \newcommand{\AND}{\wedge} % \newcommand{\OR}{\text{ or }} % \newcommand{\AND}{\text{ and }} \newcommand{\NOT}{\neg} % \newcommand{\NOT}{\sim} \newcommand{\nin}{\notin} \newcommand{\nni}{\notni} \newcommand{\nimplies}{\notimplies} % \newcommand{\nexists}{\not\exists} % \newcommand{\seilpmi}{\Leftarrow} \newcommand{\pto}{\rightharpoonup} % Partial function %%% theorems %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \RequirePackage{amsthm} % Subordinates equation numbering to section %%% Oops--I don't want this for problem sets! %%% Instead, I want it within problems... %%% I should add an option... %\numberwithin{equation}{section} % Put theorem numbers on the left \swapnumbers % Ties theorem numbering to equation numbering \theoremstyle{plain} \newtheorem{thm}[equation]{Theorem} \newtheorem{lem}[equation]{Lemma} \newtheorem{prop}[equation]{Proposition} \newtheorem{cor}[equation]{Corollary} \newtheorem{conj}[equation]{Conjecture} \newtheorem{claim}[equation]{Claim} % If you prefer theorems to be numbered independently of equations: %\newtheorem{thm}{Theorem}[section] %\newtheorem{lem}[thm]{Lemma} %\newtheorem{prop}[thm]{Proposition} %\newtheorem{cor}[thm]{Corollary} %\newtheorem{conj}[thm]{Conjecture} \theoremstyle{definition} \newtheorem{defn}[equation]{Definition} \newtheorem{exmp}[equation]{Example} %\newtheorem{exmp}{Example}[section] \newtheorem{prob}[equation]{Exercise} \theoremstyle{remark} \newtheorem*{rmk}{Remark} \newtheorem*{note}{Note} % Referencing \newcommand{\thmref}[1]{\eqref{thm:#1}} \newcommand{\lemref}[1]{\eqref{lem:#1}} \newcommand{\propref}[1]{\eqref{prop:#1}} \newcommand{\corref}[1]{\eqref{cor:#1}} \newcommand{\secref}[1]{section~\ref{sec:#1}} \newcommand{\Secref}[1]{Section~\ref{sec:#1}} % If you like verbose referencing %\newcommand{\thmref}[1]{Theorem~\ref{thm:#1}} %\newcommand{\lemref}[1]{Lemma~\ref{lem:#1}} %\newcommand{\propref}[1]{Proposition~\ref{prop:#1}} %\newcommand{\corref}[1]{Corollary~\ref{cor:#1}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Number the (partial) character tables within the problem set \numberwithin{CharTable}{problemset} \numberwithin{PCharTable}{problemset}