Let's consider a vector bundle $E$ of rank $n$ over a compact manifold $X$. Consider the associated Grassmannian bundle $G$ for some $k < n$, obtained by replacing each fiber $E\_x$ by $Gr(k,E\_x)$.


Let's suppose that there is a full flag of subbunldes $F\_1 \subset F\_2 \dots \subset F\_n \subset E$. I think that in this case we are able to define relative Schubert cycles on G which restrict to usual Schubert cycles on each fiber so that we can apply Leray-Hirsh theorem to deduce that $H^\*(G) = H^\*(X) \otimes H^\*(Gr(k,n))$.


1. Is the reasoning above correct?
2. Can we still compute $H^\*(G)$ in the case when the full flag of subbundles doesn't exist?


EDIT: I meant complex vector bundles and complex Grassmannians. Also the bundle can be assumed holomorphic or algebraic if it makes a difference.


EDIT: Ben in his answer mentions Serre's spectral sequence that can be used in this case. Is there a reason why it will degenerate to leave $H^\*(X) \otimes H^\*(Gr(k, n))$ as a result?



Grassmannian bundle theorem
Re 1.: the reasoning is correct additively, but not multiplicatively (did you check the case $k=1$?).


Re 2.: given any complex bundle $E$ over $X$ of rank $n$, the cohomology of the associated Grassmannian bundle of $k$-planes is $$H^{\bullet}(X,\mathbf{Z})\otimes\mathbf{Z}[c\_1,\ldots,c\_k,c\_1',\ldots,c\_{n-k}']/(1+c\_1+\cdots +c\_k)(1+c\_1'+\cdots +c\_{n-k}')=c(E)$$
where $\deg c\_i=\deg c'\_i=2i$ and $c(E)$ is the total Chern class of $E$.


This a modification of the Grothendieck trick which computes the cohomology of the projectivized vector bundle.


upd: here is a sketch of a proof of the above formula. On the total space $G$ of the Grassmannian vector bundle there is the tautological $k$-plane bundle $S$, which is a subbundle of the pullback $E'$ of $E$ under the bundle projection $p:G\to X$. Let $Q$ be the quotient bundle. We have $c(S)c(Q)=c(E')$. So we get an algebra map from the above algebra to the cohomology of $G$ (taking an element of $H^{\bullet}(X,\mathbf{Z})$ to its pullback, $c\_i$ to $c\_i(S)$ and $c\_i'$ to $c\_i(Q)$) and we have to show that it is an isomorphism.


Surjectivity: let us pick a $\mathbf{Z}$-basis of the cohomology of the Grassmannian, express each element as a polynomial in the Chern classes of the tautological bundle and take the resulting polynomials in $c\_i(S)$'s. When restricted to any fiber these form a $\mathbf{Z}$-basis of the cohomology of the fiber, so by the Leray-Hirsch principle, $H^{\bullet}(G,\mathbf{Z})$ is a free $H^{\bullet}(X,\mathbf{Z})$-module spanned by these classes.


Injectivity: the above algebra is also a free module over $H^{\bullet}(X,\mathbf{Z})$ and the the above map from it to $H^{\bullet}(G,\mathbf{Z})$ takes a basis to a basis.


