  Let $G$ and $H$ be two simple graphs. A bijection $\phi:V(G)\rightarrow V(H)$
is called an isomorphism between $G$ and $H$ if $(\phi v_i)(\phi v_j)\in E(H)$
$\Leftrightarrow$ $v_i v_j\in E(G)$, $\forall v_i,v_j \in V(G)$. In the case
that $G = H$, we say $\phi$ an automorphism of $G$ and denote the group
consisting of all automorphisms of $G$ by $\mathrm{Aut}~G$. As well-known, the
problem of determining whether or not two given graphs are isomorphic is called
Graph Isomorphism Problem (GI). One of key steps in resolving GI is to work out
the partition $\Pi^*_G$ of $V(G)$ composed of orbits of $\mathrm{Aut}~G$. By
means of geometric features of $\Pi^*_G$ and combinatorial constructions such
as the multipartite graph $[\Pi^*_{t_1},\cdots,\Pi^*_{t_s}]$, we can reduce the
problem of determining $\Pi_G^*$ to that of working out a series of partitions
of $V(G)$ each of which consists of orbits of a stabilizer that fixes a
sequence of vertices of $G$, and thus the determination of the partition
$\Pi^*_v$ is a critical transition.
  On the other hand, we have for a given subspace $U \subseteq \mathbb{R}^n$ a
permutation group $\mathrm{Aut}~U := \{ \sigma \in S_n : \sigma ~ U = U \}$. As
a matter of fact, $\mathrm{Aut}~G = \cap_{\lambda \in \mathrm{spec}
\mathbf{A}(G) } \mathrm{Aut}~V_{\lambda}$, and moreover we can obtain a good
approximation $\Pi[ \oplus V_{\lambda} ; v ]$ to $\Pi_v^*$ by analyzing a
decomposition of $V_{\lambda}$ resulted from the division of $V_{\lambda}$ by
subspaces $\{ \mathrm{proj}[ V_{\lambda} ]( \pmb{e}_v )^{\perp} : v \in V(G)
\}$. In fact, there is a close relation among subspaces spanned by cells of
$\Pi[ \oplus V_{\lambda} ; v ]$ of $G$, which enables us to determine $\Pi_v^*$
more efficiently. In virtue of that, we devise a deterministic algorithm
solving GI in time $n^{ O( \log n ) }$.
