$\def\FF{\mathbb{F}}\def\CC{\mathbb{C}}\def\Sp{\text{Sp}}\def\SL{\text{SL}}\def\GL{\text{GL}}\def\PGL{\text{PGL}}$Let $p$ be an odd prime. The Weil representation is a $p^g$-dimensional complex representation of $\Sp_{2g}(\FF_p)$. If you read most descriptions of the Weil representation, they hit a key technical point: "linearizing the projective representation". They then usually apologize for how difficult this is and either (1) cite the details to some one else (2) perform intricate computations with generators and relations of $\Sp_{2g}(\FF_p)$ (3) perform  computations in group cohomology or (4) invoke tools from algebraic geometry. 

I think I have a way to linearize the projective representation which is completely elementary, and which allows me to write down the matrices of $\Sp_{2g}(\FF_p)$ in a completely elementary way. So I'm writing to ask if anyone has seen this, or if they know any reason it can't work.

Apologies for the length; it takes a while to lay out the notation.

<hr>

<b>The standard description:</b> Let $L$ be a $g$-dimensional vector space over $\FF_p$, let $L^{\vee}$ be the dual space and let $V = L \oplus L^{\vee}$, equipped with a symplectic form $( \ , \ )$ in the usual way. Let $H$ be the Heisenberg group, which is a certain extension $1 \to \FF^+_p \to H \to V \to 1$. I'll denote $\FF^+_p$ as $Z$ when I am thinking of it as the center of $H$. The Heisenberg group comes with a natural action of $\Sp(V)$; I'll write it as $h \mapsto h^g$ for $h \in H$ and $g \in \Sp(V)$. It is important to know that $z^g=z$ for all $z \in Z$ and $g \in \Sp(V)$.

Let $S$ be the $p^g$-dimensional vector space of $\CC$ valued functions on $L$. There is a natural action of $H$ on $S$ called the "Schrodinger representation", which is characterized as the unique irreducible representation of $H$ where $c \in \FF_p \subset H$ acts by $\zeta^c$. We'll write $\rho_S : H \to \GL(S)$ for the Schrodinger representation. I'll give explicit matrix formulas for $\rho_S$ below.

Let $g \in \Sp(V)$. Then $h \mapsto \rho_S(h^g)$ is another representation of $H$, in which $Z$ acts by the same character, so this new representation is isomorphic to $S$. Thus, there is some matrix $\alpha(g)$, well defined up to scalar multiple, such that $\rho_S(h^g) = \alpha(g) \rho_s(h) \alpha(g)^{-1}$.

<b>The issue with linearizing the projective representation</b> What most sources now explain is that it is clear that $\alpha(g_1) \alpha(g_2) = \alpha(g_1 g_2)$ inside $\PGL(S)$, but that it is not clear that they can be lifted to matrices that obey this relation in $\GL(S)$. This is where the big tools come out.

<b>How I want to do it</b> My idea is to write down an explicit list $\Gamma$ of matrices in $\GL(S)$ which (1) form a subgroup and (2) normalize the image of $H$ in $\GL(S)$. Once I do this, $\Gamma$ will act on $H$ and hence will act on $H^{\text{ab}} \cong V$, and it is easy to show that this gives a map $\Gamma \to \Sp(V)$. I will then (3) show that this map is an isomorphism. In other words, my strategy is not to ask "given a matrix in $\Sp(V)$, how should it act on $S$?" but, rather, "what is a subgroup of $\GL(S)$ which normalizes $H$ and acts on $H$ in the right way?"

<b>The Heisenberg representation in matrices</b> First, let me tell you what the representation $\rho_S$ is. Remember that $S$ is the $\CC$-valued functions on $L$ so, for a matrix $M$ in $\GL(S)$, the rows and columns of $M$ are indexed by the elements of $L$. I'll generally denote them as $M_{yx}$, for $x$, $y \in L$.

For $\lambda \in L$, $\lambda^{\vee} \in L^{\vee}$ and $c \in \FF_p$, the corresponding matrix in $\GL(S)$ is
$$\rho_S(\lambda, \lambda^{\vee}, c)_{yx} = \begin{cases} \zeta^{\lambda^{\vee}(x)+c} & y=x+\lambda \\ 0 & \text{otherwise} . \end{cases}.$$

<b>The Weil representation</b> I will now give a similar description of a list of matrices normalizing $H$. Each matrix will be indexed by the following data: (1) A vector space $R \subseteq L \oplus L$ and (2) a quadratic form $q$ on $R$. These will obey conditions, to be described later. Define
$$K(R,q)_{yx} = \begin{cases}
\zeta^{q((x,y))} & (x,y) \in R \\
0 & \text{otherwise} . \end{cases}.$$

<b>Remark:</b> The following may give some intuition. If $R = L \oplus L$ and $q(x_1, x_2, \ldots, x_g, y_1, y_2, \ldots, y_g) = \sum x_j y_j$, then this is the finite Fourier transform. If $R$ is the graph of some isomorphism $\phi : L \to L$, and $q=0$, then $\left[ \begin{smallmatrix} \phi & 0 \\ 0 & \phi^{-T} \end{smallmatrix} \right]$ is in $\Sp(V)$, and this is the standard description of how such a matrix acts in the Weil representation. If $R$ is the diagonal $\{ (x,x) : x \in L \}$, and $q$ is a quadratic form on $L$, then we can think of $q$ as a self-adjoint map $L \to L^{\vee}$; then $\left[ \begin{smallmatrix} 1 & 0 \\ q & 1 \end{smallmatrix} \right]$ is in $\Sp(V)$, and this is the standard description of how such a matrix acts in the Weil representation.

I have found the following criterion for when such a matrix is invertible:

<b>Lemma</b> If $K(R,q)$ is invertible, then the projections of $R$ onto $L \oplus 0$ and $0 \oplus L$ must both be surjective. (In particular, $\dim R \geq \dim L$.) Given $R$ such that these projections are surjective, define $X = R \cap (L \oplus 0)$ and $Y = R \cap (0 \oplus L)$. For such an $R$ and any $q$, the formula $\langle x,y \rangle = q((x,y)) - q((x,0)) - q((0,y))$ defines a bilinear pairing between $X$ and $Y$. The matrix $K(R,q)$ is invertible if and only if this pairing is nondegenerate. If so, then
$$\det K(R,q) = \pm (p^{\ast})^{(\dim L) (\dim R - \dim L)/2} \ \text{where}\ p^{\ast} = (-1)^{(p-1)/2}.$$

<b>Remark</b> If $\dim R = \dim L$, then the condition that $R$ surjects onto $L \oplus 0$ and onto $0 \oplus L$ just says that $R$ is the graph of an isomorphism $\phi: L \to L$. In this case, $X=Y=0$, so the condition on $q$ is automatic. This corresponds to the representation theory of the subgroup $\left[ \begin{smallmatrix} \phi & 0 \\ \ast & \phi^{-T} \end{smallmatrix} \right]$ in $\Sp(V)$.

For $(R,q)$ such that $K(R,q)$ is invertible, set
$$\gamma(R,q) = \tfrac{\pm 1}{(p^{\ast})^{(\dim R-\dim L)/2}} K(R,q)$$
where the $\pm 1$ is chosen to make the determinant $1$. Since $p$ is odd, we know that $\dim S = |L|$ is odd, and this therefore defines a unique sign. (This is the key step which has no analogue for the real symplectic group; there is no determinant for operators on an infinite dimensional Hilbert space.)

Our group $\Gamma$ will be the collection of $\gamma(R,q)$, for $R$ and $q$ obeying the condition of the lemma.

<hr>

That was long for a Mathoverflow post, but compared to any papers I have seen addressing the linearization issue, it is pretty short and much more explicit! The remaining tasks are to check of points (1), (2) and (3) in the "how I want to do it" paragraph. All of these are on the level of exercises.

So, has anyone seen this? Or, I suppose, does anyone have a reason to think I've screwed up?