## Abstract

We introduce the non-commutative subset convolution—a convolution of functions useful when working with determinant-based algorithms. In order to compute it efficiently, we take advantage of Clifford algebras, a generalization of quaternions used mainly in the quantum field theory. We apply this tool to speed up algorithms counting subgraphs parameterized by the treewidth of a graph. We present an \(O^*((2^\omega + 1)^{tw})\)-time algorithm for counting Steiner trees and an \(O^*((2^\omega + 2)^{tw})\)-time algorithm for counting Hamiltonian cycles, both of which improve the previously known upper bounds. These constitute also the best known running times of deterministic algorithms for decision versions of these problems and they match the best obtained running times for pathwidth parameterization under assumption \(\omega = 2\).

## 1 Introduction

The concept of *treewidth* has been introduced by Robertson and Seymour in their work on graph minors [13]. The treewidth of a graph is the smallest possible width of its *tree decomposition*, i.e., a tree-like representation of the graph. Its importance follows from the fact that many NP-hard graph problems become solvable on trees with a simple dynamical programming algorithm. A similar idea of *pathwidth* captures the width of a graph in case we would like to have a *path decomposition*. Formal definitions can be found in Sect. 2.2.

Having a tree decomposition of bounded width allows to design efficient algorithms using *fixed-parameter tractability*. An algorithm is called fixed-parameter tractable (FPT) if it works in time complexity \(f(k)n^{O(1)}\) where *k* is a parameter describing hardness of the instance and *f* is a computable function. We also use notation \(O^*(f(k))\) that suppresses polynomial factors with respect to the input size. Problems studied in this work are parameterized by the graph’s pathwidth or treewidth. To distinguish these cases we denote the parameter respectively *pw* or *tw*.

It is natural to look for a function *f* that is growing relatively slow. For problems with a local structure, like Vertex Cover or Dominating Set, there are simple FPT algorithms parameterized by the size of the solution with a single exponential running time. The basic idea is to store \(c^{tw}\) states for each node of the decomposition and take advantage of the Fast Subset Convolution (FSC) algorithm [2] to perform the *join* operation in time \(O^*(c^{tw})\). As a result, time complexities for pathwidth and treewidth parameterizations remain the same. The Fast Subset Convolution has proven useful in many other problems, e.g., Chromatic Number, and enriched the basic toolbox used for exponential and parameterized algorithms.

Problems with connectivity conditions, like Steiner Tree or Hamiltonian Cycle, were conjectured to require time \(2^{\Omega (tw\log tw)}\) until the breakthrough work of Cygan et al. [8]. They introduced the randomized technique Cut & Count working in single exponential time. The obtained running times were respectively \(O^*(3^{tw})\) and \(O^*(4^{tw})\). Afterwards, a faster randomized algorithm for Hamiltonian Cycle parameterized by the pathwidth was presented with running time \(O^*((2 + \sqrt{2})^{pw})\) [7]. This upper bound as well as \(O^*(3^{pw})\) for Steiner Tree are tight modulo subexponential factors under the assumption of *Strong Exponential Time Hypothesis* [7, 8].

The question about the existence of single exponential deterministic methods was answered positively by Bodlaender et al. [4]. However, in contrast to the Cut & Count technique, a large gap has emerged between the running times for pathwidth and treewidth parameterizations—the running times were respectively \(O^*(5^{pw})\), \(O^*(10^{tw})\) for Steiner Tree and \(O^*(6^{pw})\), \(O^*(15^{tw})\) for Hamiltonian Cycle. This could be explained by a lack of efficient algorithms to perform the *join* operation, necessary only for tree decompositions. Some efforts have been made to reduce this gap and the deterministic running time for Steiner Tree has been improved to \(O^*((2^{\omega - 1} \cdot 3 + 1)^{tw})\) [9].

The algorithms proposed in [4] also count the number of Steiner trees or Hamiltonian cycles in a graph by expressing the value in question as a sum of squared determinants of a particular family of submatrices of the graph incidence matrix. Very recently, Curticapean et al. [6] pointed out limitations of this technique even with respect to pathwidth parameterization. Namely, they proved that an algorithm counting Hamiltonian cycles in time \(O^*((6-\epsilon )^{pw})\) would contradict the Strong Exponential Time Hypothesis.

### 1.1 Our Contribution

The main contribution of this work is creating a link between Clifford algebras, objects not being used in algorithmics to the best of our knowledge, and fixed-parameter tractability. As the natural dynamic programming approach on tree decompositions uses the Fast Subset Convolution to perform efficiently the *join* operation, there was no such a tool for algorithms based on the determinant approach.

Our first observation is that the FSC technique can be regarded as an isomorphism theorem for some associative algebras. To put it briefly, a Fourier-like transform is being performed in the FSC to bring computations to a simpler algebra. Interestingly, this kind of transform is just a special case of the Artin–Wedderburn theorem [1], which seemingly is not widely reported in computer science articles. The theorem provides a classification of a large class of associative algebras, not necessarily commutative (more in “Appendix A”). We use this theory to introduce the Non-commutative Subset Convolution (NSC) and speed up multiplication operations in an algebra induced by the *join* operation in determinant-based dynamic programming on tree decomposition. An important building block is a fast Fourier-like transform for a closely related algebra [11]. We hope our work will encourage researchers to investigate further algorithmic applications of the Artin–Wedderburn theorem.

### 1.2 Our Results

We apply our algebraic technique to the determinant approach introduced by Bodlaender et al. [4]. For path decomposition, they gave an \(O^*(5^{pw})\)-time algorithm for counting Steiner trees and an \(O^*(6^{pw})\)-time algorithm for counting Hamiltonian cycles. The running times for tree decomposition were respectively \(O^*(10^{tw})\) and \(O^*(15^{tw})\). These gaps can be explained by the appearance of the *join* operation in tree decompositions which could not be handled efficiently so far.

By performing NSC in time complexity \(O^*(2^\frac{\omega n}{2})\) we partially solve an open problem stated by the FPT community.^{1} Our further results may be considered similar to those closing the gap between time complexities for pathwidth and treewidth parameterizations for Dominating Set by switching between representations of states in dynamic programming [14]. We improve the running times to \(O^*((2^\omega + 1)^{tw})\) for counting Steiner trees and \(O^*((2^\omega + 2)^{tw})\) for counting Hamiltonian cycles, where \(\omega \) denotes the matrix multiplication exponent (currently it is established that \(\omega < 2.373\) [15]). These are not only the fastest known algorithms for counting these objects, but also the fastest known deterministic algorithms for the decision versions of these problems.

Observe that the running times for pathwidth and treewidth parameterizations match under the assumption \(\omega = 2\). Though we do not hope for settling the actual value of \(\omega \), this indicates there is no further space for significant improvement unless pure combinatorial algorithms (i.e., not based on matrix multiplication) are invented or the running time for pathwidth parameterization is improved.

### 1.3 Organization of the Paper

Section 3 provides a brief introduction to Clifford algebras. The bigger picture of the employed algebraic theory can be found in “Appendix A”. In Sect. 4 we define the NSC and design efficient algorithms for variants of the NSC employing the algebraic tools. Sections 5 and 6 present how to apply the NSC in counting algorithms for Steiner Tree and Hamiltonian Cycle. They contain main ideas improving the running times, however in order to understand the algorithms completely one should start from Sect. 4 (*Determinant approach*) in [4]. The algorithm for Hamiltonian Cycle is definitely more complex and its details, formulated as two isomorphism theorems, are placed in “Appendix C”.

## 2 Preliminaries

- 1.
\(A \uplus B = C\) stands for \((A \cup B = C) \wedge (A \cap B = \emptyset )\).

- 2.
\(A \triangle B = (A \backslash B) \cup (B \backslash A)\).

- 3.
\([\alpha ]\) equals 1 if condition \(\alpha \) holds and 0 otherwise.

- 4.For permutation
*f*of a linearly ordered set*U*$$\begin{aligned} \text {sgn}(f) = (-1)^{|\{(a,b) \in U \times U \,\wedge \, a < b \,\wedge \, f(a) > f(b)\}|}. \end{aligned}$$ - 5.For
*A*,*B*being subsets of a linearly ordered set$$\begin{aligned} I_{A,B} = (-1)^{|\{(a,b) \in A \times B \,\wedge \, a > b\}|}. \end{aligned}$$(1)

*I*.

### Observation 1

*A*,

*B*

### Observation 2

### 2.1 Fast Subset Convolution

Let us consider a universe *U* of size *n* and functions \(f,g:2^U \longrightarrow \mathbb {Z}\).

### Definition 1

*f*is function \(\hat{f}\) defined as

### Definition 2

*subset convolution*of

*f*,

*g*defined as

### Theorem 3

(Björklund et al. [2]) The Möbius transform, its inverse, and the subset convolution can be computed in time \(O^*(2^n)\).

### 2.2 Pathwidth and Treewidth

### Definition 3

*tree (path) decomposition*of a graph

*G*is a tree \(\mathbb {T}\) (path \(\mathbb {P}\)) in which each node

*x*is assigned a bag \(B_x \subseteq V(G)\) such that

- 1.
for every edge \(uv \in E(G)\) there is a bag \(B_x\) containing

*u*and*v*, - 2.
for every vertex

*v*the set \(\{x\, |\, v \in B_x\}\) forms a non-empty subtree (subpath) in the decomposition.

*G*is a minimum width over all possible tree (path) decompositions.

If a graph admits a tree decomposition of width *t* then it can be found in time \(n\cdot 2^{O(t^3)}\) [3] and a decomposition of width at most \(4t+1\) can be constructed in time \(poly(n)\cdot 2^{O(t)}\) [10]. We will assume that a decomposition of the appropriate type and width is given as a part of the input.

### Definition 4

*nice tree (path) decomposition*is a decomposition with one special node

*r*called the root and in which each bag is one of the following types:

- 1.
*Leaf bag*a leaf*x*with \(B_x = \emptyset \), - 2.
*Introduce vertex**v**bag*a node*x*having one child*y*for which \(B_x = B_y \uplus \{v\}\), - 3.
*Forget vertex**v**bag*a node*x*having one child*y*for which \(B_y = B_x \uplus \{v\}\), - 4.
*Introduce edge**uv**bag*a node*x*having one child*y*for which \(u,v \in B_x = B_y\), - 5.
*Join bag*(only in tree decomposition) a node*x*having two children*y*,*z*with condition \(B_x = B_y = B_z\).

*E*(

*G*) is introduced exactly once and \(B_r\) is an empty bag. For each

*x*we define \(V_x\) and \(E_x\) to be sets of respectively vertices and edges introduced in the subtree of the decomposition rooted at

*x*.

Given a tree (path) decomposition we can find a nice decomposition of the same width in time \(n\cdot tw^{O(1)}\) [8, 10] and we will work only with these. When analyzing running time of algorithms working on tree decompositions we will estimate the bag sizes from the above assuming \(|B_x| = tw\).

### 2.3 Problems Definitions

In the counting variants of problems we ask for a number of structures satisfying the given conditions. This setting is at least as hard as the decision variant.

## 3 Clifford Algebras

Some terms used in this section originate from the advanced algebra. For better understanding we suggest reading “Appendix A”.

### Definition 5

The Clifford algebra \(Cl_{p,q}(R)\) is a \(2^{p+q}\)-dimensional associative algebra over a ring *R*. It is generated by \(x_1, x_2 \dots , x_{p+q}\).

- 1.
*e*is a neutral element of multiplication, - 2.
\(x_i^2 = e\) for \(i = 1, 2, \dots , p\),

- 3.
\(x_i^2 = -e\) for \(i = p+1, p+2, \dots , p+q\),

- 4.
\(x_ix_j = -x_jx_i\) if \(i \ne j\).

*e*is treated as a product of an empty set. We provide a standard addition and we extend multiplication for all elements in an associative way.

We will be mostly interested in \(Cl_{n,0}(\mathbb {Z})\,\)^{2} and its natural embedding into \(Cl_{n,0}(\mathbb {R})\). As \(q=0\), we can neglect condition 3 when analyzing these algebras.

### Theorem 4

The multiplication in \(Cl_{n,0}(\mathbb {Z})\), with coefficients having *poly*(*n*) number of bits, can be performed in time \(O^*(2^{\frac{\omega n}{2}})\).

## 4 Non-commutative Subset Convolution

We consider a linearly ordered universe *U* of size *n* and functions \(f,g:2^U \longrightarrow \mathbb {Z}\).

### Definition 6

*Non-commutative Subset Convolution*(NSC) of functions

*f*,

*g*defined as

### Theorem 5

NSC on an *n*-element universe can be performed in time \(O^*(2^{\frac{\omega n}{2}})\).

### Proof

*g*. The \(\diamond _S\) convolution, introduced in (4), is equivalent to multiplication in \(Cl_{n,0}(\mathbb {R})\,\). This means we reduced NSC to \(O(n^2)\) multiplications in \(Cl_{n,0}(\mathbb {R})\,\)which could be performed in time \(O^*(2^{\frac{\omega n}{2}})\) according to Theorem 4. \(\square \)

### Remark 1

The technique of grouping the sizes of sets with polynomial burden in the running time will turn useful in further proofs. We will call it size-grouping.

In our applications we will need to compute a slightly more complex convolution.

### Definition 7

*f*,

*g*are of type \(2^U \times 2^U \longrightarrow \mathbb {Z}\) we can define \(f \diamond _2 g\) (NSC2) as follows

### Theorem 6

NSC2 on an *n*-element universe can be performed in time \(O^*(2^{\omega n})\).

### Proof

*n*consisting of two copies of

*U*with an order so each element of \(U_Y\) is greater than any element of \(U_X\). To underline that \(X \subseteq U_X, Y \subseteq U_Y\) we will use \(\uplus \) notation when summing subsets of \(U_X\) and \(U_Y\). In order to reduce NSC2 to NSC on the universe \(U'\) we need to replace factor \(I_{X_1,X_2}I_{Y_1,Y_2}\) with \(I_{X_1 \uplus Y_1,X_2 \uplus Y_2}\). The latter term can be expressed as \(I_{X_1,X_2}I_{Y_1,Y_2}I_{X_1,Y_2}I_{Y_1,X_2}\) due to Observation 2. As all elements from \(X_i \subseteq U_X\) compare less to elements from \(Y_i \subseteq U_Y\) then \(I_{X_1,Y_2} = 1\) and \(I_{Y_1,X_2}\) depends only on the sizes of \(Y_1\) and \(X_2\). To summarize,

## 5 Counting Steiner Trees

We will revisit the theorem stated in the aforementioned work.

### Theorem 7

(Bodlaender et al. [4]) There exist algorithms that given a graph *G* count the number of Steiner trees of size *i* for each \(1 \le i \le n - 1\) in \(O^*(5^{pw})\) time if a path decomposition of width *pw* is given, and in \(O^*(10^{tw})\) time if a tree decomposition of width *tw* is given.

*K*is the set of terminals. Let \(A = (a_{v,e})_{v \in V, e \in E}\) be the incidence matrix, i.e., for \(e = uv,\, u < v\) we have \(a_{u,e}=1,\, a_{v,e}=-1\), and \(a_{w,e} = 0\) for any other vertex

*w*. For \(K\subseteq Y\) let \(A_{Y,X}\) be a submatrix of

*A*with rows in \(Y \setminus \{v_1\}\) and columns in

*X*. The value of \(|\det (A_{Y,X})|\) turns out to be 1 if the subgraph

*G*(

*X*,

*Y*) forms a tree and 0 otherwise. The main idea of the algorithm is to express the number of Steiner trees for terminal set

*K*with exactly

*i*edges as

*x*. We exploit the permutation formula for determinant and introduce functions \(s_1, s_2\) to control the image of permutations (there are two permutations in each summand since we expand a square of determinant) within the bag \(B_x\). We also introduce function \(s_Y\) indicating which vertices belong to \(Y \cap B_x\). For node

*x*of the decomposition we define function \(A_x\) with arguments \(0 \le i \le n - 1,\, s_Y, s_1, s_2 \in \{0, 1\}^{B_x}\) as

*i*edges becomes \(A_r(i+1,\emptyset ,\emptyset ,\emptyset )\) [4]. As observed therein, condition \(s_Y(v)=0\) implies that either \(s_1(v) = s_2(v) = 0\) or \(A_x(i, s_Y, s_1, s_2) = 0\). This means there are at most \(n\cdot 5^{tw}\) triples for which \(A_x\) returns a nonzero value.

*x*of type

*introduce vertex*,

*introduce edge*, or

*forget vertex*, with a child

*y*, the function \(A_x\) can be computed from \(A_y\) in linear time with respect to the number of non-trivial states. This observation leads to a proof of Theorem 7 for path decompositions. The only thing that is more difficult for tree decompositions is that they include also

*join*nodes having two children each. Here is the recursive formula

^{3}for \(A_x\) for a

*join*node

*x*with children

*y*,

*z*.

### Lemma 1

Assume there is an algorithm computing all nonzero values of \(A_x\) given by (6) with running time *f*(*tw*). Then the number of Steiner trees of size *i* in a graph *G* can be counted in \(O^*(\max (f(tw), 5^{tw}))\) time if a tree decomposition of width *tw* is given.

*v*are (0, 0, 0), (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1). In terms of set notation we can say that if \(f(A,B,C) \ne 0\) then \(B \cup C \subseteq A\). Let \(f_A : 2^A \times 2^A \longrightarrow \mathbb {Z}\) be

*f*with the first set fixed, i.e., \(f_A(B,C) = f(A,B,C)\).

### Lemma 2

For fixed *A* all values *h*(*A*, *B*, *C*) can be computed in time \(O^*(2^{\omega |A|})\).

### Proof

### Lemma 3

The convolution (7) can be performed in time \(O^*((2^{\omega } + 1)^{tw})\).

### Proof

*A*and take advantage of Lemma 2. The total number of operations (modulo polynomial factor) is bounded by

Keeping in mind that (6) and (7) are equivalent and combining Lemmas 1 and 3, we obtain the following result.

### Theorem 8

The number of Steiner trees of size *i* in a graph *G* can be computed in \(O^*((2^{\omega } + 1)^{tw})\) time if a tree decomposition of width *tw* is given.

## 6 Counting Hamiltonian Cycles

Likewise in the previous section, we will start with a previously known theorem.

### Theorem 9

(Bodlaender et al. [4]) There exist algorithms that given a graph *G* count the number of Hamiltonian cycles in \(O^*(6^{pw})\) time if a path decomposition of width *pw* is given, and in \(O^*(15^{tw})\) time if a tree decomposition of width *tw* is given.

*A*(see previous section) with rows from \(V \setminus \{v_1\}\) and columns from

*S*. We express the number of Hamiltonian cycles as

*x*and introduce functions \(s_1,s_2\) to keep track of permutations’ images within the bag \(B_x\). The function \(s_{deg}\) controls the degree of a vertex within \(B_X\). The notation is analogous to (5). For each node

*x*of the decomposition function \(A_x\) is defined with arguments \(s_1, s_2 \in \{0,1\}^{B_x}\) and \(s_{deg} \in \{0,1,2\}^{B_x}\) as

As observed in [4] we can restrict ourselves only to some subspace of states. When \(s_{deg}(v)=0\) then all non-zero summands in (9) satisfy \(s_1(v) = s_2(v) = 0\). When \(s_{deg}(v)=2\) then we can neglect all summands except for those satisfying \(s_1(v) = s_2(v) = 1\).

*introduce vertex*,

*introduce edge*, and

*forget vertex*nodes can be handled the same way as for the path decomposition and the only bottleneck is formed by

*join*nodes. We present a formula for \(A_x\) if

*x*is a

*join*node with children

*y*,

*z*.

### Lemma 4

Assume there is an algorithm computing all nonzero values of \(A_x\) given by (10) with running time *f*(*tw*). Then the number of Hamiltonian cycles in a graph *G* can be counted in \(O^*(\max (f(tw), 6^{tw}))\) time if a tree decomposition of width *tw* is given.

The only allowed triples of \(\left( s_{deg}(v), s_1(v), s_2(v)\right) \) for each vertex *v* are (0, 0, 0), (1, 0, 0), (1, 0, 1), (1, 1, 0), (1, 1, 1), (2, 1, 1).

### Lemma 5

### Proof

The \(I_{.,.}\) factors do not change as we do not modify the coordinates given by functions \(s_1, s_2\). Triples that match in (10) translate into matching triples as the transformation keeps their additive structure. This fact can be illustrated by rewriting the addition table from [4] with the new coordinates. \(\square \)

000 | 100 | 101 | 110 | 111 | 211 | |
---|---|---|---|---|---|---|

000 | 000 | 100 | 101 | 110 | 111 | 211 |

100 | 100 | X | X | X | 211 | X |

101 | 101 | X | X | 211 | X | X |

110 | 110 | X | 211 | X | X | X |

111 | 111 | 211 | X | X | X | X |

211 | 211 | X | X | X | X | X |

000 | 100 | 101 | 010 | 011 | 111 | |
---|---|---|---|---|---|---|

000 | 000 | 100 | 101 | 010 | 011 | 111 |

100 | 100 | X | X | X | 111 | X |

101 | 101 | X | X | 111 | X | X |

010 | 010 | X | 111 | X | X | X |

011 | 011 | 111 | X | X | X | X |

111 | 111 | X | X | X | X | X |

*h*,

*f*,

*g*operating on triples of sets. For example, expression \(A_x(s_{deg},s_1,s_2)\) gets transformed into \(h(s_{deg}^{-1}(1), s_1^{-1}(1), s_2^{-1}(1))\). In this setting, the convolution looks as follows.

### Lemma 6

The convolution (11) can be computed in time \(O^*((2^{\omega } + 2)^{tw})\).

This result, together with Lemmas 4 and 5, leads to the main theorem of this section.

### Theorem 10

The number of Hamiltonian cycles in a graph *G* can be computed in \(O^*((2^{\omega } + 2)^{tw})\) time if a tree decomposition of width *tw* is given.

## 7 Conclusions

We have presented the Non-commutative Subset Convolution, a new algebraic tool in algorithmics based on the theory of Clifford algebras. This allowed us to construct faster deterministic algorithms for Steiner Tree, Feedback Vertex Set, and Hamiltonian Cycle, parameterized by the treewidth. As the determinant-based approach applies to all problems solvable by the Cut & Count technique [4, 8], the NSC can improve running times for a larger class of problems.

The first open question is whether the gap between time complexities for the decision and counting versions of these problems could be closed. Or maybe one can prove this gap inevitable under a well-established assumption, e.g., SETH?

The second question is if it is possible to prove a generic theorem so the lemmas like 3 or 6 would follow from it easily. It might be possible to characterize convolution algebras that are semisimple and algorithmically construct isomorphisms with their canonical forms described by the Artin–Wedderburn theorem.

The last question is what other applications of Clifford algebras and Artin–Wedderburn theorem can be found in algorithmics.

## Footnotes

- 1.
It can be found on the list of open problems from 2014 FPT school (http://fptschool.mimuw.edu.pl/opl.pdf) stated as

*different convolution*. - 2.
Clifford algebras with \(q=0\) appear also in geometric literature as

*exterior algebras*. - 3.
As confirmed by the authors (private communication with Marek Cygan), the formula in [4] for the join node is missing the first argument to the \(A_x\) function tracking the number of vertices of a Steiner tree, hence we present a corrected version of this formula.

- 4.
For example, for \(y = 1 + x_1 + 2x_1x_3 - 4x_1x_2x_3\) we have \(y^+ = 1 + 2x_1x_3\) and \(y^- = x_1 - 4x_1x_2x_3\).

## Notes

### Acknowledgements

I would like to thank Marek Cygan for pointing out the bottleneck of the previously known algorithms and for a support during writing this paper. I would also like to thank Paul Leopardi for helping me understand the fast Fourier-like transform for Clifford algebras.

## References

- 1.Beachy, J.A.: Introductory Lectures on Rings and Modules, vol. 47. Cambridge University Press, Cambridge (1999)CrossRefzbMATHGoogle Scholar
- 2.Björklund, A., Husfeldt, T., Kaski, P., Koivisto, M.: Fourier meets Möbius: Fast subset convolution. In: Proceedings of the Thirty-Ninth Annual ACM Symposium on Theory of Computing, STOC ’07, pp. 67–74. ACM, New York (2007)Google Scholar
- 3.Bodlaender, H.L.: A linear-time algorithm for finding tree-decompositions of small treewidth. SIAM J. Comput.
**25**(6), 1305–1317 (1996)MathSciNetCrossRefzbMATHGoogle Scholar - 4.Bodlaender, H.L., Cygan, M., Kratsch, S., Nederlof, J.: Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth. Inf. Comput.
**243**(C), 86–111 (2015)MathSciNetCrossRefzbMATHGoogle Scholar - 5.Cnops, J.: Spherical geometry and möbius transformations. In: Brackx F., Delanghe R., Serras H. (eds.) Clifford Algebras and Their Applications in Mathematical Physics: Proceedings of the Third Conference Held at Deinze, Belgium, 1993, vol. 55. Springer (2012)Google Scholar
- 6.Curticapean, R., Lindzey, N., Nederlof, J.: A tight lower bound for counting Hamiltonian cycles via matrix rank. In: Proceedings of the Twenty-Ninth Annual ACM-SIAM Symposium on Discrete Algorithms, SODA ’18, pp. 1080–1099. Society for Industrial and Applied Mathematics, Philadelphia (2018)Google Scholar
- 7.Cygan, M., Kratsch, S., Nederlof, J.: Fast Hamiltonicity checking via bases of perfect matchings. In: Proceedings of the Forty-Fifth Annual ACM Symposium on Theory of Computing, pp. 301–310. ACM (2013)Google Scholar
- 8.Cygan, M., Nederlof, J., Pilipczuk, M., Pilipczuk, M., van Rooij, J.M.M., Wojtaszczyk, J.O.: Solving connectivity problems parameterized by treewidth in single exponential time. In: 2011 IEEE 52nd Annual Symposium on Foundations of Computer Science (FOCS), pp. 150–159. IEEE (2011)Google Scholar
- 9.Fomin, F.V., Lokshtanov, D., Panolan, F., Saurabh, S.: Representative sets of product families. In: Algorithms-ESA 2014, pp. 443–454. Springer (2014)Google Scholar
- 10.Kloks, T.: Treewidth: Computations and Approximations, vol. 842. Springer, Berlin (1994)CrossRefzbMATHGoogle Scholar
- 11.Leopardi, P.: A generalized FFT for Clifford algebras. Bull. Belg. Math. Soci.
**11**(5), 663–688 (2005)MathSciNetzbMATHGoogle Scholar - 12.Maslen, D.K., Rockmore, D.N.: Generalized FFTs: a survey of some recent results. In: Groups and Computation II, vol. 28, pp. 183–287. American Mathematical Society (1997)Google Scholar
- 13.Robertson, N., Seymour, P.D.: Graph minors. III. Planar tree-width. J. Comb. Theory Ser. B
**36**(1), 49–64 (1984)MathSciNetCrossRefzbMATHGoogle Scholar - 14.van Rooij, J.M.M., Bodlaender, H.L., Rossmanith, P.: Dynamic Programming on Tree Decompositions Using Generalised Fast Subset Convolution, pp. 566–577. Springer, Berlin (2009)zbMATHGoogle Scholar
- 15.Williams, V.V.: Multiplying matrices faster than Coppersmith-Winograd. In: Proceedings of the Forty-Fourth Annual ACM Symposium on Theory of Computing, pp. 887–898. ACM (2012)Google Scholar

## Copyright information

**Open Access**This article is distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution, and reproduction in any medium, provided you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons license, and indicate if changes were made.