Simultaneous Sylvester Systems & Symmetries

Joshua Maglione

A related quantum problem

A qubit (quantum bit) is modeled by \(q \in\mathbb{C}^2\) via spin of electron:

q = \alpha \cdot (\uparrow) + \beta \cdot (\downarrow) = \alpha | 0 \rangle + \beta | 1 \rangle.

Measuring a qubit:

\begin{aligned} P(q=0) &= |\alpha|^2 &&&&& P(q=1) &= |\beta|^2 &&&\Longrightarrow&&& |\alpha|^2 + |\beta|^2 = 1 \end{aligned}


Logical gates (e.g. NOT, AND, OR) modeled by unitary group:

\mathrm{U}_2 = \left\{X \in \mathrm{GL}_2(\mathbb{C}) ~\middle|~ X \overline{X}^{\mathrm{t}} = I\right\}
H = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1 \\ 1 & -1 \end{pmatrix}
| 0 \rangle \overset{H}{\longrightarrow} \frac{1}{\sqrt{2}} (|0\rangle + | 1\rangle)

System of qubits \(q_1,\dots, q_n\in\mathbb{C}^2\) contained in the Hilbert space

q_1\otimes \cdots \otimes q_n \in\mathbb{C}^{2^n}

System \(|\Phi\rangle\in \mathbb{C}^{2^n}\) not entangled if written as \(|\Phi\rangle = q_1\otimes \cdots \otimes q_n\).

\sqrt{2} \cdot |GHZ\rangle = |000\rangle + |111\rangle
\sqrt{3} \cdot |W\rangle = |001\rangle + |010\rangle + |100\rangle
\begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix}
\begin{bmatrix} 0 & 0 \\ 0 & 1 \end{bmatrix}
\begin{bmatrix} 0 & 1 \\ 1 & 0 \end{bmatrix}
\begin{bmatrix} 1 & 0 \\ 0 & 0 \end{bmatrix}





multi-way array

Problem. Understand when two systems \(|\Phi\rangle, |\Psi\rangle\) equivalent:

LU-equivalent: \(\exists X_1,\dots, X_n\in \mathrm{U}_2\) such that

X_1\otimes\cdots\otimes X_n |\Phi\rangle = \sum_i(X_1q_{i1})\otimes \cdots \otimes (X_nq_{in}) = |\Psi\rangle

SLOCC-equivalent: \(\exists X_1,\dots, X_n\in \mathrm{SL}_2\) such that

(same condition as above)

A nearly identical problem exists in algebra


are LU- and SLOCC-inequivalent

Nilpotent groups & tensors

Nilpotent group \(G\) of class \(c\):

\(G = \gamma_1(G) \supset \gamma_2(G) \supset \cdots \supset \gamma_c(G) \supset \gamma_{c+1}(G) = \{1\}.\)

Important operation: commutator \([\cdot,\cdot]: G\times G \to G\) via

(x,y)\mapsto x^{-1}y^{-1}xy

Recursively define: \(\gamma_1(G) = G\) and for all \(k\geqslant 1\),

\gamma_{k+1}(G) = [\gamma_{k}(G), G] = \langle [x,y] ~|~ x\in\gamma_k(G), y\in G\rangle

Lower central series terminates:

Commutator yields a product:

[\gamma_a(G),\ \gamma_b(G)] \subseteq \gamma_{a+b}(G)
\begin{array}{ccccc} \gamma_a/\gamma_{a+1} & \times & \gamma_b/\gamma_{b+1} & \longrightarrow & \gamma_{a+b}/\gamma_{a+b+1} \\ & & & & \\ & & & & \\ \Z^{r_a} & \times & \Z^{r_b} & \longrightarrow & \Z^{r_{a+b}} \end{array}

a \(\Z\)-bilinear map

Problem. Given two class \(2\) nilpotent groups \(G,H\):

Isomorphism: \(\exists X_1\in\mathrm{GL}_r(\Z), X_2\in\mathrm{GL}_s(\Z)\) such that

Automorphism: \(\exists X_1\in\mathrm{GL}_r(\Z), X_2\in\mathrm{GL}_s(\Z)\) such that

G \supset \gamma_2(G) \supset \{1_G\}
H \supset \gamma_2(H) \supset \{1_H\}
[\cdot , \cdot]_G,\ [\cdot , \cdot]_H : \Z^r \times \Z^r \longrightarrow \Z^s

(same condition as above with \([\cdot,\cdot]_G\))

Tensor Isomorphism

Both problems special cases of tensor isomorphism

b : \Z^{r_i} \times \Z^{r_j} \longrightarrow \Z^{r_k}

multi-way arrays

bilinear maps

Given two \(K\)-tensors \(s, t : V_1\times \cdots \times V_n \to V_0\) decide if \(s\) equals \(t\) after a change of bases in \(V_i\) for all \(i\).

Goal: see how algebras associated to tensors help.

Groups from elliptic curves

From \(E\) and \(P\) build \(3\times 3\times 3\) tensor:

\left( \begin{bmatrix} 1 & 0 & 0 \\ 0 & x_0 & 1 \\ 0 & 1 & 0 \end{bmatrix}, \begin{bmatrix} 0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix}, \begin{bmatrix} -x_0 & -y_0 & 0 \\ y_0 & a + x_0^2 & 0 \\ 0 & 0 & -1 \end{bmatrix} \right)

Group scheme

\mathbf{G}_{E, P}

over \(\Z\)

E : y^2 = x^3 + ax + b

Elliptic curve

P = (x_0, y_0)\in\Z^2

linear determinantal


Build a group from \(t : U\times V \to W\), due to Baer (more general). 

Define \(G_t = U\oplus V\oplus W\) with multiplication:

(u,v,w) \cdot (u',v',w') = (u+u',\ v+v',\ w+w' + \frac{1}{2}(t(u, v') - t(u', v)))

Important feature: the commutator tensor of \(G_t\) is 

[\cdot,\cdot]_{G_t} : (U\oplus V) \times (U\oplus V) \to W
((u,v),\ (u',v')) \mapsto t(u, v') - t(u', v)

Lots of class 2 nilpotent groups arise this way:

  • (infinite) finitely generated, torsion-free groups,
  • (finite) groups \(G\) such that for some prime \(p\), \(g^p=1_G\) for all \(g\in G\).


  • For ring \(R\), when is \(\mathbf{G}_{E, P}(R) \cong \mathbf{G}_{E',P'}(R)\)?
  • Decide in polynomial time if \(G \cong \mathbf{G}_{E, P}(\mathbb{F}_q)\).

For rings \(R\)  with \(2^{-1}\in R\), 

\mathbf{G}_{E, P}(R) = G_t

where \(t : R^3\times R^3 \to R^3\) from \((E, P)\).

These boil down to instances of the tensor isomorphism problem.

Use algebras associated to tensors to reduce the complexity.

Adjoint algebra

Suppose \(t : U\times V \to W\) is a \(K\)-tensor.

\mathrm{Adj}(t) = \left\{ (X, Y^{\mathrm{t}}) ~\middle|~ \begin{array}{c} \forall u \in U,\ \forall v\in V \\ t(Xu, v) = t(u, Yv) \end{array} \right\}
t : U \times V \longrightarrow W
t(u, v)



\mathrm{Adj}(t) = \left\{ (X, Y^{\mathrm{t}}) ~\middle|~ \begin{array}{c} \forall u \in U,\ \forall v\in V \\ t(Xu, v) = t(u, Yv) \end{array} \right\}

Equality \(t(Xu, v) = t(u, Yv)\) implies equality on each slice










Ignore \(u\) and \(v\), so the linear system for \(\mathrm{Adj}(t)\) is a Sylvester system:

(\forall i)\left(XA_i - A_iY = 0\right)

Sylvester equation

What's the point (of adjoints)?

For \(t : U\times V\to W\), the \(\mathrm{Adj}(t)\) contains structural information.

Certain elements of \(\mathrm{Adj}(t)\) yield change of bases into nice forms:

dense tensor





Assume \(V=U\) and \(t(v,v) = 0\) for all \(v\in V\)

For group schemes coming from geometry, e.g. our construction:

this "isotropic decomposition"


Group scheme

over \(\Z\)

always exists and can be constructed in polynomial time.

Useful for recognition: is my group one of those groups?

Centroids & Coefficients

Many different algebras associated to tensors.

\mathrm{Cent}(t) = \left\{(X,Y,Z) ~\middle|~ \begin{array}{c} \forall u\in U,\ \forall v\in V \\ t(Xu, v) = t(u, Yv) = Z\cdot t(u,v) \end{array}\right\}

The centroid of \(t : U \times V \to W\) is

Like with the adjoint algebra, centroid gives structural information.

Certain elements in \(\mathrm{Cent}(t)\) can decompose tensor:

Satisfies universal property: largest ring \(C\) such that \(t\) is \(C\)-bilinear.

\mathrm{Cent}(t) = \left\{(X,Y,Z) ~\middle|~ \begin{array}{c} \forall u\in U,\ \forall v\in V \\ t(Xu, v) = t(u, Yv) = Z\cdot t(u,v) \end{array}\right\}

Example: \(t\) starts as \(\mathbb{Q}\)-bilinear, but \(\mathrm{Cent}(t)\) is a field extension.

\left( \begin{bmatrix} 6 & 2 \\ 8 & 3 \end{bmatrix},\ \begin{bmatrix} 7 & 2 \\ 4 & 1 \end{bmatrix} \right)

Let \(t : \mathbb{Q}^2 \times \mathbb{Q}^2 \to \mathbb{Q}^2\) with multi-way array:

\mathrm{Cent}(t) = \left\langle \begin{pmatrix} 0 & 2 \\ -4 & 7 \end{pmatrix},\ \begin{pmatrix} -8 & 16 \\ -4 & 15 \end{pmatrix},\ \begin{pmatrix} 5 & -1 \\ -2 & 2 \end{pmatrix} \right\rangle \cong \mathbb{Q}(\sqrt{17})

Writing \(t\) over \(K = \mathbb{Q}(\sqrt{17})\), we have \(s : K \times K \to K\) given by

\begin{bmatrix} (33 + 7\sqrt{17})/2 \end{bmatrix}

Deciding isomorphism

Back to groups coming from elliptic curves

Previously, it was \(O(n^{\log n})\), where \(n=|G|\) -- this is brute force.

Using just the centroid, there is a \(O(|G|)\)-algorithm.

Goal: a polynomial-time algorithm in \(\log|G|\), size of input.

Theorem (M--Stanojkovski). There exists an algorithm that, given a finite group \(G\), decides if there exist

  • prime power \(q\), 
  • \(a,b\in\mathbb{F}_q\) such that \(y^2 = x^3 +ax+b\) defines an elliptic curve \(E\), 
  • \(P\in\mathbb{F}_q^2\) on \(E\) (i.e. satisfies the equation),

such that \(G\cong \mathbf{G}_{E, P}(\mathbb{F}_q)\) using \(O(q) = O(|G|^{1/9})\) operations.



From a group, get commutator tensor \(t : V\times V \to W\).

Use centroid and adjoint to distill to essential information:

Then work to get geometric data -- find the point \(P\) (bottleneck).

A Magma implementation

We beat previous algorithms by huge margins, despite not poly-time.

EGroups package publicly available.

Ongoing work: Sylvester

These are bottlenecks for many other algorithms

(\forall i)\left(XA_i + B_iY = C_i\right)

For \(d\times d\)-matrices \(A_i, B_i, C_i\), with \(i\in \{1,\dots e\}\), set

and solve for \(X\) and \(Y\).

System of \(d^2e\) equations in \(2d^2\) variables, not sparse \(\leadsto\) \(O(d^6)\) time.

Joint with Chris Liu and James B. Wilson

We believe we have an algorithm that runs in \(O(d^{3.5})\) time.

Julia implementation


Compared a Julia implementation vs. old Magma implementation.

(\forall i)\left(XA_i + B_iY = C_i\right)

For each \(i\in \{1,\dots, e\}\), each \(A_i, B_i, C_i\) is a \(d\times d\)-matrix:

\(e= d\)

\(e= \sqrt{d}\)

Future work: QIT

With Robert Zeier from the Jülich Research Center, we are exploring ways to reduce the complexity either by

In QIT, need structural information from the entangled systems.

To get this, solve massive simultaneous Sylvester systems.

Involve tensors will lots of factors:

t : \underbrace{\mathbb{C}^2 \times \cdots \times \mathbb{C}^2}_{20} \to \mathbb{C}

Analyzing actions of unitary groups and their Lie algebras.

  • bringing in algebraic tools similar to the adjoint algebra, or
  • solving the particular simultaneous Sylvester systems faster.