Characteristic numbers of a homogeneous space\\ %\medskip %(Nombres caract\'eristiques d'un espace homog\`ene)
Loring W. Tu
Let $G$ be a compact connected Lie group with maximal torus $T$, and $H$ a closed subgroup containing $T$. We work out the Atiyah-Bott-Berline-Vergne localization formula for the homogeneous space $G/H$ under the natural action of the maximal torus $T$. The computation gives explicit formulas for the ordinary and equivariant characteristic numbers of a homogeneous space.%\\ % %\medskip %\noindent %{\sc R\'esum\'e}. %Soit $G$ un groupe de Lie connexe compact, %muni d'un tore maximal $T$, et soit $H$ %un sous-groupe qui contient $T$. % Nous \'etudions la formule de localisation % d'Atiyah-Bott-Berline-Vergne pour l'espace % homog�ne $G/H$ sous l'action naturelle du % tore maximal $T$. Le calcul donne des % formules explicites pour les nombres % caract\'eristiques ordinaires et % \'equivariantes d'un espace homog\`ene.
math0102013.tex
%This file is in AMS-LaTeX.
%It requires the input of another file, diagram.tex, which typesets
%commutative diagrams.

% MSC 57: Differential topology; MSC: 55: algebraic topology;
% 57R20: characteristic classes and numbers; 14M17: homogeneous spaces
% 55N25: equivariant cohomology; 14C17: intersection theory, characteristic classes

%\documentclass[a4paper,11pt]{amsart}

\documentclass{amsart}
\usepackage{amsmath,amssymb,amscd}
\usepackage{eucal}

%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  This should appear in a file named diagram.tex
%         Copyright 1988,1989 Michael Barr
%         Department of Mathematics and Statistics
%         McGill University
%         805 Sherbrooke St., W
%         Montreal, Quebec, Canada
%         H3P 1S4
%
%         barr@triples.math.mcgill.ca
%
%         All commercial rights reserved.  May be freely distributed
%         and used with the following exceptions:
%         1. No commercial use without explicit permission.
%         2. It may not be used by any employee of a telephone
%         company.
%         3. It may not be distributed without this notice.
%
%         Last revised 91-05-04
 
% Ascii character test:
%  32:     33: !   34: "   35: #   36: $   37: %   38: &   39: '
%  40: (   41: )   42: *   43: +   44: ,   45: -   46: .   47: /
%  48: 0   49: 1   50: 2   51: 3   52: 4   53: 5   54: 6   55: 7
%  56: 8   57: 9   58: :   59: ;   60: <   61: =   62: >   63: ?
%  64: @   65: A   66: B   67: C   68: D   69: E   70: F   71: G
%  72: H   73: I   74: J   75: K   76: L   77: M   78: N   79: O
%  80: P   81: Q   82: R   83: S   84: T   85: U   86: V   87: W
%  88: X   89: Y   90: Z   91: [   92: \   93: ]   94: ^   95: _
%  96: `   97: a   98: b   99: c  100: d  101: e  102: f  103: g
% 104: h  105: i  106: j  107: k  108: l  109: m  110: n  111: o
% 112: p  113: q  114: r  115: s  116: t  117: u  118: v  119: w
% 120: x  121: y  122: z  123: {  124: |  125: }  126: ~
 
 
\makeatletter
 
\def\diagram{\m@th\leftwidth=\z@ \rightwidth=\z@ \topheight=\z@
\botheight=\z@ \setbox\@picbox\hbox\bgroup}
 
\def\enddiagram{\egroup\wd\@picbox\rightwidth\unitlength
\ht\@picbox\topheight\unitlength \dp\@picbox\botheight\unitlength
\hskip\leftwidth\unitlength\box\@picbox}
 
\def\bfig{\begin{diagram}}
\def\efig{\end{diagram}}
\newcount\wideness \newcount\leftwidth \newcount\rightwidth
\newcount\highness \newcount\topheight \newcount\botheight
 
\def\ratchet#1#2{\ifnum#1<#2 \global #1=#2 \fi}
 
\def\putbox(#1,#2)#3{%
\horsize{\wideness}{#3} \divide\wideness by 2
{\advance\wideness by #1 \ratchet{\rightwidth}{\wideness}}
{\advance\wideness by -#1 \ratchet{\leftwidth}{\wideness}}
\vertsize{\highness}{#3} \divide\highness by 2
{\advance\highness by #2 \ratchet{\topheight}{\highness}}
{\advance\highness by -#2 \ratchet{\botheight}{\highness}}
\put(#1,#2){\makebox(0,0){$#3$}}}
 
\def\putlbox(#1,#2)#3{%
\horsize{\wideness}{#3}
{\advance\wideness by #1 \ratchet{\rightwidth}{\wideness}}
{\ratchet{\leftwidth}{-#1}}
\vertsize{\highness}{#3} \divide\highness by 2
{\advance\highness by #2 \ratchet{\topheight}{\highness}}
{\advance\highness by -#2 \ratchet{\botheight}{\highness}}
\put(#1,#2){\makebox(0,0)[l]{$#3$}}}
 
\def\putrbox(#1,#2)#3{%
\horsize{\wideness}{#3}
{\ratchet{\rightwidth}{#1}}
{\advance\wideness by -#1 \ratchet{\leftwidth}{\wideness}}
\vertsize{\highness}{#3} \divide\highness by 2
{\advance\highness by #2 \ratchet{\topheight}{\highness}}
{\advance\highness by -#2 \ratchet{\botheight}{\highness}}
\put(#1,#2){\makebox(0,0)[r]{$#3$}}}
 
 
\def\adjust[#1]{} % For compatibility
 
\newcount \coefa
\newcount \coefb
\newcount \coefc
\newcount\tempcounta
\newcount\tempcountb
\newcount\tempcountc
\newcount\tempcountd
\newcount\xext
\newcount\yext
\newcount\xoff
\newcount\yoff
\newcount\gap%
\newcount\arrowtypea
\newcount\arrowtypeb
\newcount\arrowtypec
\newcount\arrowtyped
\newcount\arrowtypee
\newcount\height
\newcount\width
\newcount\xpos
\newcount\ypos
\newcount\run
\newcount\rise
\newcount\arrowlength
\newcount\halflength
\newcount\arrowtype
\newdimen\tempdimen
\newdimen\xlen
\newdimen\ylen
\newsavebox{\tempboxa}%
\newsavebox{\tempboxb}%
\newsavebox{\tempboxc}%
 
\newdimen\w@dth
 
\def\setw@dth#1#2{\setbox\z@\hbox{\m@th$#1$}\w@dth=\wd\z@
\setbox\@ne\hbox{\m@th$#2$}\ifnum\w@dth<\wd\@ne \w@dth=\wd\@ne \fi
\advance\w@dth by 1.2em}
 
%The definitions below look more elaborate than they need to be.
%The reason is that an empty asscript will still cause extra vertical
%spacing and the only way to avoid ugly extra space seems to be using
%some such method as this.
 
\def\t@^#1_#2{\allowbreak\def\n@one{#1}\def\n@two{#2}\mathrel
{\setw@dth{#1}{#2}
\mathop{\hbox to \w@dth{\rightarrowfill}}\limits
\ifx\n@one\empty\else ^{\box\z@}\fi
\ifx\n@two\empty\else _{\box\@ne}\fi}}
%\def\t@^#1_#2{\mathrel{\mathop{\hbox{\rightarrowfill}}\limits
%^{\mkern12mu#1\mkern12mu}_{\mkern12mu#2\mkern12mu}}}
\def\t@@^#1{\@ifnextchar_{\t@^{#1}}{\t@^{#1}_{}}}
\def\to{\@ifnextchar^{\t@@}{\t@@^{}}}
 
\def\t@left^#1_#2{\def\n@one{#1}\def\n@two{#2}\mathrel{\setw@dth{#1}{#2}
\mathop{\hbox to \w@dth{\leftarrowfill}}\limits
\ifx\n@one\empty\else ^{\box\z@}\fi
\ifx\n@two\empty\else _{\box\@ne}\fi}}
%\def\t@left^#1_#2{\mathrel{\mathop{\hbox{\leftarrowfill}}\limits
%^{\mkern12mu#1\mkern12mu}_{\mkern12mu#2\mkern12mu}}}
\def\t@@left^#1{\@ifnextchar_{\t@left^{#1}}{\t@left^{#1}_{}}}
\def\toleft{\@ifnextchar^{\t@@left}{\t@@left^{}}}
 
\def\two@^#1_#2{\allowbreak
\def\n@one{#1}\def\n@two{#2}\mathrel{\setw@dth{#1}{#2}
\mathop{\vcenter{\lineskip\z@\baselineskip\z@
                 \hbox to \w@dth{\rightarrowfill}%
                 \hbox to \w@dth{\rightarrowfill}}%
       }\limits
\ifx\n@one\empty\else ^{\box\z@}\fi
\ifx\n@two\empty\else _{\box\@ne}\fi}}
\def\tw@@^#1{\@ifnextchar _{\two@^{#1}}{\two@^{#1}_{}}}
\def\two{\@ifnextchar ^{\tw@@}{\tw@@^{}}}
 
\def\tofr@^#1_#2{\def\n@one{#1}\def\n@two{#2}\mathrel{\setw@dth{#1}{#2}
\mathop{\vcenter{\hbox to \w@dth{\rightarrowfill}\kern-1.7ex
                 \hbox to \w@dth{\leftarrowfill}}%
       }\limits
\ifx\n@one\empty\else ^{\box\z@}\fi
\ifx\n@two\empty\else _{\box\@ne}\fi}}
\def\t@fr@^#1{\@ifnextchar_ {\tofr@^{#1}}{\tofr@^{#1}_{}}}
\def\tofro{\@ifnextchar^ {\t@fr@}{\t@fr@^{}}}
 
\def\epi{\mathop{\mathchar"221\mkern -12mu\mathchar"221}\limits}
\def\leftepi{\mathop{\mathchar"220\mkern -12mu\mathchar"220}\limits}
\def\mon{\mathop{\m@th\hbox to
      14.6\P@{\lasyb\char'51\hskip-2.1\P@$\arrext$\hss
$\mathord\rightarrow$}}\limits} % width of \epi
\def\leftmono{\mathrel{\m@th\hbox to
14.6\P@{$\mathord\leftarrow$\hss$\arrext$\hskip-2.1\P@\lasyb\char'50%
}}\limits} % width of \epi
\mathchardef\arrext="0200       % amr minus for arrow extension (see \into)
 
 
\setlength{\unitlength}{.01em}%
\def\settypes(#1,#2,#3){\arrowtypea#1 \arrowtypeb#2 \arrowtypec#3}
\def\settoheight#1#2{\setbox\@tempboxa\hbox{#2}#1\ht\@tempboxa\relax}%
\def\settodepth#1#2{\setbox\@tempboxa\hbox{#2}#1\dp\@tempboxa\relax}%
\def\settokens`#1`#2`#3`#4`{%
     \def\tokena{#1}\def\tokenb{#2}\def\tokenc{#3}\def\tokend{#4}}
\def\setsqparms[#1`#2`#3`#4;#5`#6]{%
\arrowtypea #1
\arrowtypeb #2
\arrowtypec #3
\arrowtyped #4
\width #5
\height #6
}
\def\setpos(#1,#2){\xpos=#1 \ypos#2}
 
 
 
\def\settriparms[#1`#2`#3;#4]{\settripairparms[#1`#2`#3`1`1;#4]}%
 
\def\settripairparms[#1`#2`#3`#4`#5;#6]{%
\arrowtypea #1
\arrowtypeb #2
\arrowtypec #3
\arrowtyped #4
\arrowtypee #5
\width #6
\height #6
}
 
\def\resetparms{\settripairparms[1`1`1`1`1;500]\width 500}%default values%
 
\resetparms
 
\def\mvector(#1,#2)#3{%%
\put(0,0){\vector(#1,#2){#3}}%
\put(0,0){\vector(#1,#2){26}}%
}
\def\evector(#1,#2)#3{{%%
\arrowlength #3
\put(0,0){\vector(#1,#2){\arrowlength}}%
\advance \arrowlength by-30
\put(0,0){\vector(#1,#2){\arrowlength}}%
}}
 
\def\horsize#1#2{%
\settowidth{\tempdimen}{$#2$}%
#1=\tempdimen
\divide #1 by\unitlength
}
 
\def\vertsize#1#2{%
\settoheight{\tempdimen}{$#2$}%
#1=\tempdimen
\settodepth{\tempdimen}{$#2$}%
\advance #1 by\tempdimen
\divide #1 by\unitlength
}
 
\def\putvector(#1,#2)(#3,#4)#5#6{{%
\ifnum3<\arrowtype
\putdashvector(#1,#2)(#3,#4)#5\arrowtype
\else
\ifnum\arrowtype<-3
\putdashvector(#1,#2)(#3,#4)#5\arrowtype
\else
\xpos=#1
\ypos=#2
\run=#3
\rise=#4
\arrowlength=#5
\ifnum \arrowtype<0
    \ifnum \run=0
        \advance \ypos by-\arrowlength
    \else
        \tempcounta \arrowlength
        \multiply \tempcounta by\rise
        \divide \tempcounta by\run
        \ifnum\run>0
            \advance \xpos by\arrowlength
            \advance \ypos by\tempcounta
        \else
            \advance \xpos by-\arrowlength
            \advance \ypos by-\tempcounta
        \fi
    \fi
    \multiply \arrowtype by-1
    \multiply \rise by-1
    \multiply \run by-1
\fi
\ifcase \arrowtype
\or \put(\xpos,\ypos){\vector(\run,\rise){\arrowlength}}%
\or \put(\xpos,\ypos){\mvector(\run,\rise)\arrowlength}%
\or \put(\xpos,\ypos){\evector(\run,\rise){\arrowlength}}%
\fi\fi\fi
}}
 
\def\putsplitvector(#1,#2)#3#4{%%
\xpos #1
\ypos #2
\arrowtype #4
\halflength #3
\arrowlength #3
\gap 140
\advance \halflength by-\gap
\divide \halflength by2
\ifnum\arrowtype>0
   \ifcase \arrowtype
   \or \put(\xpos,\ypos){\line(0,-1){\halflength}}%
       \advance\ypos by-\halflength
       \advance\ypos by-\gap
       \put(\xpos,\ypos){\vector(0,-1){\halflength}}%
   \or \put(\xpos,\ypos){\line(0,-1)\halflength}%
       \put(\xpos,\ypos){\vector(0,-1)3}%
       \advance\ypos by-\halflength
       \advance\ypos by-\gap
       \put(\xpos,\ypos){\vector(0,-1){\halflength}}%
   \or \put(\xpos,\ypos){\line(0,-1)\halflength}%
       \advance\ypos by-\halflength
       \advance\ypos by-\gap
       \put(\xpos,\ypos){\evector(0,-1){\halflength}}%
   \fi
\else \arrowtype=-\arrowtype
   \ifcase\arrowtype
   \or \advance \ypos by-\arrowlength
       \put(\xpos,\ypos){\line(0,1){\halflength}}%
       \advance\ypos by\halflength
       \advance\ypos by\gap
       \put(\xpos,\ypos){\vector(0,1){\halflength}}%
   \or \advance \ypos by-\arrowlength
       \put(\xpos,\ypos){\line(0,1)\halflength}%
       \put(\xpos,\ypos){\vector(0,1)3}%
       \advance\ypos by\halflength
       \advance\ypos by\gap
       \put(\xpos,\ypos){\vector(0,1){\halflength}}%
   \or \advance \ypos by-\arrowlength
       \put(\xpos,\ypos){\line(0,1)\halflength}%
       \advance\ypos by\halflength
       \advance\ypos by\gap
       \put(\xpos,\ypos){\evector(0,1){\halflength}}%
   \fi
\fi
}
 
\def\putmorphism(#1)(#2,#3)[#4`#5`#6]#7#8#9{{%
\run #2
\rise #3
\ifnum\rise=0
  \puthmorphism(#1)[#4`#5`#6]{#7}{#8}#9%
\else\ifnum\run=0
  \putvmorphism(#1)[#4`#5`#6]{#7}{#8}#9%
\else
\setpos(#1)%
\arrowlength #7
\arrowtype #8
\ifnum\run=0
\else\ifnum\rise=0
\else
\ifnum\run>0
    \coefa=1
\else
   \coefa=-1
\fi
\ifnum\arrowtype>0
   \coefb=0
   \coefc=-1
\else
   \coefb=\coefa
   \coefc=1
   \arrowtype=-\arrowtype
\fi
\width=2
\multiply \width by\run
\divide \width by\rise
\ifnum \width<0  \width=-\width\fi
\advance\width by60
\if l#9 \width=-\width\fi
\putbox(\xpos,\ypos){#4}%            %node 1
{\multiply \coefa by\arrowlength%      %node 2
\advance\xpos by\coefa
\multiply \coefa by\rise
\divide \coefa by\run
\advance \ypos by\coefa
\putbox(\xpos,\ypos){#5} }%
{\multiply \coefa by\arrowlength%      %label
\divide \coefa by2
\advance \xpos by\coefa
\advance \xpos by\width
\multiply \coefa by\rise
\divide \coefa by\run
\advance \ypos by\coefa
\if l#9%
   \putrbox(\xpos,\ypos){#6}%
\else\if r#9%
   \putlbox(\xpos,\ypos){#6}%
\fi\fi }%
{\multiply \rise by-\coefc%             %arrow
\multiply \run by-\coefc
\multiply \coefb by\arrowlength
\advance \xpos by\coefb
\multiply \coefb by\rise
\divide \coefb by\run
\advance \ypos by\coefb
\multiply \coefc by70
\advance \ypos by\coefc
\multiply \coefc by\run
\divide \coefc by\rise
\advance \xpos by\coefc
\multiply \coefa by140
\multiply \coefa by\run
\divide \coefa by\rise
\advance \arrowlength by\coefa
\ifcase\arrowtype
\or \put(\xpos,\ypos){\vector(\run,\rise){\arrowlength}}%
\or \put(\xpos,\ypos){\mvector(\run,\rise){\arrowlength}}%
\or \put(\xpos,\ypos){\evector(\run,\rise){\arrowlength}}%
\fi}\fi\fi\fi\fi}}
 
 
\newcount\numbdashes \newcount\lengthdash \newcount\increment
 
\def\howmanydashes{% Actually returns both number and length
\numbdashes=\arrowlength \lengthdash=40
\divide\numbdashes by \lengthdash
\lengthdash=\arrowlength
\divide\lengthdash by \numbdashes
%This futzing around is to minimize round-off error.
\increment=\lengthdash
\multiply\lengthdash by 3
\divide\lengthdash by 5
}
 
\def\putdashvector(#1)(#2,#3)#4#5{%
\ifnum#3=0 \putdashhvector(#1){#4}#5
\else
\ifnum#2=0
\putdashvvector(#1){#4}#5\fi\fi}
 
\def\putdashhvector(#1,#2)#3#4{{%
\arrowlength=#3 \howmanydashes
\multiput(#1,#2)(\increment,0){\numbdashes}%
{\vrule height .4pt width \lengthdash\unitlength}
\arrowtype=#4 \xpos=#1
\ifnum\arrowtype<0 \advance\arrowtype by 7 \fi
\ifcase\arrowtype
\or \advance\xpos by 10
    \put(\xpos,#2){\vector(-1,0){\lengthdash}}
    \advance\xpos by 40
    \put(\xpos,#2){\vector(-1,0){\lengthdash}}
\or \advance \xpos by 10
    \put(\xpos,#2){\vector(-1,0){\lengthdash}}
    \advance\xpos by  \arrowlength
    \advance\xpos by  -50
    \put(\xpos,#2){\vector(-1,0){\lengthdash}}
\or \advance\xpos by 10
    \put(\xpos,#2){\vector(-1,0){\lengthdash}}
\or \advance\xpos by \arrowlength
    \advance\xpos by -\lengthdash
    \put(\xpos,#2){\vector(1,0){\lengthdash}}
\or {\advance\xpos by 10
    \put(\xpos,#2){\vector(1,0){\lengthdash}}}
    \advance\xpos by \arrowlength
    \advance\xpos by -\lengthdash
    \put(\xpos,#2){\vector(1,0){\lengthdash}}
\or \advance\xpos by \arrowlength
    \advance\xpos by -\lengthdash
    \put(\xpos,#2){\vector(1,0){\lengthdash}}
    \advance\xpos by -40
    \put(\xpos,#2){\vector(1,0){\lengthdash}}
   \fi
}}
 
\def\putdashvvector(#1,#2)#3#4{{%
\arrowlength=#3 \howmanydashes
\ypos=#2 \advance\ypos by -\arrowlength
\multiput(#1,#2)(0,\increment){\numbdashes}%
    {\vrule width .4pt height \lengthdash\unitlength}
\arrowtype=#4 \ypos=#2
\ifnum\arrowtype<0 \advance\arrowtype by 7 \fi
\ifcase\arrowtype
\or \advance\ypos by \arrowlength \advance\ypos by -40
    \put(#1,\ypos){\vector(0,1){\lengthdash}}
    \advance\ypos by -40
    \put(#1,\ypos){\vector(0,1){\lengthdash}}
\or \advance\ypos by 10
    \put(#1,\ypos){\vector(0,1){\lengthdash}}
    \advance\ypos by \arrowlength \advance\ypos by -40
    \put(#1,\ypos){\vector(0,1){\lengthdash}}
\or \advance\ypos by \arrowlength \advance\ypos by -40
    \put(#1,\ypos){\vector(0,1){\lengthdash}}
\or \advance\ypos by 10
    \put(#1,\ypos){\vector(0,-1){\lengthdash}}
\or \advance\ypos by 10
    \put(#1,\ypos){\vector(0,-1){\lengthdash}}
    \advance\ypos by \arrowlength \advance\ypos by -40
    \put(#1,\ypos){\vector(0,-1){\lengthdash}}
\or \advance\ypos by 10
    \put(#1,\ypos){\vector(0,-1){\lengthdash}}
    \advance\ypos by 40
    \put(#1,\ypos){\vector(0,-1){\lengthdash}}
\fi
}}
 
\def\puthmorphism(#1,#2)[#3`#4`#5]#6#7#8{{%
\xpos #1
\ypos #2
\width #6
\arrowlength #6
\arrowtype=#7
\putbox(\xpos,\ypos){#3\vphantom{#4}}%
{\advance \xpos by\arrowlength
\putbox(\xpos,\ypos){\vphantom{#3}#4}}%
\horsize{\tempcounta}{#3}%
\horsize{\tempcountb}{#4}%
\divide \tempcounta by2
\divide \tempcountb by2
\advance \tempcounta by30
\advance \tempcountb by30
\advance \xpos by\tempcounta
\advance \arrowlength by-\tempcounta
\advance \arrowlength by-\tempcountb
\putvector(\xpos,\ypos)(1,0)\arrowlength\arrowtype
\divide \arrowlength by2
\advance \xpos by\arrowlength
\vertsize{\tempcounta}{#5}%
\divide\tempcounta by2
\advance \tempcounta by20
\if a#8 %
   \advance \ypos by\tempcounta
   \putbox(\xpos,\ypos){#5}%
\else
   \advance \ypos by-\tempcounta
   \putbox(\xpos,\ypos){#5}%
\fi}}
 
\def\putvmorphism(#1,#2)[#3`#4`#5]#6#7#8{{%
\xpos #1
\ypos #2
\arrowlength #6
\arrowtype #7
\settowidth{\xlen}{$#5$}%
\putbox(\xpos,\ypos){#3}%
{\advance \ypos by-\arrowlength
\putbox(\xpos,\ypos){#4}}%
{\advance\arrowlength by-140
\advance \ypos by-70
\ifdim\xlen>0pt
   \if m#8%
      \putsplitvector(\xpos,\ypos)\arrowlength\arrowtype
   \else
   \putvector(\xpos,\ypos)(0,-1)\arrowlength\arrowtype
   \fi
\else
   \putvector(\xpos,\ypos)(0,-1)\arrowlength\arrowtype
\fi}%
\ifdim\xlen>0pt
   \divide \arrowlength by2
   \advance\ypos by-\arrowlength
   \if l#8%
      \advance \xpos by-40
      \putrbox(\xpos,\ypos){#5}%
   \else\if r#8%
      \advance \xpos by40
      \putlbox(\xpos,\ypos){#5}%
   \else
      \putbox(\xpos,\ypos){#5}%
   \fi\fi
\fi
}}
 
\def\putsquarep<#1>(#2)[#3;#4`#5`#6`#7]{{%
\setsqparms[#1]%
\setpos(#2)%
\settokens`#3`%
\puthmorphism(\xpos,\ypos)[\tokenc`\tokend`{#7}]{\width}{\arrowtyped}b%
\advance\ypos by \height
\puthmorphism(\xpos,\ypos)[\tokena`\tokenb`{#4}]{\width}{\arrowtypea}a%
\putvmorphism(\xpos,\ypos)[``{#5}]{\height}{\arrowtypeb}l%
\advance\xpos by \width
\putvmorphism(\xpos,\ypos)[``{#6}]{\height}{\arrowtypec}r%
}}
 
\def\putsquare{\@ifnextchar <{\putsquarep}{\putsquarep%
   <\arrowtypea`\arrowtypeb`\arrowtypec`\arrowtyped;\width`\height>}}
\def\square{\@ifnextchar< {\squarep}{\squarep
   <\arrowtypea`\arrowtypeb`\arrowtypec`\arrowtyped;\width`\height>}}
                                                   %         #6
\def\squarep<#1>[#2`#3`#4`#5;#6`#7`#8`#9]{{%       %     #2------>#3
\setsqparms[#1]%                                   %      |       |
\diagram%                                          %      |       |
\putsquarep<\arrowtypea`\arrowtypeb`\arrowtypec`%  %    #7|       |#8
\arrowtyped;\width`\height>%                       %      |       |
(0,0)[#2`#3`#4`{#5};#6`#7`#8`{#9}]%                %      |       |
\enddiagram%                                       %      v       v
}}                                                 %     #4------>#5
                                                   %         #9
\def\putptrianglep<#1>(#2,#3)[#4`#5`#6;#7`#8`#9]{{%
\settriparms[#1]%
\xpos=#2 \ypos=#3
\advance\ypos by \height
\puthmorphism(\xpos,\ypos)[#4`#5`{#7}]{\height}{\arrowtypea}a%
\putvmorphism(\xpos,\ypos)[`#6`{#8}]{\height}{\arrowtypeb}l%
\advance\xpos by\height
\putmorphism(\xpos,\ypos)(-1,-1)[``{#9}]{\height}{\arrowtypec}r%
}}
 
\def\putptriangle{\@ifnextchar <{\putptrianglep}{\putptrianglep
   <\arrowtypea`\arrowtypeb`\arrowtypec;\height>}}
\def\ptriangle{\@ifnextchar <{\ptrianglep}{\ptrianglep
   <\arrowtypea`\arrowtypeb`\arrowtypec;\height>}}
                                              %          #5
\def\ptrianglep<#1>[#2`#3`#4;#5`#6`#7]{{%%    %      #2----->#3
\settriparms[#1]%                             %      |      /
\diagram%                                     %      |     /
\putptrianglep<\arrowtypea`\arrowtypeb`%      %    #6|    /#7
\arrowtypec;\height>%                         %      |   /
(0,0)[#2`#3`#4;#5`#6`{#7}]%                   %      |  /
\enddiagram%%                                 %      v v
}}                                            %      #4
 
\def\putqtrianglep<#1>(#2,#3)[#4`#5`#6;#7`#8`#9]{{%
\settriparms[#1]%
\xpos=#2 \ypos=#3
\advance\ypos by\height
\puthmorphism(\xpos,\ypos)[#4`#5`{#7}]{\height}{\arrowtypea}a%
\putmorphism(\xpos,\ypos)(1,-1)[``{#8}]{\height}{\arrowtypeb}l%
\advance\xpos by\height
\putvmorphism(\xpos,\ypos)[`#6`{#9}]{\height}{\arrowtypec}r%
}}
 
\def\putqtriangle{\@ifnextchar <{\putqtrianglep}{\putqtrianglep
   <\arrowtypea`\arrowtypeb`\arrowtypec;\height>}}
\def\qtriangle{\@ifnextchar <{\qtrianglep}{\qtrianglep
   <\arrowtypea`\arrowtypeb`\arrowtypec;\height>}}
                                              %           #5
\def\qtrianglep<#1>[#2`#3`#4;#5`#6`#7]{{%%    %        #2----->#3
\settriparms[#1]%                             %         \      |
\width=\height                                %          \     |
\diagram%                                     %         #6\    |#7
\putqtrianglep<\arrowtypea`\arrowtypeb`%      %            \   |
\arrowtypec;\height>%                         %             \  |
(0,0)[#2`#3`#4;#5`#6`{#7}]%                   %              v v
\enddiagram%%                                 %               #4
}}
 
\def\putdtrianglep<#1>(#2,#3)[#4`#5`#6;#7`#8`#9]{{%
\settriparms[#1]%
\xpos=#2 \ypos=#3
\puthmorphism(\xpos,\ypos)[#5`#6`{#9}]{\height}{\arrowtypec}b%
\advance\xpos by \height \advance\ypos by\height
\putmorphism(\xpos,\ypos)(-1,-1)[``{#7}]{\height}{\arrowtypea}l%
\putvmorphism(\xpos,\ypos)[#4``{#8}]{\height}{\arrowtypeb}r%
}}
 
\def\putdtriangle{\@ifnextchar <{\putdtrianglep}{\putdtrianglep
   <\arrowtypea`\arrowtypeb`\arrowtypec;\height>}}
\def\dtriangle{\@ifnextchar <{\dtrianglep}{\dtrianglep
   <\arrowtypea`\arrowtypeb`\arrowtypec;\height>}}
                                              %                   #2
\def\dtrianglep<#1>[#2`#3`#4;#5`#6`#7]{{%%    %                  / |
\settriparms[#1]%                             %                 /  |
\width=\height                                %              #5/   |#6
\diagram%                                     %               /    |
\putdtrianglep<\arrowtypea`\arrowtypeb`%      %              /     |
\arrowtypec;\height>%                         %             v      v
(0,0)[#2`#3`#4;#5`#6`{#7}]%                   %            #3----->#4
\enddiagram%%                                 %                #7
}}
 
\def\putbtrianglep<#1>(#2,#3)[#4`#5`#6;#7`#8`#9]{{%
\settriparms[#1]%
\xpos=#2 \ypos=#3
\puthmorphism(\xpos,\ypos)[#5`#6`{#9}]{\height}{\arrowtypec}b%
\advance\ypos by\height
\putmorphism(\xpos,\ypos)(1,-1)[``{#8}]{\height}{\arrowtypeb}r%
\putvmorphism(\xpos,\ypos)[#4``{#7}]{\height}{\arrowtypea}l%
}}
 
\def\putbtriangle{\@ifnextchar <{\putbtrianglep}{\putbtrianglep
   <\arrowtypea`\arrowtypeb`\arrowtypec;\height>}}
\def\btriangle{\@ifnextchar <{\btrianglep}{\btrianglep
   <\arrowtypea`\arrowtypeb`\arrowtypec;\height>}}
                                             %              #2
\def\btrianglep<#1>[#2`#3`#4;#5`#6`#7]{{%%   %              | \
\settriparms[#1]%                            %              |  \
\width=\height                               %            #5|   \#6
\diagram%                                    %              |    \
\putbtrianglep<\arrowtypea`\arrowtypeb`%     %              |     \
\arrowtypec;\height>%                        %              v      v
(0,0)[#2`#3`#4;#5`#6`{#7}]%                  %              #3----->#4
\enddiagram%%                                %                 #7
}}
 
\def\putAtrianglep<#1>(#2,#3)[#4`#5`#6;#7`#8`#9]{{%
\settriparms[#1]%
\xpos=#2 \ypos=#3
{\multiply \height by2
\puthmorphism(\xpos,\ypos)[#5`#6`{#9}]{\height}{\arrowtypec}b}%
\advance\xpos by\height \advance\ypos by\height
\putmorphism(\xpos,\ypos)(-1,-1)[#4``{#7}]{\height}{\arrowtypea}l%
\putmorphism(\xpos,\ypos)(1,-1)[``{#8}]{\height}{\arrowtypeb}r%
}}
 
\def\putAtriangle{\@ifnextchar <{\putAtrianglep}{\putAtrianglep
   <\arrowtypea`\arrowtypeb`\arrowtypec;\height>}}
\def\Atriangle{\@ifnextchar <{\Atrianglep}{\Atrianglep
   <\arrowtypea`\arrowtypeb`\arrowtypec;\height>}}
                                                   %           #2
\def\Atrianglep<#1>[#2`#3`#4;#5`#6`#7]{{%%         %         /   \
\settriparms[#1]%                                  %        /     \
\width=\height                                     %     #5/       \#6
\diagram%                                          %      /         \
\putAtrianglep<\arrowtypea`\arrowtypeb`%           %     /           \
\arrowtypec;\height>%                              %    v             v
(0,0)[#2`#3`#4;#5`#6`{#7}]%                        %   #3------------>#4
\enddiagram%%                                      %          #7
}}
 
\def\putAtrianglepairp<#1>(#2)[#3;#4`#5`#6`#7`#8]{{%
\settripairparms[#1]%
\setpos(#2)%
\settokens`#3`%
\puthmorphism(\xpos,\ypos)[\tokenb`\tokenc`{#7}]{\height}{\arrowtyped}b%
\advance\xpos by\height
\puthmorphism(\xpos,\ypos)[\phantom{\tokenc}`\tokend`{#8}]%
{\height}{\arrowtypee}b%
\advance\ypos by\height
\putmorphism(\xpos,\ypos)(-1,-1)[\tokena``{#4}]{\height}{\arrowtypea}l%
\putvmorphism(\xpos,\ypos)[``{#5}]{\height}{\arrowtypeb}m%
\putmorphism(\xpos,\ypos)(1,-1)[``{#6}]{\height}{\arrowtypec}r%
}}
 
\def\putAtrianglepair{\@ifnextchar <{\putAtrianglepairp}{\putAtrianglepairp%
   <\arrowtypea`\arrowtypeb`\arrowtypec`\arrowtyped`\arrowtypee;\height>}}
\def\Atrianglepair{\@ifnextchar <{\Atrianglepairp}{\Atrianglepairp%
   <\arrowtypea`\arrowtypeb`\arrowtypec`\arrowtyped`\arrowtypee;\height>}}
 
\def\Atrianglepairp<#1>[#2;#3`#4`#5`#6`#7]{{%           %  #2a
\settripairparms[#1]%                         %           / | \
\settokens`#2`%                               %          /  |  \
\width=\height                                %       #3/  #4   \#5
\diagram%                                     %        /    |    \
\putAtrianglepairp                            %       /     |     \
<\arrowtypea`\arrowtypeb`\arrowtypec`%        %      v      v      v
\arrowtyped`\arrowtypee;\height>%             %     #2b---->#2c---->#2d
(0,0)[{#2};#3`#4`#5`#6`{#7}]%                 %         #6     #7
\enddiagram%%
}}
 
\def\putVtrianglep<#1>(#2,#3)[#4`#5`#6;#7`#8`#9]{{%
\settriparms[#1]%
\xpos=#2 \ypos=#3
\advance\ypos by\height
{\multiply\height by2
\puthmorphism(\xpos,\ypos)[#4`#5`{#7}]{\height}{\arrowtypea}a}%
\putmorphism(\xpos,\ypos)(1,-1)[`#6`{#8}]{\height}{\arrowtypeb}l%
\advance\xpos by\height
\advance\xpos by\height
\putmorphism(\xpos,\ypos)(-1,-1)[``{#9}]{\height}{\arrowtypec}r%
}}
 
\def\putVtriangle{\@ifnextchar <{\putVtrianglep}{\putVtrianglep
   <\arrowtypea`\arrowtypeb`\arrowtypec;\height>}}
\def\Vtriangle{\@ifnextchar <{\Vtrianglep}{\Vtrianglep
   <\arrowtypea`\arrowtypeb`\arrowtypec;\height>}}
                                               %               #5
\def\Vtrianglep<#1>[#2`#3`#4;#5`#6`#7]{{%%     %        #2------------->#3
\settriparms[#1]%                              %         \             /
\width=\height                                 %          \           /
\diagram%                                      %         #6\         /#7
\putVtrianglep<\arrowtypea`\arrowtypeb`%       %            \       /
\arrowtypec;\height>%                          %             \     /
(0,0)[#2`#3`#4;#5`#6`{#7}]%                    %              v   v
\enddiagram%%                                  %               #4
}}
 
\def\putVtrianglepairp<#1>(#2)[#3;#4`#5`#6`#7`#8]{{
\settripairparms[#1]%
\setpos(#2)%
\settokens`#3`%
\advance\ypos by\height
\putmorphism(\xpos,\ypos)(1,-1)[`\tokend`{#6}]{\height}{\arrowtypec}l%
\puthmorphism(\xpos,\ypos)[\tokena`\tokenb`{#4}]{\height}{\arrowtypea}a%
\advance\xpos by\height
\puthmorphism(\xpos,\ypos)[\phantom{\tokenb}`\tokenc`{#5}]%
{\height}{\arrowtypeb}a%
\putvmorphism(\xpos,\ypos)[``{#7}]{\height}{\arrowtyped}m%
\advance\xpos by\height
\putmorphism(\xpos,\ypos)(-1,-1)[``{#8}]{\height}{\arrowtypee}r%
}}
 
\def\putVtrianglepair{\@ifnextchar <{\putVtrianglepairp}{\putVtrianglepairp%
    <\arrowtypea`\arrowtypeb`\arrowtypec`\arrowtyped`\arrowtypee;\height>}}
\def\Vtrianglepair{\@ifnextchar <{\Vtrianglepairp}{\Vtrianglepairp%
    <\arrowtypea`\arrowtypeb`\arrowtypec`\arrowtyped`\arrowtypee;\height>}}
                                               %     #3      #4
\def\Vtrianglepairp<#1>[#2;#3`#4`#5`#6`#7]{{%  %  #2a---->#2b---->#2c
\settripairparms[#1]%                          %   \      |      /
\settokens`#2`%                                %    \     |     /
\diagram%                                      %   #5\   #6    /#7
\putVtrianglepairp                             %      \   |   /
<\arrowtypea`\arrowtypeb`\arrowtypec`%         %       \  |  /
\arrowtyped`\arrowtypee;\height>%              %        v v v
(0,0)[{#2};#3`#4`#5`#6`{#7}]%                  %         #2d
\enddiagram%%
}}
 
 
\def\putCtrianglep<#1>(#2,#3)[#4`#5`#6;#7`#8`#9]{{%
\settriparms[#1]%
\xpos=#2 \ypos=#3
\advance\ypos by\height
\putmorphism(\xpos,\ypos)(1,-1)[``{#9}]{\height}{\arrowtypec}l%
\advance\xpos by\height
\advance\ypos by\height
\putmorphism(\xpos,\ypos)(-1,-1)[#4`#5`{#7}]{\height}{\arrowtypea}l%
{\multiply\height by 2
\putvmorphism(\xpos,\ypos)[`#6`{#8}]{\height}{\arrowtypeb}r}%
}}
 
\def\putCtriangle{\@ifnextchar <{\putCtrianglep}{\putCtrianglep
    <\arrowtypea`\arrowtypeb`\arrowtypec;\height>}}
\def\Ctriangle{\@ifnextchar <{\Ctrianglep}{\Ctrianglep
    <\arrowtypea`\arrowtypeb`\arrowtypec;\height>}}
                                             %                 #2
\def\Ctrianglep<#1>[#2`#3`#4;#5`#6`#7]{{%%   %                / |
\settriparms[#1]%                            %             #5/  |
\width=\height                               %              /   |
\diagram%                                    %             v    |
\putCtrianglep<\arrowtypea`\arrowtypeb`%     %           #3     |#6
\arrowtypec;\height>%                        %             \    |
(0,0)[#2`#3`#4;#5`#6`{#7}]%                  %            #7\   |
\enddiagram%%                                %               \  |
}}                                           %                v v
                                             %                 #4
\def\putDtrianglep<#1>(#2,#3)[#4`#5`#6;#7`#8`#9]{{%
\settriparms[#1]%
\xpos=#2 \ypos=#3
\advance\xpos by\height \advance\ypos by\height
\putmorphism(\xpos,\ypos)(-1,-1)[``{#9}]{\height}{\arrowtypec}r%
\advance\xpos by-\height \advance\ypos by\height
\putmorphism(\xpos,\ypos)(1,-1)[`#5`{#8}]{\height}{\arrowtypeb}r%
{\multiply\height by 2
\putvmorphism(\xpos,\ypos)[#4`#6`{#7}]{\height}{\arrowtypea}l}%
}}
 
\def\putDtriangle{\@ifnextchar <{\putDtrianglep}{\putDtrianglep
    <\arrowtypea`\arrowtypeb`\arrowtypec;\height>}}
\def\Dtriangle{\@ifnextchar <{\Dtrianglep}{\Dtrianglep
   <\arrowtypea`\arrowtypeb`\arrowtypec;\height>}}
                                            %          #2
\def\Dtrianglep<#1>[#2`#3`#4;#5`#6`#7]{{%%  %          | \
\settriparms[#1]%                           %          |  \#6
\width=\height                              %          |   \
\diagram%                                   %          |    v
\putDtrianglep<\arrowtypea`\arrowtypeb`%    %        #5|    #3
\arrowtypec;\height>%                       %          |    /
(0,0)[#2`#3`#4;#5`#6`{#7}]%                 %          |   /#7
\enddiagram%%                               %          |  /
}}                                          %          v v
                                            %          #4
\def\setrecparms[#1`#2]{\width=#1 \height=#2}%
%              #4
%        #3b<-------#3a x #3b
%       ^ |             |
%      /  |             |
%   #5/   |             |
%    /    |             |
%   /     |             |
%  /      |             |
% #3c     |#6           |#3a x #5
%  \      |             |
%   \     |             |
%  #8\    |             |
%     \   |             |
%      \  |             |
%       v v             v
%        #3d<-------#3a x #3d
%              #8
 
\def\recursep<#1`#2>[#3;#4`#5`#6`#7`#8]{{\m@th
\width=#1 \height=#2
\settokens`#3`
\settowidth{\tempdimen}{$\tokena$}
\ifdim\tempdimen=0pt
  \savebox{\tempboxa}{\hbox{$\tokenb$}}%
  \savebox{\tempboxb}{\hbox{$\tokend$}}%
  \savebox{\tempboxc}{\hbox{$#6$}}%
\else
  \savebox{\tempboxa}{\hbox{$\hbox{$\tokena$}\times\hbox{$\tokenb$}$}}%
  \savebox{\tempboxb}{\hbox{$\hbox{$\tokena$}\times\hbox{$\tokend$}$}}%
  \savebox{\tempboxc}{\hbox{$\hbox{$\tokena$}\times\hbox{$#6$}$}}%
\fi
\ypos=\height
\divide\ypos by 2
\xpos=\ypos
\advance\xpos by \width
\bfig
\putCtrianglep<-1`1`1;\ypos>(0,0)[`\tokenc`;#5`#6`{#7}]%
\puthmorphism(\ypos,0)[\tokend`\usebox{\tempboxb}`{#8}]{\width}{-1}b%
\puthmorphism(\ypos,\height)[\tokenb`\usebox{\tempboxa}`{#4}]{\width}{-1}a%
\advance\ypos by \width
\putvmorphism(\ypos,\height)[``\usebox{\tempboxc}]{\height}1r%
\efig
}}
 
\def\recurse{\@ifnextchar <{\recursep}{\recursep<\width`\height>}}
 
\def\puttwohmorphisms(#1,#2)[#3`#4;#5`#6]#7#8#9{{%
% 1 and 2 are position, 3 and 4 are the nodes, 5 and 6 the labels,
% 7 the distance between node centers and 8 & 9 are the arrow types.
%         #5
% #3 ===========> #4
%         #6
%
\puthmorphism(#1,#2)[#3`#4`]{#7}0a
\ypos=#2
\advance\ypos by 20
\puthmorphism(#1,\ypos)[\phantom{#3}`\phantom{#4}`#5]{#7}{#8}a
\advance\ypos by -40
\puthmorphism(#1,\ypos)[\phantom{#3}`\phantom{#4}`#6]{#7}{#9}b
}}
 
\def\puttwovmorphisms(#1,#2)[#3`#4;#5`#6]#7#8#9{{%
% 1 and 2 are position, 3 and 4 are the nodes, 5 and 6 the labels,
% 7 the distance between node centers and 8 & 9 are the arrow types.
%
%              #3
%              ||
%              ||
%           #5 || #6
%              ||
%              ||
%              vv
%              #4
%
\putvmorphism(#1,#2)[#3`#4`]{#7}0a
\xpos=#1
\advance\xpos by -20
\putvmorphism(\xpos,#2)[\phantom{#3}`\phantom{#4}`#5]{#7}{#8}l
\advance\xpos by 40
\putvmorphism(\xpos,#2)[\phantom{#3}`\phantom{#4}`#6]{#7}{#9}r
}}
 
\def\puthcoequalizer(#1)[#2`#3`#4;#5`#6`#7]#8#9{{%
% #1 is (\xpos,\ypos), the next 6 are the nodes and arrow labels
% #8 is the distance between each pair of nodes and #9 is the pos of #7
% either a (above) or b (below)
%         #5            #7
% #2 ===========> #3 --------> #4
%         #6
%
\setpos(#1)%
\puttwohmorphisms(\xpos,\ypos)[#2`#3;#5`#6]{#8}11%
\advance\xpos by #8
\puthmorphism(\xpos,\ypos)[\phantom{#3}`#4`#7]{#8}1{#9}
}}
 
\def\putvcoequalizer(#1)[#2`#3`#4;#5`#6`#7]#8#9{{%
% #1 is (\xpos,\ypos), the next 6 are the nodes and arrow labels
% #8 is the distance between each pair of nodes and #9 is the pos of #7
% either l (left) or r (right)
%
%              #2
%              | |
%              | |
%           #5 | | #6
%              | |
%              | |
%              v v
%              #3
%               |
%               |
%            #7 |
%               |
%               v
%              #4
%
\setpos(#1)%
\puttwovmorphisms(\xpos,\ypos)[#2`#3;#5`#6]{#8}11%
\advance\ypos by -#8
\putvmorphism(\xpos,\ypos)[\phantom{#3}`#4`#7]{#8}1{#9}
}}
 
\def\putthreehmorphisms(#1)[#2`#3;#4`#5`#6]#7(#8)#9{{%
% Use: \putthreehmorphisms(xpos,ypos)[lnode`rnode;toplabel`midlabel%
% botlabel]{distance}(toparrowtype,midarrowtype,botarrowtype){position}
\setpos(#1) \settypes(#8)
\if a#9 %
     \vertsize{\tempcounta}{#5}%
     \vertsize{\tempcountb}{#6}%
     \ifnum \tempcounta<\tempcountb \tempcounta=\tempcountb \fi
\else
     \vertsize{\tempcounta}{#4}%
     \vertsize{\tempcountb}{#5}%
     \ifnum \tempcounta<\tempcountb \tempcounta=\tempcountb \fi
\fi
\advance \tempcounta by 60
\puthmorphism(\xpos,\ypos)[#2`#3`#5]{#7}{\arrowtypeb}{#9}
\advance\ypos by \tempcounta
\puthmorphism(\xpos,\ypos)[\phantom{#2}`\phantom{#3}`#4]{#7}{\arrowtypea}{#9}
\advance\ypos by -\tempcounta \advance\ypos by -\tempcounta
\puthmorphism(\xpos,\ypos)[\phantom{#2}`\phantom{#3}`#6]{#7}{\arrowtypec}{#9}
}}
 
\def\setarrowtoks[#1`#2`#3`#4`#5`#6]{%
\def\toka{#1}
\def\tokb{#2}
\def\tokc{#3}
\def\tokd{#4}
\def\toke{#5}
\def\tokf{#6}
}
\def\hex{\@ifnextchar <{\hexp}{\hexp<1000`400>}}
\def\hexp<#1`#2>[#3`#4`#5`#6`#7`#8;#9]{%
\setarrowtoks[#9]
\yext=#2 \advance \yext by #2
\xext=#1 \advance\xext by \yext
\bfig
\putCtriangle<-1`0`1;#2>(0,0)[`#5`;\tokb``\tokd]
\xext=#1 \yext=#2 \advance \yext by #2
\putsquare<1`0`0`1;\xext`\yext>(#2,0)[#3`#4`#7`#8;\toka```\tokf]
\advance \xext by #2
\putDtriangle<0`1`-1;#2>(\xext,0)[`#6`;`\tokc`\toke]
\efig
}
%\def\doublecomplex[#1`#2`#3`#4`#5`#6`#7`#8`#9]{%
%\bfig
%\putsquare<0`0`1`1;500`500>(0,1700)[`\vdots`\cdots`{#1};```]
%\puthmorphism(500,1700)[\ph{#1}`\cdots`]{500}1a
%\puthmorphism(1000,1700)[\ph{\cdots}`\ph{#2}`]{500}1a
%\putsquare<0`1`1`1;700`500>(1500,1700)[\vdots`\vdots`{#2}`{#3};```]
%\puthmorphism(2200,1700)[\ph{#3}`0`]{500}1a
%\putvmorphism(500,1700)[`\vdots`]{400}1a \putvmorphism(500,1300)[``]{400}1a
%\putvmorphism(1500,1700)[`\vdots`]{400}1a \putvmorphism(1500,1300)[``]{400}1a
%\putvmorphism(2200,1700)[`\vdots`]{400}1a \putvmorphism(2200,1300)[``]{400}1a
%\putsquare<1`0`1`1;500`500>(0,400)[\cdots`{#4}`\cdots`{#7};```]
%\puthmorphism(500,900)[\ph{#1}`\cdots`]{500}1a
%\puthmorphism(1000,900)[\ph{\cdots}`\ph{#2}`]{500}1a
%\puthmorphism(500,400)[\ph{#1}`\cdots`]{500}1a
%\puthmorphism(1000,400)[\ph{\cdots}`\ph{#2}`]{500}1a
%\putsquare<1`1`1`1;700`500>(1500,400)[{#5}`{#6}`{#8}`{#9};```]
%\puthmorphism(2200,900)[\ph{#6}`0`]{500}1a
%\puthmorphism(2200,400)[\ph{#9}`0`]{500}1a
%\putvmorphism(500,400)[`0`]{400}1a
%\putvmorphism(1500,400)[`0`]{400}1a
%\putvmorphism(2200,400)[`0`]{400}1a
%\efig
%}
%
%\def\doublecocomplex[#1`#2`#3`#4`#5`#6`#7`#8`#9]{%
%\bfig
%\putsquare<0`0`-1`-1;500`500>(0,1700)[`\vdots`\cdots`{#1};```]
%\puthmorphism(500,1700)[\ph{#1}`\cdots`]{500}{-1}a
%\puthmorphism(1000,1700)[\ph{\cdots}`\ph{#2}`]{500}{-1}a
%\putsquare<0`-1`-1`-1;500`500>(1500,1700)[\vdots`\vdots`{#2}`{#3};```]
%\puthmorphism(2000,1700)[\ph{#3}`0`]{500}{-1}a
%\putvmorphism(500,1700)[`\vdots`]{400}{-1}a \putvmorphism(500,1300)[``]{400}{-1}a
%\putvmorphism(1500,1700)[`\vdots`]{400}{-1}a \putvmorphism(1500,1300)[``]{400}{-1}a
%\putvmorphism(2000,1700)[`\vdots`]{400}{-1}a \putvmorphism(2000,1300)[``]{400}{-1}a
%\putsquare<-1`0`-1`-1;500`500>(0,400)[\cdots`{#4}`\cdots`{#7};```]
%\puthmorphism(500,900)[\ph{#1}`\cdots`]{500}{-1}a
%\puthmorphism(1000,900)[\ph{\cdots}`\ph{#2}`]{500}{-1}a
%\puthmorphism(500,400)[\ph{#1}`\cdots`]{500}{-1}a
%\puthmorphism(1000,400)[\ph{\cdots}`\ph{#2}`]{500}{-1}a
%\putsquare<-1`-1`-1`-1;500`500>(1500,400)[{#5}`{#6}`{#8}`{#9};```]
%\puthmorphism(2000,900)[\ph{#6}`0`]{500}{-1}a
%\puthmorphism(2000,400)[\ph{#9}`0`]{500}{-1}a
%\putvmorphism(500,400)[`0`]{400}{-1}a
%\putvmorphism(1500,400)[`0`]{400}{-1}a
%\putvmorphism(2000,400)[`0`]{400}{-1}a
%\efig
%}
\makeatother
% end of diagram.tex
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% setting for A4 paper
%\setlength{\topmargin}{-.4in}
%\setlength{\oddsidemargin}{0in}
%\setlength{\evensidemargin}{0in}
%\setlength{\textwidth}{6.5in}
%\setlength{\textheight}{9.4in}

 \setlength{\topmargin}{-.35in}
 \setlength{\oddsidemargin}{0in}
 \setlength{\evensidemargin}{0in}
 \setlength{\textwidth}{6.5in}
 \setlength{\textheight}{9.1in}


% \addtolength{\textwidth}{.2in}
% \addtolength{\oddsidemargin}{-.1in}
% \addtolength{\evensidemargin}{-.1in}
% \addtolength{\textheight}{1.4in}
% \addtolength{\topmargin}{-.7in}
%\setcounter{chapter}{1}


\theoremstyle{plain}

\newtheorem{thm}{Theorem}
\newtheorem{prop}[thm]{Proposition}
\newtheorem{cor}{Corollary}
\newtheorem{lem}[thm]{Lemma}


\theoremstyle{definition}
\newtheorem{definition}[thm]{Definition}
\newtheorem{rem}{Remark}

\newenvironment{exam}{\refstepcounter{thm}
{\medskip\par\noindent\bf Example \arabic{thm}. 
}}{\vskip 2ex\par}
\newenvironment{exer}{\refstepcounter{thm}
{\medskip\par\noindent\sc Exercise \arabic{thm} 
}}{\vskip 2ex\par}

\renewcommand{\therem}{\arabic{thm}.\arabic{rem}}
\renewcommand{\thecor}{\arabic{thm}.\arabic{cor}}
%\renewcommand{\thepage}{\arabic{chapter}-\arabic{page}}
%\renewcommand{\thesection}{\arabic{chapter}.\arabic{section}}
%\renewcommand{\theequation}{\arabic{chapter}.\arabic{equation}}

%Greek alphabet
\newcommand{\ga}{\alpha}
\newcommand{\gb}{\beta}
\newcommand{\gc}{\gamma}
\newcommand{\gd}{\delta}
\newcommand{\gke}{\epsilon}
\newcommand{\gi}{\iota}
\newcommand{\gkl}{\lambda}
\newcommand{\gs}{\sigma}
\newcommand{\gt}{\theta}
\newcommand{\gw}{\omega}
\newcommand{\gW}{\Omega}
\newcommand{\cala}{\mathcal{A}}
\newcommand{\calc}{\mathcal{C}}
\newcommand{\calk}{\mathcal{K}}
\newcommand{\call}{\mathcal{L}}
\newcommand{\frakg}{\mathfrak{g}}
\newcommand{\frakh}{\mathfrak{h}}
\newcommand{\frakm}{\mathfrak{m}}
\newcommand{\frakp}{\mathfrak{p}}
\newcommand{\frakt}{\mathfrak{t}}


\def\omb#1#2{\bar{\omega}_{#2}^{#1}}
\def\th#1{\theta^{#1}}
\def\thb#1{\bar{\theta}^{#1}}
\newcommand{\ai}{a^{-1}}
\newcommand{\ad}{\operatorname{ad}}
\newcommand{\au}{\alpha|_{U}}
\newcommand{\barw}{\bar{\omega}}
\newcommand{\by}{ \times }
\newcommand{\ch}{{\rm ch}}
% \char already defined.
\newcommand{\codim}{{\rm codim\ }}
\newcommand{\comp}{\mathrel{\scriptstyle\circ}}
\newcommand{\difft}{\frac{d{}}{dt}}
\newcommand{\difftt}{\left. \frac{d{ }}{dt}\right|_{t=0} }
\newcommand{\diffu}{\frac{d{}}{du}}
\newcommand{\usub}{{d\over{du}}|_{u=0}}
\newcommand{\level}{\operatorname{level}}
\newcommand{\deriv}[2]{\frac{d #1}{d #2}}
\newcommand{\pderiv}[2]{\frac{\partial #1}{\partial #2}}
\newcommand{\pd}[1]{\partial /\partial{#1}}
\newcommand{\pdiffx}[1]{\frac{\partial\ }{\partial x_{#1}}}
\newcommand{\pdiffy}[1]{\frac{\partial\ }{\partial y_{#1}}}
\newcommand{\pdiffz}[1]{\frac{\partial\ }{\partial z_{#1}}}
\newcommand{\pdiffzbar}[1]{\frac{\partial\ }{\partial \bar{z}_{#1}}}
\def\dual#1{#1\check {}}
\def\dualsp#1{#1\ \check {}}
\newcommand{\E}{{\cal E}}

\newcommand{\Ad}{\operatorname{Ad}}
\newcommand{\Aut}{\operatorname{Aut}}
\newcommand{\Basic}{\operatorname{Basic}}
\newcommand{\Be}{B_\epsilon (0)}
\newcommand{\be}{B_{\epsilon}}
\newcommand{\br}[1]{\{#1\}}
\newcommand{\bs}{\bar{s}}
\newcommand{\C}{\mathbb{C}}
\newcommand{\cartan}{\Omega_{X}^{*}(M)[u]}
\newcommand{\Cc}{\mathcal{C}}
\newcommand{\cinf}{C^{\infty}}
\newcommand{\cpone}{\mathbb{C} P^1}
\newcommand{\cptwo}{\mathbb{C} P^2}
\newcommand{\cpn}{\mathbb{C} P^n}
\newcommand{\coker}{\operatorname{coker}}
\newcommand{\ddth}{\pderiv{}{\theta}}
\newcommand{\ddph}{\pderiv{}{\phi}}
\newcommand{\dbar}{\bar{\partial}}
\newcommand{\dtu}{\frac{d\theta}{u}}
\newcommand{\dx}{d_{X}}
\newcommand{\eone}{{\bar{e}}_{1}}
\newcommand{\etwo}{\bar{e}_{2}}
\newcommand{\End}{\operatorname{End}}
\newcommand{\etx}{{e^{tX}}}
\newcommand{\entx}{{e^{-tX}}}
\newcommand{\F}{\mathit{F}}
\newcommand{\flag}{F\ell (\C^n)}
\newcommand{\fls}{f_{*}}
\newcommand{\calf}{\mathcal{F}}
\newcommand{\ff}{\text{iff}}
\newcommand{\g}{\mathfrak{g}}
\newcommand{\gl}{\mathfrak{gl}}
\newcommand{\GL}{\operatorname{GL}}
\newcommand{\grad}{\operatorname{grad}}
\newcommand{\graph}{\operatorname{graph}}
\newcommand{\Groups}{\operatorname{Groups}}
\newcommand{\Hc}{\mathcal{H}}
\newcommand{\Hn}{\cH_-^{2m}}
\newcommand{\Hp}{\cH_+^{2m}}
\newcommand{\Hom}{\operatorname{Hom}}
\newcommand{\hs}{H_{S^1}^*}
\newcommand{\hatt}{\hat{T}}
\newcommand{\id}{\operatorname{id}}
\newcommand{\im}{\operatorname{im}}
\newcommand{\ind}{\operatorname{index}}
\newcommand{\inv}{^{-1}}
\newcommand{\Inv}{\operatorname{Inv}}
\newcommand{\ix}{\iota_{X}}
\newcommand{\la}{\langle}
\newcommand{\Lie}{\mathcal{L}}
\newcommand{\liex}{\Lie_{X}}
\newcommand{\lra}{\longrightarrow}
\newcommand{\lsn}{\mathcal{L}{S^{n}}}
\newcommand{\lx}{\mathcal{L}_{X}}
\newcommand{\Map}{\operatorname{Map}}
\newcommand{\nab}{\nabla}
\newcommand{\nazx}{\nabla_{X}^{0}}
\newcommand{\nawx}{\nabla_{X}^{1}}
\newcommand{\omxm}{\Omega_{X}^{*}(M)}
\newcommand{\Ortho}{\text{O}}
\newcommand{\Ocal}{\mathcal{O}}
\newcommand{\om}[2]{\omega_{#2}^{#1}}
\newcommand{\Om}[2]{\Omega_{#2}^{#1}}
\newcommand{\Orbit}{\operatorname{Orbit}}
\newcommand{\PGL}{\operatorname{PGL}}
\newcommand{\pgm}{P\times_G M}
\newcommand{\pr}{\operatorname{pr}}
\newcommand{\prminus}{\frac{1-\tau}{2}}
\newcommand{\proj}{\operatorname{proj}}
\newcommand{\prplus}{\frac{1+\tau}{2}}
\newcommand{\pt}{\operatorname{pt}}
\newcommand{\Q}{\mathbb{Q}}
%\newcommand{\qed}{\vrule height 2ex depth 0pt width 0.5em}
\newcommand{\R}{\mathbb{R}}
\newcommand{\ra}{\rangle}
\newcommand{\Res}{\operatorname{Res}}
\newcommand{\rk}{\operatorname{rk}}
\newcommand{\rn}{\R^{n}}
\newcommand{\rpinf}{\R P^\infty}
\def\row#1{#1_1,\ldots,#1_n}
\newcommand{\seq}[2]{#1_{1}, \ldots, #1_{#2}}
\newcommand{\seqn}[1]{#1_{1}, \ldots, #1_{n}}
\newcommand{\sequ}[2]{#1^{1}, \ldots, #1^{#2}}
\newcommand{\sgn}{\operatorname{sgn}}
\newcommand{\sign}{\operatorname{sign}}
\newcommand{\signature}{\operatorname{signature}}
\newcommand{\sinf}{S^\infty}
\newcommand{\sone}{S^{1}}
\newcommand{\stwo}{S^{2}}
\newcommand{\sthree}{S^{3}}
\newcommand{\sn}{S^{n}}
\newcommand{\snm}{S^{n-1}}
\newcommand{\SO}{\text{SO}}
\newcommand{\Spaces}{\operatorname{Spaces}}
\newcommand{\sph}{S_{p}^{2n-1}}
\newcommand{\sphi}{S_{p_{i}}^{2n-1}}
\newcommand{\Stab}{\operatorname{Stab}}
\newcommand{\supp}{\operatorname{supp}}
\newcommand{\Sym}{\operatorname{Sym}}
\newcommand{\Td}{\operatorname{Td}}
\newcommand{\td}{\operatorname{td}}
\newcommand{\tim}{\tilde{M}}
\newcommand{\tiph}{\tilde{\phi}}
\newcommand{\tiu}{\tilde{u}}
\newcommand{\tiU}{\tilde{U}}
\newcommand{\tiw}{\tilde{\omega}}
\newcommand{\tix}{\tilde{X}}
\newcommand{\tiy}{\tilde{Y}}
\newcommand{\ty}{\tilde{y}}
\newcommand{\todd}{\operatorname{todd}}
\newcommand{\tone}{\bar{\theta}^{1}}
\newcommand{\tpi}{T_{p_{i}}M}
\newcommand{\ttf}{\tilde{\tilde{f}}}
\newcommand{\ttwo}{\bar{\theta}^{2}}
\newcommand{\tr}{\operatorname{tr}}
\newcommand{\tri}{\bigtriangleup}
\newcommand{\tu}{\frac{\theta}{u}}
\newcommand{\uphi}{\underline{\phi}}
\newcommand{\vol}{\operatorname{vol}}
\newcommand{\vu}{\vec u}
\newcommand{\vv}{\vec v}
\newcommand{\vw}{\vec w}
\newcommand{\wone}{w_{1}}
\newcommand{\wtwo}{w_{2}}
\newcommand{\fx}{\mathfrak{X}}
\newcommand{\X}{\underline{X}}
\newcommand{\xd}[1]{\dot{x}^{#1}}
\newcommand{\xdd}[1]{\ddot{x}^{#1}}
\newcommand{\Y}{\underline{Y}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\barz}{\bar{\zeta}}
\newcommand{\Zero}{\operatorname{Zero}}
\newcommand{\uv}{u_{1},v_{1}, \ldots ,	u_{n},v_{n}}
\newcommand{\xy}{x_{1},y_{1}, \ldots ,	x_{n},y_{n}}



\begin{document}
 \title[Characteristic numbers of a homogeneous space]
{Characteristic numbers 
of a homogeneous space\\
%\medskip
%(Nombres caract\'eristiques d'un espace homog\`ene)
}
\thanks{{\it 2000 Mathematics Subject Classification.}  
Primary: 57R20, 14M17; Secondary: 55N25, 14C17}
\thanks{
The author acknowledges the hospitality and support over a 
period of several years of 
the Institut Henri Poincar\'e, the \'{E}cole Normale Sup\'erieure, 
the Institut de Math\'ematiques de Jussieu, and the 
Minist\`ere de l'Enseignement et de la Recherche, France.}
\author{Loring W. Tu}
\address{Department of Mathematics\\
Tufts University\\
Medford, MA 02155-7049}
\email{loring.tu@tufts.edu}
\keywords{Atiyah-Bott-Berline-Vergne localization formula, 
equivariant cohomology, equivariant characteristic numbers, 
homogeneous spaces}
\begin{abstract}
Let $G$ be a compact connected Lie group with maximal torus $T$, and 
$H$ a closed subgroup containing $T$.
We work out the Atiyah-Bott-Berline-Vergne localization 
formula for the homogeneous space $G/H$ under the natural action of 
the maximal torus $T$.  
The computation gives explicit formulas for the ordinary 
and equivariant characteristic numbers of a homogeneous 
space.%\\
%
%\medskip
%\noindent
%{\sc R\'esum\'e}.
%Soit  $G$  un groupe de Lie connexe compact, 
%muni d'un tore maximal  $T$, et soit  $H$  
%un sous-groupe qui contient  $T$.  
% Nous \'etudions la formule de localisation 
% d'Atiyah-Bott-Berline-Vergne pour l'espace 
% homog�ne  $G/H$ sous l'action naturelle du 
% tore maximal  $T$.  Le calcul donne des 
% formules explicites pour les nombres 
% caract\'eristiques ordinaires et 
% \'equivariantes d'un espace homog\`ene.
 \end{abstract}
\date{December 25, 2003}
\maketitle

Let $G$ be a compact connected Lie group with maximal torus $T$, and $H$ a 
closed subgroup of $G$ containing $T$.  The quotient space $G/H$ includes 
examples such as Grassmannians and flag manifolds.  
The torus $T$ acts on $G/H$ by left multiplication.
In this note we apply the Atiyah-Bott-Berline-Vergne 
localization formula to calculate the equivariant 
characteristic numbers of $G/H$ under this torus action 
(Section \ref{s:eqcharnogh}).

As it well known, this yields the ordinary characteristic 
numbers of the homogeneous space $G/H$ 
(Th.~\ref{t:charnogh}).
However, our main interest is to derive a restriction 
formula (Th.~\ref{t:restrictgh}) and an Euler class 
formula (Th.~\ref{t:eulergh}) in the equivariant cohomology 
of $G/H$, 
for it turns out that these 
formulas can be used to calculate the Gysin homomorphism in 
the ordinary cohomology of a flag bundle.
The application to the Gysin homomorphism is an instance of 
a general principle relating the push-forward in ordinary 
cohomology to the localization formula in equivariant 
cohomology.  As this more general principle is independent 
of homogeneous spaces, we treat it in a separate article 
\cite{tu}.

In \cite{pedroza-tu} a relative localization formula is used 
to calculate the Gysin map of an equivariant map. 
The restriction formula (Th.~\ref{t:restrictgh}) and the Euler class 
formula (Th.~\ref{t:eulergh}) of the present article enter 
essentially in a calculation that allows us to recover a 
formula of Akyildiz and Carrell \cite{akyildiz-carrell} for 
the Gysin map of a map between flag manifolds.

Using techniques of symplectic quotients, Shaun Martin 
(\cite{martin}, Prop.~7.2) has obtained a formula for 
the characteristic numbers of a Grassmannian similar to our 
Prop.~\ref{p:charnogkn}.




To simplify the exposition, we discuss first the 
homogeneous space $G/T$.  The general case $G/H$ follows by 
suitable modifications.

Although we consider cohomology with 
real coefficients, everything goes through with rational coefficients.  
To minimize the pre-requisites and to 
establish the notations, in the first few sections we 
recall some results on associated bundles, the 
characteristic map, the actions of the Weyl group,
and equivariant cohomology.

I am grateful to Raoul Bott for suggesting the problem and 
for many helpful discussions.

\section{Associated bundles and the characteristic map}
\label{s:assobundles}

Suppose a torus $T$ of dimension $\ell$ acts freely on the right on a 
topological space $X$ so that $X \to X/T$ is a principal 
$T$-bundle.  A \emph{character} of $T$ is a multiplicative 
homomorphism of $T$ into $\C^*$.  Let $\hat{T}$ be the 
group of characters of $T$, with the multiplication of 
characters written additively:  for $\ga, \gb \in \hat{T}$ 
and $t\in T$,
\[
t^{\ga+\gb} := t^{\ga} t^{\gb} = \ga(t) \gb(t).
\]
Denote by $\C_{\gc}$ the complex vector space $\C$ with an 
action of $T$ given by the 
character $\gc: T \to \C^*$.

By the mixing construction, a character $\gc$ on $T$ 
associates to the principal bundle $X \to X/T$ 
a complex line bundle $L(X/T,\gc)$ over $X/T$:
\[
L(X/T,\gc) := X \times_T \C_{\gc} := (X \times \C_{\gc})/T,
\]
where $T$ acts on $X \times \C_{\gc}$ by
\[
(x,v)t= (xt, \gc(t\inv)v).
\]
The equivalence class of $(x,v)$ is denoted $[x,v]$.

The first Chern class of an associated line bundle defines a 
homomorphism of abelian groups
\begin{align} \label{e:characteristic}
c: \hat{T} &\to H^2(X/T) \\
 \gc &\mapsto c_1(L(X/T,\gc)). \notag
\end{align}
Let $\Sym(\hat{T})$ be the symmetric algebra with real 
coefficients generated by the additive group $\hat{T}$.  The 
group homomorphism \eqref{e:characteristic} extends to a ring 
homomorphism
\[
c: \Sym(\hat{T}) \to H^*(X/T),
\]
called the \emph{characteristic map} of $X/T$, sometimes 
denoted $c_{X/T}$.

We apply the construction of the associated bundle of a 
character $\gc \in \hat{T}$ to two situations:

\begin{enumerate}
\item[1)] The classifying space $BT$.  Applied to the 
universal bundle $ET \to BT$, this construction yields line 
bundles 
\[
S_{\gc} := L(ET/T, \gc)
\]
over $BT$ and cohomology classes $c(\gc) = c_1(S_{\gc})$ 
in $H^2(BT)$.  The characteristic map
\[
c: \Sym(\hat{T}) \to H^*(BT)
\]
is a ring isomorphism, since both are polynomial rings in 
$\ell$ generators and the generators correspond.  If $\chi_1, \dots, 
\chi_{\ell}$ is a basis for the character group $\hat{T}$ 
and $u_i = c_1(S_{\chi_i})$, then $\Sym (\hat{T})$ is the 
polynomial ring $\R[\chi_1, \dots, \chi_{\ell}]$, and
\[
H^*(BT) \simeq \R [ u_1, \dots, u_{\ell}].
\]
\item[2)] The homogeneous space $G/T$.  Applied to the 
principal $T$-bundle $G \to G/T$, this construction yields 
line bundles
\[
L_{\gc} := L(G/T, \gc)
\]
over $G/T$.
\end{enumerate}


\section{The actions of the Weyl group}

The Weyl group of a maximal torus $T$ in the compact 
connected Lie group $G$ is $W = N_G(T)/T$, where $N_G(T)$ 
is the normalizer of $T$ in $G$.  The Weyl group is a finite 
reflection group.

We use $w$ to denote both an element of $W$ and a lift of 
the element to the normalizer $N_G(T)$.
The Weyl group $W$ acts on the character group $\hat{T}$ of 
$T$ by
\[
(w\cdot \gc)(t) = \gc(w\inv t w).
\]
This action induces an action on $\Sym(\hatt)$ as ring 
isomorphisms.
Let $R$ be the polynomial ring
\[
R = \Sym(\hatt) = \R[\chi_1, \dots, \chi_{\ell}]
\]
and $R^W$ the subring of $W$-invariant polynomials.

If the Lie group $G$ acts on the right on a space $X$, then 
the Weyl group $W$ acts on the right on $X/T$ by
\[
r_w (xT) = (xT) w = xwT.
\]
This action of $W$ on $X/T$ induces by the pullback 
an action of $W$ on the line 
bundles over $X/T$  and also 
on the cohomology ring $H^*(X/T)$:
if $L$ is a line bundle on $X/T$ and $a \in H^*(X/T)$, then
\[
w\cdot L = r_w^* L, \qquad w\cdot a = r_w^* a.
\]

\begin{prop}
The action of the Weyl group $W$ on the associated line 
bundles over $X/T$ is compatible with its action on the 
characters of $T$; more precisely, for $w \in W$ and $\gc 
\in \hatt$, 
\[
r_w^* L(X/T, \gc) \simeq L(X/T, w\cdot \gc).
\] 
\end{prop}

\begin{proof}[Indication of proof]
Define $\varphi: r_w^* L(X/T, \gc) \to L(X/T, w\cdot \gc)$ by
\[
\varphi(xT, [xw, v])= [x,v].
\]
If we use a different representative $xt$ to represent $xT$, 
then
\[
(xT, [xw, v]) = (xtT, [xtw, v'])
\]
and it is easily verified that $v'=\gc(w\inv t\inv w)v$.
Hence, 
\begin{align*}
\varphi(xtT, [xtw,v']) &= [xt, v'] = [xt, (w\cdot 
\gc)(t\inv)v]\\
&= [x,v].
\end{align*}
This shows that $\varphi$ is well defined.  It has the obvious 
inverse map
\[
\psi ([x,v]) = (xT, [xw, v]).
\]
\end{proof}

\begin{cor} \label{c:charw}
The characteristic map $c: \Sym(\hatt) \to H^*(X/T)$ is 
$W$-equivariant.
\end{cor}

\begin{proof}
Writing $L_{\gc}$ instead of $L(X/T,\gc)$, it follows from 
the proposition that
\[
r_w^*c(\gc) = r_w^* c_1(L_{\gc}) = c_1(r_w^*L_{\gc})=
c_1(L_{w\cdot \gc}) = c(w\cdot \gc).
\]
\end{proof}

\begin{cor} \label{c:weylaction}
For $\gc$ a character on $T$ and $w$ an element of the 
Weyl group $W$,
\[
w\cdot c_1 (S_{\gc}) = c_1(S_{w\cdot \gc}).
\]
\end{cor}

\section{Homotopy quotients and equivariant cohomology}

Suppose a group $G$ acts on the left on a space $M$, and 
$EG \to BG$ is the universal principal $G$-bundle.  Since 
$G$ acts freely on $EG$, the diagonal action of $G$ on $EG 
\times M$,
\[
(e,x)g= (eg, g\inv x),
\]
is also free.  
The space $M_G := EG \times_G M := (EG \times M)/G$ is 
called the \emph{homotopy quotient of $M$ by $G$}, and its 
cohomology $H^*(M_G)$ the \emph{equivariant cohomology of 
$M$ under the $G$-action}, denoted $H_G^*(M)$.
For the basics of equivariant cohomology, we refer to 
\cite{bott} or \cite{guillemin-sternberg}.

A $G$-equivariant vector bundle $E \to M$ induces a vector 
bundle $E_G \to M_G$.  An \emph{equivariant characteristic 
class} $c^G(E)$ of $E \to M$ is defined to be the 
corresponding ordinary 
characteristic class $c(E_G)$ of $E_G \to M_G$.

By the definition of the homotopy quotient, $M_G \to BG$
is a fiber bundle with fiber $M$.  Let 
$i:M \to M_G$ be the inclusion map as a fiber.
We say that a cohomology class $\tilde{\ga}\in H_G^*(M)$ is 
an \emph{equivariant extension} of $\ga \in H^*(M)$ if 
$i^*\tilde{\ga} = \ga$.  For example, if $E\to M$ is a 
$G$-equivariant vector bundle, then any characteristic 
class $c(E)$ has an equivariant extension $c^G(E)$, since
\[
i^*c^G(E) = i^* c(E_G) = c(i^*E_G) = c(E).
\]


Now suppose $G$ is a compact connected Lie group with 
maximal torus $T$.  Let $\gc$ be a character of $T$.  The 
torus acts by left multiplication on the associated line 
bundle $L_{\gc} := L(G/T, \gc):= G \times_T \C_{\gc}$, 
\[
t[g,v] = [tg, v],
\]
making $L_{\gc} \to G/T$ into a $T$-equivariant complex 
line bundle.  Taking the homotopy quotients
yields a complex line bundle $K_{\gc} := (L_{\gc})_T \to 
(G/T)_T$.  Fix a basis $\chi_1, \dots, \chi_{\ell}$ for the 
characters of $T$ and let $y_i = c_1(K_{\chi_i}) \in 
H_T^2(G/T)$.  These are equivariant extensions of the 
cohomology classes $z_i := c_1(L_{\chi_i}) \in H^2(G/T)$.

Let $\pi: G/T \to \pt$ be the constant map.  Then
\begin{equation} \label{e:cohombt}
H_T^*(\{\pt\}) = H^*(BT) = \R[u_1, \dots, u_{\ell}], \qquad 
u_i=c_1(S_{\chi_i}).
\end{equation}

It follows from (\cite{brion}, Prop.~1(iii)) that the 
equivariant cohomology ring of $G/T$ under the $T$-action is
\begin{equation} \label{e:cohomgt}
H_T^*(G/T) = \R[u_1, \dots, u_{\ell}, y_1, \dots, 
y_{\ell}]/J,
\end{equation}
where $u_i$ stands for $\pi^*u_i$ and $J$ is the ideal 
generated by $p(y) - p(u)$, as $p$ ranges over all 
$W$-invariant polynomials of positive degree in $\ell$ variables, 
i.e., $p \in R_+^W$.

\section{Restriction to a fixed point in $G/T$}

For the action of the torus $T$ on $G/T$ by left 
multiplication, it is easily verified that the fixed point 
set is the Weyl group $W=N_G(T)/T$, considered as a subset 
of $G/T$.  If $w\in W$ is a fixed point, let 
$i_w:\{w\} \hookrightarrow G/T$ be the inclusion map.
Since $i_w$ is $T$-equivariant, it induces a homomorphism 
in equivariant cohomology
\[
i_w^*: H_T^*(G/T) \to H_T^*(\{w\}).
\]

\begin{prop} \label{p:restrictgt}
With the identification  
\[
H_T^*(G/T) = \R [ u_1, \dots, u_{\ell}, y_1, \dots, 
y_{\ell}]/J
\]
as in Eq.~\eqref{e:cohomgt} and
\[
H_T^*(\{w\}) \simeq H^*(BT) = \R[u_1, \dots, u_{\ell}],
\]
the restriction map $i_w^*: H_T^*(G/T) \to H_T^*(\{w\})$ is 
given by
\[
i_w^*(u_i)=u_i, \qquad i_w^*f(y)= w\cdot f(u),
\]
for $f(y) =f(y_1, \dots, y_{\ell}) \in \R[y_1, \dots, 
y_{\ell}]$.
\end{prop}

The proof of the proposition is based on two lemmas.
Given a character $\gc$ of the torus $T$, consider the $T$-equivariant 
associated bundle $L_{\gc}= L(G/T,\gc)$ over $G/T$.  At a 
fixed point $w$, the torus maps the fiber $(L_{\gc})_w$ 
linearly to itself.  Hence, the fiber $(L_{\gc})_w$ is a 
representation of $T$.

\begin{lem} \label{l:fiber}
At a fixed point $w \in W \subset G/T$, the fiber 
$(L_{\gc})_w$ is isomorphic to the representation 
$\C_{w\cdot \gc}$ of $T$.
\end{lem}

\begin{proof}
A point in the fiber of $L_{\gc}$ above $w$ is of the 
form $[w,v] \in G \times_T \C_{\gc}$.  For $t \in T$, 
since $w\inv t w \in T$,
\begin{align*}
t\cdot [w,v] &= [tw, v] = [w w\inv t w, v] = [w, \gc(w\inv t 
w) v]\\
&=[w, (w\cdot \gc)(t)v].
\end{align*}
Thus, under the isomorphism
\begin{align*}
(L_{\gc})_w &\to \C\\
[w,v] &\mapsto v,
\end{align*}
the torus $T$ acts on $\C$ by $t\cdot v = (w\cdot \gc)(t)v$.
\end{proof}

\begin{lem} \label{l:resbundle}
Let $j_w = (i_w)_T: \{w\}_T \to (G/T)_T$ be the map of 
homotopy quotients induced by the inclusion $i_w$.
For a character $\gc$ of $T$, the restriction of the line 
bundle $K_{\gc} := (L_{\gc})_T = L(G/T, \gc)_T$ from 
$(G/T)_T$ to $\{w\}_T \simeq BT$ is given by
\[
j_w^* K_{\gc} \simeq S_{w\cdot \gc}.
\]
\end{lem}

\begin{proof}
By Lemma \ref{l:fiber} the restriction of the line bundle $L_{\gc}$ to the fixed 
point $w$ gives rise to a commutative Cartesian diagram of 
$T$-equivariant maps
\[
\square<2`1`1`2;700`500>[\C_{w\cdot 
\gc}`L_{\gc}`\{w\}`G/T;```i_w].
\]
Taking the homotopy quotients results in the Cartesian 
diagram
\[
\square<2`1`1`2;700`500>[(\C_{w\cdot 
\gc})_T`(L_{\gc})_T`BT`(G/T)_T;```(i_w)_T].
\]
But
\[
(\C_{w\cdot \gc})_T = ET \times_T \C_{w\cdot \gc}
\]
is precisely the line bundle $S_{w\cdot \gc}$ over $BT$ 
associated to the character $w\cdot \gc$ of $T$.
\end{proof}

\begin{proof}[Proof of Proposition \ref{p:restrictgt}]
Let $\pi: G/T \to \{w\}$ be the constant map.  Then 
$\pi\comp i_w = 1_w$, the identity map on $\{w\}$.  
The elements $u_i$ in $H_T^*(G/T)$ are really $\pi^*u_i$.  
Hence, 
\[
i_w^* u_i = i_w^* \pi^* u_i =u_i.
\]

In Lemma \ref{l:resbundle}, take $\gc$ to be $\chi_i$.  Then
\begin{align*}
i_w^* y_i &= i_w^* c_1(K_{\chi_i}) = c_1(j_w^* K_{\chi_i}) = 
 c_1(S_{w\cdot \chi_i}) \\
 &=w\cdot c_1(S_{\chi_i}) \qquad \text{(by 
 Cor.~\ref{c:weylaction})}\\
 &=w\cdot u_i.
 \end{align*}
Since $i_w^*$ and $w$ are both algebra homomorphisms, for 
any polynomial $f$ in $\ell$ variables,
\[
i_w^* f(y_1, \dots, y_{\ell}) = w\cdot f(u_1, \cdots, 
u_{\ell}).
\]
\end{proof}
 

\section{The tangent bundle of $G/H$} \label{s:tangent}

Let $G$ be a Lie group with Lie algebra $\frakg$, and $H$ a closed 
subgroup with Lie algebra $\frakh$.  

% If $\pi: E \to G/H$ is a $G$-equivariant vector bundle, then 
% at the neutral element $H \in G/H$, the fiber $E_0 := 
% \pi\inv(\{H\})$ is a representation of $H$.  In 
% (\cite{segal}, p.~130) Segal shows that $E$ is isomorphic to 
% the associated bundle $G \times_H E_0$.  
% In particular, $T(G/H) \simeq G \times_H (\frakg/\frakh)$, 
% where $H$ acts on $\frakg/\frakh$ by left multiplication, or 
% what is the same in this case, the adjoint representation.
% We give a direct proof below.


\begin{prop}[See also \cite{segal}, p.~130] \label{p:tangh}
The tangent bundle of $G/H$ is diffeomorphic to the vector bundle 
$G\times_H (\frakg/\frakh)$ associated to the principal $H$-bundle $G \to 
G/H$ via the adjoint representation of $H$ on $\frakg/\frakh$.
\end{prop}

\begin{proof}
For $g\in G$, let ${\ell}_g: G/H \to G/H$ denote left multiplication by 
$g$.  Then ${\ell}_g$ is a diffeomorphism and its differential
\[
{\ell}_{g*}: T_{eH}(G/H) \to T_{gH}(G/H)
\]
is an isomorphism.  

Now define
\[
\varphi: G \times _H (\frakg/\frakh) \to T(G/H)
\]
by
\[
\varphi([g,v]) = {\ell}_{g*} (v).
\]
To show that $\varphi$ is well-defined, pick another representative of 
$[g,v]$, say $[gh, \Ad(h\inv)v]$ for some $h \in H$.
Then
\begin{align*}
{\ell}_{gh*}(\Ad(g\inv)v) &= {\ell}_{gh*} ({\ell}_{h\inv})_* r_{h*}v\\
&= {\ell}_{g*}{\ell}_{h*}({\ell}_{h\inv})_* r_{h*}v\\
&={\ell}_{g*}v,
\end{align*}
since right multiplication $r_h$ on $G/H$ is the identity map.

Since $\varphi$ is clearly a surjective bundle map of two 
vector bundles of the same rank, it is an isomorphism.
\end{proof}


\section{Equivariant Euler class of the normal bundle at a 
fixed point of $G/T$}

In this section $G$ is a compact connected Lie group, $T$ a 
maximal torus in $G$, and $\frakg$ and $\frakt$ their 
respective Lie algebras.  The adjoint representation of $T$ 
on $\frakg$ decomposes $\frakg$ into a direct sum
\[
\frakg = \frakt \oplus (\oplus_{\ga \in \tri^+} \C_{\ga}),
\]
where $\tri^+$ is a choice of positive roots.

Let $w$ be a fixed point of the left multiplication action 
of $T$ on $G/T$, and $\nu_w$ the normal bundle of $\{w\}$ 
in $G/T$.  The normal bundle at a point is simply the 
tangent space. Let $\ell(w)$ be the length of $w$ and 
$(-1)^w := (-1)^{\ell(w)}$ the sign of $w$.

\begin{prop} \label{p:eulergt}
The equivariant Euler class of the normal bundle $\nu_w$ at 
a fixed point $w \in W$ is
\[
e^T(\nu_w) = w\cdot \left( \prod_{\ga\in \tri^+} 
c_1(S_{\ga})\right) 
= (-1)^w \prod_{\ga \in \tri^+} c_1(S_{\ga}) 
\in H^*(BT).
\]
\end{prop}

\begin{proof}
By Prop.~\ref{p:tangh} the tangent bundle of $G/T$ 
is the homogeneous vector bundle associated to the adjoint 
representation of $T$ on $\frakg/\frakt = 
\oplus_{\ga \in \tri^+} \C_{\ga}$.
In the notation of Section \ref{s:assobundles},
\begin{equation} \label{e:tangt}
T(G/T) \simeq G \times_T (\oplus_{\ga \in \tri^+} 
\C_{\ga}) \simeq \oplus_{\ga \in \tri^+} L_{\ga}.
\end{equation}

By Eq.~\eqref{e:tangt} and
Lemma \ref{l:fiber}, at a fixed point $w$ the normal bundle 
$\nu_w$ is
\[
\nu_w = T_w(G/T) = \oplus_{\ga \in \tri^+} (L_{\ga})_w \simeq
\oplus_{\ga \in \tri^+} \C_{w\cdot \ga}.
\]
It follows that the equivariant Euler class of $\nu_w$ is
\begin{alignat*}{2}
e^T(\nu_w) &= e^T(\oplus_{\ga \in \tri^+} \C_{w\cdot\ga}) =
e(\oplus_{\ga \in \tri^+} (\C_{w\cdot\ga})_T) \\
&= e(\oplus_{\ga \in \tri^+} S_{w\cdot \ga}) 
&&\qquad\text{(by the definition of $S_{\ga}$)}\\
&=\prod_{\ga \in \tri^+} c_1(S_{w\cdot \ga}) = 
\prod_{\ga \in \tri^+} w\cdot c_1(S_{\ga}) 
&&\qquad\text{(Cor.~\ref{c:weylaction})}\\
&=w\cdot \left(\prod_{\ga \in \tri^+}c_1(S_{\ga})\right)
&&\qquad\text{($w$ is 
a ring homomorphism)}
\end{alignat*}

Each simple reflection $s$ in $W_G$ carries exactly one 
positive root to a negative root.  Hence,
\[
s\cdot \left(
\prod_{\ga \in \tri^+} c_1(S_{\ga}) \right) =
\prod_{\ga \in \tri^+} c_1(S_{s\cdot \ga}) 
=-\prod_{\ga \in \tri^+} c_1(S_{\ga}).
\]
Since $w$ is the product of $\ell (w)$ reflections, 
\[
w\cdot 
\left(
\prod_{\ga \in \tri^+} c_1(S_{\ga}) \right) = 
=(-1)^{\ell(w)}\prod_{\ga \in \tri^+} c_1(S_{\ga}).
\]
\end{proof}

\section{Equivariant cohomology of $G/H$}

As before, $G$ is a compact connected Lie group with 
maximal torus $T$.  Suppose $H$ is a closed subgroup of $G$ 
containing $T$.  In the next few sections we
indicate the modifications necessary 
when the homogeneous space $G/T$ is replaced by $G/H$.  
Since there are two groups $G$ and $H$ containing the 
maximal torus $T$, denote the Weyl groups by $W_G$ and $W_H$ 
respectively.

The equivariant cohomology ring of $G/H$ follows from 
(\cite{brion}, Prop.~1(iii)), as follows.
The commutative diagram
\[
\square<-1`1`1`-1;800`400>[(G/H)_G`(G/H)_T`\pt_G`\pt_T;j`\pi`\pi'`]
\]
induces the commutative diagram in cohomology
\[
\square<1`-1`-1`1;800`400>%
[H_G^*(G/H)`H_T^*(G/H)`H^*(BG)`H^*(BT);j^*`\pi^*`(\pi')^*`],
\]
and hence a ring homomorphism
\begin{equation} \label{e:ringhomo}
H^*(BT) \otimes_{H^*(BG)} H_G^*(G/H) \to H_T^*(G/H).
\end{equation}
It is shown in (\cite{brion}, Prop.~1(iii)) that 
Eq.~\eqref{e:ringhomo} is an isomorphism.

For definiteness, write as in Eq.~\ref{e:cohombt}
\begin{equation} \label{e:r}
R := H^*(BT) \simeq \R[u_1, \dots, u_{\ell}].
\end{equation}
To distinguish the two copies of $R$ in $R \otimes 
R^{W_H}$, we denote the second factor by
$\R [ y_1, \dots, y_{\ell}]^{W_H}$.
Thus,
\begin{equation} \label{e:equivcohomgh}
H_T^*(G/H) = \dfrac{\R [\seq{u}{\ell}] \otimes (\R [\seq{y}{\ell}]^{W_H})}{J},
\end{equation}
where  $J$ is the ideal generated by $p(y)-p(u)$ for all 
$W_G$-invariant homogeneous polynomials $p \in R_+^{W_G}$ of positive 
degree in $\ell$ variables.

With the identifications \eqref{e:r} and 
\eqref{e:equivcohomgh}, the map $j^*: H_G^*(G/H) \to 
H_T^*(G/H)$ is given by
\begin{equation} \label{e:jstar}
j^* b(u) = b(y).
\end{equation}




\section{Fixed points of $T$ acting on $G/H$}


The quotient space $W_G /W_H$ can be viewed as a 
subset of $G/H$ via
\[
\frac{W_G}{W_H} \simeq \frac{N_G (T)}{N_H (T)} = \frac{N_G(T)}{N_G(T) \cap 
H} 
\hookrightarrow \frac{G}{H}.
\]

\begin{prop} \label{p:fixedgh}
Suppose $T$ acts on $G/H$ by left multiplication.  Then the fixed point 
set $F$ is $W_G/W_H$.
\end{prop}

\begin{proof}
The coset $xH$ is a fixed point
\begin{align*}
	\text{iff }\quad & txH=xH  \qquad\text{for all } t\in T \\
	\text{iff }\quad & x\inv txH = H  \qquad\text{for all } t\in T \\
	\text{iff }\quad & x\inv tx \in H  \qquad\text{for all } t\in T \\
	\text{iff }\quad & x\inv Tx \subset H .
\end{align*}
Since any two maximal tori in $H$ are conjugate by an element of $H$, 
there is an element $h \in H$ such that
\[
h\inv x\inv T xh = T.
\]
Therefore, $xh \in N_G (T)$, and $xH=xhH$.  Thus any fixed point can be 
represented as $yH$ for some $y \in N_G(T)$.

Conversely, if $y \in N_G(T)$, then $yH$ is a fixed point 
of the action of $T$ on $G/H$.  It follows that there 
is a surjective map
\begin{align*}
N_G(T) &\twoheadrightarrow F \subset G/H, \\
y& \mapsto yH
\end{align*}
and hence a bijection
\[
\dfrac{N_G(T)}{H \cap N_G(T)} \simeq F.
\]
\end{proof}

\section{The restriction to a fixed point of $G/H$}

\begin{thm} \label{t:restrictgh}
With $H_T^*(G/H)$ as in Eq.~\eqref{e:equivcohomgh} and 
$w$ a fixed point in $W_G/W_H$, 
the restriction map $i_w^*$ in equivariant cohomology
\[
i_w^*: H_T^*(G/H) \to H_T^*(\{w\}) = \R[u_1, \dots, 
u_{\ell}]
\]
is given by
\[
i_w^*u_i = u_i, \qquad i_w^*f(y) = w\cdot f(u)
\]
for any $W_H$-invariant polynomial $f(y) \in \R[y_1, \dots, 
y_{\ell}]^{W_H}$.
\end{thm}

\begin{proof}
Write $w=xH \in G/H$.  The commutative diagram of 
$T$-equivariant maps 
\[
\square<1`1`1`1;600`400>[\{xT\}`G/T`\{xH\}`G/H;{i_{xT}}`\gs`\gs`{i_{xH}}]
\] 
induces a commutative diagram in equivariant cohomology
\[
\square<-1`-1`-1`-1;800`400>%
[H^*(BT)`H_T^*(G/T)`H^*(BT)`H_T^*(G/H);i_{xT}^*`\gs^*`\gs^*`i_{xH}^*].
\]
Since $\gs^*:H_T^*(G/H) \to H_T^*(G/T)$ is an injection, 
the restriction $i_{xH}^*$ is given by the same formula as 
the restriction $i_{xT}^*$.  The theorem then follows from 
Prop.~\ref{p:restrictgt}.
\end{proof}

\section{Pullback of an associated bundle}

Assume that $\rho: H \to \Aut(V)$ is a representation of $H$.
By restriction, one obtains a representation of the maximal 
torus $T$.

\begin{prop} \label{p:pullbackass}
Let $\gs: G/T \to G/H$ be the projection map.  Under $\gs$ 
the associated bundle $G\times_H V$ pulls back to $G\times_T 
V$:
\[
\gs^*(G\times_H V) \simeq G\times_T V.
\]
\end{prop}

\begin{proof}
Let $[g,v]_T$ and $[g,v]_H$ denote the equivalence classes 
of $(g,v)$ in $G\times_TV$ and $G\times_H V$ respectively.
Define $\varphi: G\times_T V \to \gs^*( G\times_H V)$ by
\[
[g,v]_T \mapsto (gT, [g,v]_H).
\]

If $(gT, [g',v']_H)$ is any element of $\sigma^*(G\times_H 
V)$, then $gH= g'H$.  Hence, $g'=gh$ for some $h \in H$ and
\begin{align*}
(gT, [g',v']_H) &= (gT, [gh,v']_H) \\
&=(gT, [g, hv']_H) \\
&= \varphi ([g, hv']_T),
\end{align*}
which shows that $\varphi$ is surjective.  A surjective 
bundle map between two vector bundles of the same rank is an 
isomorphism.
\end{proof}


\section{Pulling back the tangent bundle of $G/H$ to $G/T$}

Let $\frakg, \frakh$, and $\frakt$ be the Lie algebras of 
$G, H$, and $T$ respectively.  Under the adjoint 
representation of $H$ the Lie algebra $\frakg$ decomposes 
into a direct sum of $H$-modules
\[
\frakg = \frakh \oplus \frakm.
\]
By Prop.~\ref{p:tangh}, the tangent bundle of $G/H$ 
is the associated bundle
\begin{equation} \label{e:tangentass}
T(G/H) \simeq G\times_H \frakm.
\end{equation}

Restricting the adjoint representation to the maximal 
torus $T$, the Lie algebras of $H$ and $G$ decompose further 
into a sum of $T$-modules
\[
\frakh = \frakt \oplus (\oplus_{\ga \in \tri^+(H)} \C_{\ga})
\]
and
\[
\frakg = \frakt \oplus (\oplus_{\ga \in \tri^+(H)} \C_{\ga})
\oplus (\oplus_{\ga \in \tri^+ - \tri^+(H)} \C_{\ga}),
\]
where $\tri^+(H)$ denotes a choice of positive roots for 
$H$, and $\tri^+$ a choice of positive roots for $G$ 
containing $\tri^+(H)$.  Hence, as a $T$-module,
\begin{equation} \label{e:m}
\frakm = \oplus_{\ga \in \tri^+ - \tri^+(H)} \C_{\ga}.
\end{equation}

\begin{prop} \label{p:pullbacktangh}
Under the natural projection $\gs: G/T \to G/H$, the 
tangent bundle $T(G/H)$ pulls back to a sum of associated 
line bundles:
\[
\gs^*T(G/H) \simeq \oplus_{\ga \in \tri^+ - \tri^+(H)} 
L_{\ga}.
\]
\end{prop}

\begin{proof}
\begin{alignat*}{2}
\gs^*T(G/H) &\simeq \gs^*(G \times_H \frakm) \simeq G 
\times_T \frakm &&\qquad\text{(by \eqref{e:tangentass} and 
Prop.~\ref{p:pullbackass})}\\
&= G\times_T (\oplus_{\ga \in \tri^+ - \tri^+(H)} \C_{\ga})
&&\qquad\text{(by \eqref{e:m})}\\
&= \oplus_{\ga \in \tri^+ - \tri^+(H)} L_{\ga}&&
\qquad\text{(def.~of $L_{\ga}$)}
\end{alignat*}
\end{proof}


\section{The normal bundle at a fixed point of $G/H$}

At a fixed point $w=xH$ of $G/H$, with $x\in N_G(T)$, the 
action of $T$ on $G/H$ induces an action of $T$ on the 
tangent space $T_w(G/H)$.

\begin{prop} \label{p:tanspgh}
At a fixed point $w=xT$ of $G/H$, the tangent space 
$T_w(G/H)$ decomposes as a representation of $T$ into
\[
T_w(G/H) \simeq \oplus_{\ga \in \tri^+ - \tri^+(H)} 
\C_{w\cdot \ga}.
\]
\end{prop}

\begin{proof}
Let $\gs: G/T \to G/H$ be the projection map.  Then
\begin{alignat*}{2}
T_{xH}(G/H) &= (T(G/H))_{xH} &&\qquad\text{(fiber of 
tangent bundle at $xH$)}\\
&=(\gs^*T(G/H))_{xT}&&\\
&=(\oplus_{\ga \in \tri^+ - \tri^+(H)} L_{\ga})_{xT}
&&\qquad\text{(Prop.~\ref{p:pullbacktangh})}\\
&\simeq \oplus_{\ga \in \tri^+ - \tri^+(H)} \C_{w\cdot\ga}
&&\qquad\text{(Lemma \ref{l:fiber})}
\end{alignat*}
\end{proof}

\begin{thm} \label{t:eulergh}
At a fixed point $w \in W_G/W_H$ of the left action of $T$ 
on $G/H$, the equivariant Euler class of the normal bundle 
$\nu_w$ is given by
\[
e^T(\nu_w) = w\cdot\left( \prod_{\ga \in \tri^+ - \tri^+(H)} 
c_1(S_{\ga}) \right).
\]
\end{thm}

\begin{proof}
The normal bundle $\nu_w$ at the point $w$ is the tangent 
space $T_w(G/H)$.  By Prop.~\ref{p:tanspgh}, the equivariant Euler 
class of $\nu_w$ is
\begin{align*}
e^T(\nu_w) &= e^T (T_w(G/H)) = e^T (\oplus_{\ga \in \tri^+ - \tri^+(H)}
\C_{w\cdot \ga}) \\
&= \prod_{\ga \in \tri^+ - \tri^+(H)} c_1^T(\C_{w\cdot 
\ga}) = \prod c_1((\C_{w\cdot\ga})_T) \\
&=\prod c_1(S_{w\cdot\ga}) = w\cdot \left(\prod_{\ga \in \tri^+ - 
\tri^+(H)} c_1(S_{\ga})\right).
\end{align*}
\end{proof}

\section{Equivariant characteristic numbers of $G/H$} 
\label{s:eqcharnogh}

Suppose a torus $T$ acts on a compact oriented manifold $M$.
Let $\pi: M \to \pt$ be the constant map and 
$\pi_*:H_T^*(M) \to H_T^*(\pt)= H^*(BT)$ the push-forward 
or integration
map in equivariant cohomology.
For any class $\eta \in H_T^*(M)$, the Atiyah-
Bott-Berline-Vergne (ABBV) localization formula computes 
$\pi_*\eta$ in terms of an integral over the fixed point set 
$F$ (\cite{atiyah-bott}, \cite{berline-vergne}).  In case 
the fixed points are isolated, the ABBV localization formula 
states that
\[
\pi_*\eta = \sum_{p \in F} \dfrac{i_p^*\eta}{e^T(\nu_p)}.
\]

For $G/H$ with the standard torus action, let
\[
f(y) \in \dfrac{\R [\seq{u}{\ell}] \otimes (\R [\seq{y}{\ell}]^{W_H})}
{(p(y)-p(u) \mid p \in R_+^{W_G})}.
\]
Since $y_1, \dots, y_{\ell}$ are all equivariant 
characteristic classes, 
$\pi_*f(y)$ is called an \emph{equivariant characteristic 
number} of $G/H$.
With the restriction formula (Th.~\ref{t:restrictgh}) and 
the Euler class formula (Th.~\ref{t:eulergh}),
\begin{equation} \label{e:gysingh}
\pi_* f(y) = \sum_{w\in W_G/W_H} w \cdot \left(
\dfrac{f(u)}{\prod_{\ga \in \tri^+ - \tri^+(H)} c_1(S_{\ga})}
\right).
\end{equation}

For $G/T$, the formula is slightly simpler.  For
\[
f(y) \in \dfrac{\R[u_1, \dots, u_{\ell}, y_1, \dots, 
y_{\ell}]}
{(p(y)-p(u) \mid p \in R_+^{W_G})},
\]
one has
\begin{equation} \label{e:gysingt}
\pi_* f(y) = \sum_{w\in W_G} w \cdot \left(
\dfrac{f(u)}{\prod_{\ga \in \tri^+} c_1(S_{\ga})}
\right)
= \dfrac{\sum_{w\in W_G} (-1)^w w\cdot f(u)}
{\prod_{\ga \in \tri^+} c_1(S_{\ga})},
\end{equation}
where the last equality follows from Prop.~\ref{p:eulergt}.


\section{Ordinary integration and equivariant integration}

We state a general principle (Prop.~\ref{p:ordint}), well 
known to the experts, relating ordinary integration and 
equivariant integration.  It is implicit in Atiyah-Bott 
(\cite{atiyah-bott}, Section 8) and explicitly stated for 
the Chow ring in Edidin-Graham (\cite{edidin-graham}, 
Prop.~5, p.~627).

\begin{prop} \label{p:ordint}
Let $M$ be a compact oriented manifold of dimension $n$ on 
which a group $G$ acts
and let $\pi_*: H_G^*(M) \to H^*(BG)$ be equivariant 
integration.  Suppose a cohomology class $\eta \in 
H^n(M)$ has an equivariant extension $\tilde{\eta} \in 
H_G^n(M)$.  Then
\begin{equation} \label{e:int}
\int_M \eta = \pi_* \tilde{\eta}.
\end{equation}
\end{prop}

\begin{rem}
For a torus action the right-hand side $\pi_*\tilde{\eta}$ 
of Eq.~\eqref{e:int} can be 
computed using the ABBV localization formula in terms of the 
fixed point set $F$ of $T$ on $M$.  In case the fixed 
points are isolated, this gives
\[
\int_M \eta = \sum_{p\in F} \dfrac{i_p^* \tilde{\eta}}
{e^T (\nu_p)}.
\]
\end{rem}

\begin{proof}[Proof of Prop.~\ref{p:ordint}]
The commutative diagram
\[
\square[M`M_G`\pt`BG;i`\tau`\pi`j]
\]
induces by the push-pull formula a commutative diagram in 
cohomology
\begin{equation} \label{e:restrictfiber}
\square<-1`1`1`-1;800`400>%
[H^n(M)`H_G^n(M)`H^0(\pt)`H^0(BG);i^*`\tau_*`\pi_*`j^*].
\end{equation}
In degree 0, the restriction $j^*:H^0(BG) \to H^0(\pt)$ is 
an isomorphism.  Hence, if $\eta$ has degree $n$ in 
$H^n(M)$, then by the commutative diagram 
\eqref{e:restrictfiber}
\[
\int_M \eta = \tau_* \eta = \tau_* i^* \tilde{\eta} = 
j^*\pi_*{\eta} = j^* \pi_* \tilde{\eta} = \pi_* 
\tilde{\eta}.
\]
\end{proof}

Since all ordinary characteristic classes of $G$-vector 
bundles have equivariant extensions, all ordinary 
characteristic numbers of $G$-vector bundles can be 
computed from the ABBV localization formula.

Fix a basis $\chi_1, \dots, \chi_{\ell}$ of the character 
group $\hat{T}$ of the maximal torus $T$ in the compact connected 
Lie group $G$.  Let $H$ be a closed subgroup containing $T$ 
in $G$.  On $G/T$, we have associated bundles 
$L_{\chi_i} := G \times_T \C_{\chi_i}$.  Let $z_i = 
c_1(L_{\chi_i}) \in H^2(G/T)$.
Let $R$ be the polynomial ring $\R[z_1, \dots, z_{\ell}]$.
By Borel (\cite{borel}, Th.~26.1(b)),
\[
H^*(G/H) = \dfrac{R^{W_H}}{(R_+^{W_G})} = \dfrac{\R[z_1, \dots, 
z_{\ell}]^{W_H}}{(R_+^{W_G})}.
\]

\begin{thm} \label{t:charnogh}
Let $f(z) \in \R[z_1, \dots, z_{\ell}]^{W_H}$ be a 
$W_H$-invariant polynomial of degree $\dim G/H$, where each 
$z_i$ has degree 2. Then the characteristic number $\int_{G/H} 
f(z)$ of $G/H$ is given by
\[
\int_{G/H} f(z) = \pi_* f(y) = \sum_{w\in W_G/W_H}
w\cdot \left(
\dfrac{f(u)}{\prod_{\ga \in \tri^+ - \tri^+(H)} c_1(S_{\ga})}
\right).
\]
\end{thm}

\begin{proof}
Since $y_i= c_1^T(L_{\chi_i})$ is an equivariant extension 
of $z_i$, the cohomology class $f(y) \in H_T^*(G/H)$ is an equivariant extension 
of $f(z)$.
Combining Prop.~\ref{p:ordint} and 
Eq.~\eqref{e:gysingh}, the formula for the ordinary 
characteristic numbers of $G/H$ follows.
\end{proof}

\section{Example: the complex Grassmannian}

In this example we work out the characteristic numbers of 
the complex Grassmannian $G(k,n)$ of $k$-planes in $\C^n$.  
As a homogeneous space, $G(k,n)$ can be represented as $G/H$, where $G$ is the 
unitary group $U(n)$ and $H$ the closed subgroup $U(k) 
\times U(n-k)$.

A maximal torus containing $H$ is
\[
T= U(1) \times \dots \times U(1) =
\left\{
t=\left.
\begin{bmatrix}
t_1 & & \\
& \ddots & \\
&& t_n
\end{bmatrix}
\ 
\right|\ 
t_i \in U(1)
\right\}.
\]
A basis for the characters of $T$ is $\chi_1, \dots, 
\chi_n$, with $\chi_i (t) = t_i$.
A choice of positive roots for $G$ and for $H$ is
\begin{align*}
\tri^+ &= \{ \chi_i - \chi_j \mid 1 \le i < j \le n \},\\
\tri^+(H) &=  \{ \chi_i - \chi_j \mid 1 \le i < j \le k \} 
\cup
 \{ \chi_i - \chi_j \mid k+1 \le i < j \le n \}.
\end{align*}
Therefore,
\[
\tri^+ - \tri^+(H) =
 \{ \chi_i - \chi_j \mid 1 \le i \le k, \ k+1 \le j \le n \}.
\]
If $\ga = \chi_i - \chi_j$, then
\begin{equation} \label{e:chernclass}
c_1(S_{\ga}) = c_1 (S_{\chi_i} \otimes S_{\chi_j}^*) = 
c_1(S_{\chi_i}) - c_1(S_{\chi_j}) = u_i - u_j.
\end{equation}

The Weyl groups of $T$ in $G$ and $H$ are
\begin{align*}
W_G & = S_n = \ \text{the symmetric group on $n$ objects},\\
W_H & = S_k \times S_{n-k}.
\end{align*}
Hence, the coset space $W_G/W_H$ is in one-to-one 
correspondence with the set of multi-indices
$I=(i_1 < \dots < i_k)$ of length $k$, with $1 \le i_r 
\le n$ for all $r=1, \dots, k$.  Each such $I$ has a 
complementary multi-index $J= (j_1 < \dots < j_{n-k})$ with 
$I \cup J = \{ 1, \dots, n\}$.

The permutation $w \in S_n/(S_k\times S_{n-k})$ 
corresponding to $I$ is
\begin{equation} \label{e:permutation}
w(1) = i_1, \dots, w(k) = i_k, w(k+1)= j_1, \dots, 
w(n)=j_{n-k}.
\end{equation}

By Eq.~\eqref{e:equivcohomgh}, the real equivariant cohomology ring of the 
Grassmannian $G(k, n)$ under the torus action is
\begin{equation} \label{e:htgkn}
H_T^*(G(k,n))=\dfrac{\R [\seq{u}{n}] \otimes (\R [\seq{y}{k},y_{k+1}, \dots,
y_n]^{S_k \times S_{n-k}})}
{(\prod (1+y_i) - \prod(1+u_i))}
\end{equation}
In this formula, the notation $(p(u,y))$ means the ideal generated by the 
homogeneous terms of the polynomial $p(u,y)$.

Let $\sigma_r$ be the $r$-th elementary symmetric polynomial.
If $S$ and $Q$ are the universal sub and quotient 
bundles over $G(k,n)$, then
\[
s_r = c_r^T(S) = \gs_r(y_1, \dots, y_k) \quad\text{and}\quad 
q_r= c_r^T(Q) = \gs_r(y_{k+1}, \dots, y_n).
\]
Thus Eq.~\eqref{e:htgkn} can be rewritten in the 
form
\[
H_T^*(G(k,n))=\dfrac{\R [\seq{u}{n}, \seq{s}{k},\seq{q}{n-k}]}
{((1+s_1+\dots +s_k)(1+q_1+\dots +q_{n-k}) - \prod(1+u_i))}.
\]
Using the relation
\begin{equation} \label{e:relationq}
1+\sum_{i=1}^{n-k} q_i = \dfrac{\prod (1+u_i)}{1+\sum s_i},
\end{equation}
one can eliminate all the $q_i$ from $H_T^*(G(k,n))$; in other words, 
$H_T^*(G(k,n))$ is generated as an algebra over $\R [\seq{u}{n}]$ by 
$\seq{s}{k}$ with relations given by terms of degree $> 2(n-k)$ in 
\eqref{e:relationq}.  In computing degrees, keep in mind that $\deg u_i =2$ 
and $\deg s_i = \deg q_i = 2i$.


\begin{prop} \label{p:charnogkn}
The characteristic numbers of 
$G(k,n)$ are
\begin{equation} \label{e:charnogkn}
\int_{G(k,n)} c_1(S)^{m_1} \dots c_k(S)^{m_k} =
\sum_I \dfrac{\prod_{r=1}^k \gs_r (u_{i_1}, \dots, 
u_{i_k})^{m_r}}
{\prod_{i\in I} \prod_{j\in J} (u_i - u_j)},
\end{equation}
where $\sum m_r = k(n-k)$ and $I$ runs over all multi-indices
$1 \le i_1 < \dots < i_k \le n$.
\end{prop}

\begin{proof}
In Theorem \ref{t:charnogh}, take $f(y)$ to be $\prod_{r=1}^k
\gs_r(y_1, \dots, y_k)^{m_r}$.
Then
\[
w\cdot f(u) = \prod_{r=1}^k \gs_r(u_{i_1}, \dots, 
u_{i_k})^{m_r}.
\]
By \eqref{e:chernclass},
\[
\prod_{\ga \in \tri^+ - \tri^+(H)} c_1(S_{\ga}) = 
\prod_{i=1}^k \prod_{j=k+1}^n (u_i - u_j).
\]
By \eqref{e:permutation},
\[
w\cdot \left(
\prod_{\ga \in \tri^+ - \tri^+(H)} c_1(S_{\ga})
\right)=
\prod_{i\in I} \prod_{j \in J} (u_i - u_j).
\]
\end{proof}

One of the surprising features of the localization formula 
is that although the right-hand side of Eq.~\eqref{e:charnogkn} 
is apparently a sum of rational functions of $u_1, \dots, 
u_n$, the sum is in fact an integer.







\begin{thebibliography}{9}

\bibitem{arabia} A. Arabia, Cohomologie $T$-\'equivariante 
de la vari\'et\'e de drapeaux d'un groupe de Ka\v{c}-Moody, 
\emph{Bull.\ Soc.\ math.\ France} 117 (1989), 129--165.

\bibitem{akyildiz-carrell} E. Akyildiz and J. B. Carrell, An 
algebraic formula for the Gysin homomorphism from $G/B$ to 
$G/P$, Illinois J. Math. 31 (1987), 312--320.

\bibitem{atiyah-bott} M.~Atiyah and R.~Bott, The moment map and 
equivariant cohomology, \emph{Topology}, 1984, 1--28.

\bibitem{berline-vergne} N. Berline and M. Vergne, Classes 
caract\'eristiques \'equivariantes. Formule de localization en 
cohomologie \'equivariante, {\it C. R. Acad.\ Sc. Paris}, S\'erie I, 
t.\ 295 (1982), pp.~539--540.  

\bibitem{borel53} A.~Borel, Sur la cohomologie des espaces fibr\'es 
principaux et des espaces homog\`enes de groupes de Lie compacts, \emph{Ann.\ 
Math.}\ 57 (1953), 115--207.

\bibitem{borel} A.~Borel et al, {\it Seminar on Transformation Groups}, 
Annals of Math.\ Studies 46, Princeton University Press, 1960.


\bibitem{bott} R. Bott, An introduction to equivariant 
cohomology, in \emph{Quantum Field Theory: Perspective and 
Prospective} (ed. C. DeWitte-Morette), 35--56, Kluwer Academic 
Publishers, Dordrecht, 1999.

% \bibitem{bott-tu} R. Bott and L. Tu, \emph{Differential Forms in Algebraic 
% Topology}, Springer-Verlag, 1982.

\bibitem{brion} M.~Brion, Equivariant cohomology and equivariant 
intersection theory (Notes by Alvaro Rittatore), in NATO Adv.\ Sci.\ 
Inst.\ Ser.\ C Math.\ Phys.\ Sci., 514, {\it Representation Theories and 
Algebraic Geometry (Montreal, PQ, 1997)}, 1--37, Kluwer Acad.\ Publ., 
Dordrecht, 1998.

\bibitem{edidin-graham} D. Edidin and W. Graham, 
Localization in equivariant intersection theory and the 
Bott residue formula, \emph{Amer.\ J.\ of Math.} 120 (1998), 619--636.

\bibitem{guillemin-sternberg} V.~Guillemin and S.~Sternberg, {\it 
Supersymmetry and Equivariant de Rham Theory}, Springer-Verlag, 
New York, 1999.

\bibitem{hsiang} W.-Y.~Hsiang, {\it Cohomology of Transformation Groups}, 
Springer-Verlag, New York, 1975.

\bibitem{martin} S. K. Martin, Symplectic quotients by a 
nonabelian group and by its maximal torus, to appear in 
\emph{Annals of Math.} 

\bibitem{pedroza-tu} A. Pedroza and L. W. Tu, Generalizaing 
the localization formula in equivariant cohomology, 
preprint.

\bibitem{segal} G. Segal, Equivariant $K$-theory, 
\emph{Inst. Hautes \'{E}tudes Sci. Publ. Math.} 34 (1968), 129--151.

\bibitem{tu} L. W. Tu, The Gysin map, equivariant 
cohomology, and symmetrizing operators, preprint.

\end{thebibliography}

\end{document}

% What follows is a proof that the T-equivariant cohomology 
% of G/H is the W_H-invariants of the T-equivariant 
% cohomology of G/T.

Let $R= H^*(BT)$. Then
\begin{align*}
H_T^*(G/H) &\simeq R \otimes_{R^{W_G}} H_G^*(G/H) \simeq R 
\otimes_{R^{W_G}} H^*(BH) \\
&\simeq R \otimes_{R^{W_G}} R^{W_H}.
\end{align*}

What follows is a computation that identifies the 
generators of $H_G^*(G/H)$ in terms of the associated 
bundles of characters of $T$.  
The proof is a modification of a representation 
theory argument due to Borel (\cite{borel}, Section 27) for the case of 
ordinary cohomology.

The key is the fibering $\pi: G/T \to G/H$ with fiber 
$H/T$.  The Weyl group $W_H$ acts on all three spaces by right 
multiplication, with the action being trivial on $G/H$:  if $w \in N_H(T)$, 
then
\[
(gH).w = gwH = gH.
\]

The projection map $\pi: G/T \to G/H$ is clearly $T$-equivariant and 
induces a map of homotopy quotients
\[
\pi_T: (G/T)_T \to (G/H)_T,
\]
which is also a fiber bundle with fiber $H/T$.

Since the right action of $W_H$ on $G/T$ and $G/H$ commute with the left 
action of $T$, the Weyl group $W_H$ also acts on the homotopy quotients 
$(G/T)_T$ and $(G/H)_T$.  Of course, its action on $(G/H)_T$ is trivial.

\begin{lem}
The equivariant cohomology ring $H_T^*(G/H)$ has only classes of even 
degrees.
\end{lem}

\begin{proof}
In the spectral sequence of the fibering
\begin{equation*}
\bfig
\putqtriangle<1`0`1;500>(0,0)[G/H`{(G/H)_T}`BT,;``]
\efig
\end{equation*}
both $H^*(BT)$ and $H^*(G/H)$ have only classes of even degrees.  For 
dimension reasons, 
the spectral sequence degenerates at the $E_2$ term and additively,
\[
H_T^*(G/H) \simeq H^*(BT) \otimes H^*(G/H),
\]
which shows that $H_T^*(G/H)$ have only classes of even degrees.
\end{proof}

\begin{prop}
\label{p:cohomgh}
If $G$ is a compact connected Lie group with 
maximal torus $T$ and $H$ a closed subgroup containing $T$, 
then
\begin{align*}
H_T^*(G/H) &= H_T^*(G/T)^{W_H} \\
&= \dfrac{\R [\seq{u}{\ell}] \otimes (\R [\seq{y}{\ell}]^{W_H})}{J},
\end{align*}
where  $J$ is the ideal generated by $p(y)-p(u)$ for all 
$W_G$-invariant homogeneous polynomials $p \in R_+^{W_G}$ of positive 
degree in $\ell$ variables.
\end{prop}

\begin{proof}
The spectral sequence for the fibering
\begin{equation*}
\bfig
\putqtriangle<1`0`1;500>(0,0)[H/T`{(G/T)_T}`(G/H)_T;``]
\efig
\end{equation*}
degenerates at the $E_2$ term because $H_T^*(G/H)$ and $H^*(H/T)$ have 
only classes of even degrees.  Hence, as $W_H$-modules,
\[
H_T^*(G/T) \simeq H_T^*(G/H) \otimes H^*(H/T).
\]

Recall that $W_H$ acts on $H^*(H/T)$ as the regular representation
(\cite{borel53}, Lemma 27.1, p.~193).  
Thus,
\[
H^*(H/T) = \R \oplus (\cdots),
\]
where $\R= H^0(H/T)$ is the unique 1-dimensional invariant 
subspace of the regular representation, and $(\cdots)$ is a 
sum of subspaces that are permuted by $W_H$.
Since $W_H$ acts trivially on 
$H_T^*(G/H)$, by writing
\begin{align*}
H_T^*(G/T) &\simeq H_T^*(G/H) \otimes (\R \oplus \cdots ) \\
&\simeq  (H_T^*(G/H) \otimes \R) \oplus (H_T^*(G/H) \otimes \cdots ) \\
&\simeq H_T^*(G/H) \oplus (H_T^*(G/H) \otimes \cdots ) ,
\end{align*}
we see that $H_T^*(G/H)$ is precisely the subring of $W_H$-invariants of
$H_T^*(G/T)$.

If $w\in W_H$, then the right multiplication $r_w: G/T \to G/T$ by $w$ is 
$T$-equivariant.  So the induced homomorphism $r_w^*: H_T^*(G/T) \to 
H_T^*(G/T)$ is an $H_T^*(\pt)$-module homomorphism.  In particular, $W_H$ 
acts trivially on $H_T^*(\pt)= \R[\seq{u}{\ell}]$.
The explicit description of $H_T^*(G/H)$ then follows from 
Eq.~\eqref{e:cohomgt}.
\end{proof}
 
math0102013.extracted_bib
\begin{thebibliography}{9}

\bibitem{arabia} A. Arabia, Cohomologie $T$-\'equivariante 
de la vari\'et\'e de drapeaux d'un groupe de Ka\v{c}-Moody, 
\emph{Bull.\ Soc.\ math.\ France} 117 (1989), 129--165.

\bibitem{akyildiz-carrell} E. Akyildiz and J. B. Carrell, An 
algebraic formula for the Gysin homomorphism from $G/B$ to 
$G/P$, Illinois J. Math. 31 (1987), 312--320.

\bibitem{atiyah-bott} M.~Atiyah and R.~Bott, The moment map and 
equivariant cohomology, \emph{Topology}, 1984, 1--28.

\bibitem{berline-vergne} N. Berline and M. Vergne, Classes 
caract\'eristiques \'equivariantes. Formule de localization en 
cohomologie \'equivariante, {\it C. R. Acad.\ Sc. Paris}, S\'erie I, 
t.\ 295 (1982), pp.~539--540.  

\bibitem{borel53} A.~Borel, Sur la cohomologie des espaces fibr\'es 
principaux et des espaces homog\`enes de groupes de Lie compacts, \emph{Ann.\ 
Math.}\ 57 (1953), 115--207.

\bibitem{borel} A.~Borel et al, {\it Seminar on Transformation Groups}, 
Annals of Math.\ Studies 46, Princeton University Press, 1960.


\bibitem{bott} R. Bott, An introduction to equivariant 
cohomology, in \emph{Quantum Field Theory: Perspective and 
Prospective} (ed. C. DeWitte-Morette), 35--56, Kluwer Academic 
Publishers, Dordrecht, 1999.

% \bibitem{bott-tu} R. Bott and L. Tu, \emph{Differential Forms in Algebraic 
% Topology}, Springer-Verlag, 1982.

\bibitem{brion} M.~Brion, Equivariant cohomology and equivariant 
intersection theory (Notes by Alvaro Rittatore), in NATO Adv.\ Sci.\ 
Inst.\ Ser.\ C Math.\ Phys.\ Sci., 514, {\it Representation Theories and 
Algebraic Geometry (Montreal, PQ, 1997)}, 1--37, Kluwer Acad.\ Publ., 
Dordrecht, 1998.

\bibitem{edidin-graham} D. Edidin and W. Graham, 
Localization in equivariant intersection theory and the 
Bott residue formula, \emph{Amer.\ J.\ of Math.} 120 (1998), 619--636.

\bibitem{guillemin-sternberg} V.~Guillemin and S.~Sternberg, {\it 
Supersymmetry and Equivariant de Rham Theory}, Springer-Verlag, 
New York, 1999.

\bibitem{hsiang} W.-Y.~Hsiang, {\it Cohomology of Transformation Groups}, 
Springer-Verlag, New York, 1975.

\bibitem{martin} S. K. Martin, Symplectic quotients by a 
nonabelian group and by its maximal torus, to appear in 
\emph{Annals of Math.} 

\bibitem{pedroza-tu} A. Pedroza and L. W. Tu, Generalizaing 
the localization formula in equivariant cohomology, 
preprint.

\bibitem{segal} G. Segal, Equivariant $K$-theory, 
\emph{Inst. Hautes \'{E}tudes Sci. Publ. Math.} 34 (1968), 129--151.

\bibitem{tu} L. W. Tu, The Gysin map, equivariant 
cohomology, and symmetrizing operators, preprint.

\end{thebibliography}