How to tell when two abstract root data are isomorphic This is a related question to one I just asked ($\textrm{GSp}_{4}^{\wedge} \cong \textrm{GSp}_4$).
Let $\Psi=(X,R,X^{\wedge},R^{\wedge}), \Psi_1 = (X_1,R_1,X_1^{\wedge},R_1^{\wedge})$ be two root data.  We say that $\Psi, \Psi_1$ are isomorphic if there exist isomorphisms $\phi: X \rightarrow X_1, \psi: X^{\wedge} \rightarrow X_1^{\wedge}$ such that $\phi R = R_1, \psi R^{\wedge} = R_1^{\wedge}$ and such that the perfect pairing is preserved:
$$\langle v,w \rangle = \langle \phi v, \psi w \rangle_1$$
for all $v \in X, w \in X^{\wedge}$.  Does there exist an algorithm which determines whether $\Psi, \Psi_1$ are isomorphic?  Maybe in a similar way to how finite dimensional complex representations of finite groups can be established as isomorphic by looking at the multiplicities of irreducible characters?  I had computed root data for $\textrm{GSp}_{2n}$, $\textrm{GSpin}_{2n+1}$ and wanted to go about convincing myself that these root data were dual for $n \geq 3$, and that $\textrm{GSp}_4$ was self dual.
 A: I have a partial answer. I know an algorithm which determines when two root data are isomorphic in some special cases: 
A) when rank $\le$ semisimple rank $+$ $1$, or
B) when the associated group has cyclic center.
I've written about this in a paper but it is not yet published. I used the algorithm to calculate the answer for your related question $\textrm{GSp}_{4}^{\wedge} \cong \textrm{GSp}_4$ .
I'll try to briefly outline the ideas behind the algorithm. Consider
the general case where you have two root data $\Psi$, $\Psi_1$ (associated to
groups $G$, $G_1$, respectively) of rank $m$ and semisimple rank $n\le{m}$. For $\Psi$ choose a basis for the simple roots and choose an arbitrary
ordering on the simple roots. This determines an order for the simple coroots. Define the $m\times n$ integer matrix $A=(A_{ij})$ where $A_{ij}$ is the $i$th coefficient of the $j$th simple root in the ordered basis. Similarly, define $B=(B_{ij})$ to be the $m\times n$ matrix where $B_{ij}$ is the $i$th coefficient of the $j$th simple coroot. Note that ${}^TAB$ is a Cartan matrix. In the same way construct matrices $C,D$ (corresponding to simple roots, simple coroots, respectively) for $\Psi_1$.
1) The root data have the same Lie algebra if and only if there exists
a permutation $P$ on the columns of $C$,$D$ (which corresponds to a permutation on the ordering of the simple roots of $\Psi_1$) s.t. the Cartan matrices are equal: ${}^TAB={}^TP\ {}^TCDP$. You don't have to exhaust over all permutations. For example, if the derived group associated to your datum is simple, then you can use the Dynkin diagram as an aid. For each root datum $\Psi,\Psi_1$, associate the simple roots with nodes in the diagram and then order the simple roots consistently for each datum. You don't even have to sweat the diagram automorphisms for the simple Lie algebras! However, if your datum comes from a group with multiple factors of the same simple Lie algebra, then it may not be possible to avoid exhausting the orderings on the simple factors of the same type.
2) Assume we are now inside the outer loop over permutations (if necessary) so that ${}^TA B= {}^TC D$. The next problem is: find $\phi\in GL(m,\mathbb{Z})$ s.t. $(\phi A,\ {}^{T}\phi^{-1}B)=(C,D)$ or prove that no such $\phi$ exists. Using the uniqueness of the HNF (Hermite Normal Form), apply the HNF decomposition to find $\phi\in{GL}(m,\mathbb{Z})$
s.t. $\phi A=C$ or show that no such $\phi$ exists. If such a $\phi$ exists
and $m=n$, (equivalently, $G$ is semisimple) then $\phi$ is unique and
${}^T\phi^{-1}B=D$ is automatic. However, if $m > n$, (equivalently, if $G$ is not semisimple) then $\phi A=C$ does not necessarily imply that ${}^T\phi^{-1}B=D$. In this case there is typically more work to do. Let $H=uC$ be an HNF decomposition of $C$ where $H$ is the HNF and $u\in{GL}(m,\mathbb{Z})$. The group of matrices that fix $H$ has
the form $\begin{pmatrix}I_n&0\\X&v\end{pmatrix}$ where $I_n$ is the $n\times{n}$ identity matrix, $v\in{GL}(m-n,\mathbb{Z})$, and $X$ is some $(m-n)\times{n}$ matrix of integers. In the case that $m=n+1$, then $v=\begin{pmatrix}\pm 1\end{pmatrix}$, so just enumerate the two possibilities for $v$ and solve the linear system 
$$ {\ }^T\left(u^{-1} \begin{pmatrix}I_n&0\\X&v\end{pmatrix} u\right)^{-1} \left({}^T\phi^{-1}\right)B =D$$ 
 for $X$, or
show that no solution $X$ exists. 
The root data from your first question emphasizes why the ordering on
the simple roots in 1) is important, especially if you want to try
to use the HNF in 2) to help find an isomorphism. Refer back to the solution posted for $\textrm{GSp}_{4}^{\wedge} \cong \textrm{GSp}_4$. For the
dual datum, I could have started by defining $C=B$ and $D=A$. However, note the Cartan matrix ${}^TA B$ is not
symmetric so ${}^TCD={}^TBA\neq{}^TAB$. In this case the choice of orderings on the simple roots in $A$ and $C$ is inconsistent and I need not even bother with the HNF computation in 2).
