Top Banner
Computational Complexity Reductions using Clifford Algebras Ren´ e Schott * , G. Stacey Staples 1 Introduction This paper is an extension of earlier work (cf. [18]), in which the current au- thors investigated complexity reductions for a number of combinatorial and graph-theoretic problems. The graph-theoretic results of that paper were based primarily on nilpotent adjacency matrix methods developed in a number of earlier publications: [16], [17], [19], [20], [21]. The previous graph results are recalled in summary in Section 3, where ad- ditional examples are computed using Mathematica. In Section 4, new results are obtained and some previous results are improved by eliminating adjacency matrices, thereby removing the consideration of matrix multiplication in deter- mining computational complexity. Moreover, results on graph and vertex coverings by disjoint “proper” cycles are obtained by introducing the “three-nil algebra” constructed within a Clif- ford algebra of appropriate signature. The generators {ξ j } 1in of this algebra satisfy ξ i ξ j = ξ j ξ i and ξ 3 j = 0 for 1 i, j n. Given a computing architecture based on Clifford algebras, the natural con- text for determining an algorithm’s time complexity is in terms of the number of geometric (Clifford) operations required. This paper assumes the existence of such a processor and examines a number of combinatorial problems known to be of NP time complexity. While Clifford algebra computations can be performed on general purpose processors through the use of software libraries like CLU [13], GluCat [10], GAIGEN [6], and the Maple package CLIFFORD [1], direct hardware implemen- tations of data types and operators is the best way to exploit the computational power of Clifford algebras. To this end, a number of hardware implementations have been developed. To our knowledge, the first such hardware implementation was a Clifford co-processor design developed by Perwass, Gebken, and Sommer [14]. Another * IECN and LORIA Universit´ e Henri Poincar´ e-Nancy I, BP 239, 54506 Vandoeuvre-l` es- Nancy, France, email: [email protected] Department of Mathematics and Statistics, Southern Illinois University Edwardsville, Edwardsville, IL 62026-1653, email: [email protected] 1
21

Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

Aug 26, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

Computational Complexity Reductions using

Clifford Algebras

Rene Schott∗, G. Stacey Staples†

1 Introduction

This paper is an extension of earlier work (cf. [18]), in which the current au-thors investigated complexity reductions for a number of combinatorial andgraph-theoretic problems. The graph-theoretic results of that paper were basedprimarily on nilpotent adjacency matrix methods developed in a number ofearlier publications: [16], [17], [19], [20], [21].

The previous graph results are recalled in summary in Section 3, where ad-ditional examples are computed using Mathematica. In Section 4, new resultsare obtained and some previous results are improved by eliminating adjacencymatrices, thereby removing the consideration of matrix multiplication in deter-mining computational complexity.

Moreover, results on graph and vertex coverings by disjoint “proper” cyclesare obtained by introducing the “three-nil algebra” constructed within a Clif-ford algebra of appropriate signature. The generators {ξj}1≤i≤n of this algebrasatisfy ξi ξj = ξj ξi and ξ3

j = 0 for 1 ≤ i, j ≤ n.Given a computing architecture based on Clifford algebras, the natural con-

text for determining an algorithm’s time complexity is in terms of the numberof geometric (Clifford) operations required. This paper assumes the existenceof such a processor and examines a number of combinatorial problems knownto be of NP time complexity.

While Clifford algebra computations can be performed on general purposeprocessors through the use of software libraries like CLU [13], GluCat [10],GAIGEN [6], and the Maple package CLIFFORD [1], direct hardware implemen-tations of data types and operators is the best way to exploit the computationalpower of Clifford algebras. To this end, a number of hardware implementationshave been developed.

To our knowledge, the first such hardware implementation was a Cliffordco-processor design developed by Perwass, Gebken, and Sommer [14]. Another

∗IECN and LORIA Universite Henri Poincare-Nancy I, BP 239, 54506 Vandoeuvre-les-Nancy, France, email: [email protected]†Department of Mathematics and Statistics, Southern Illinois University Edwardsville,

Edwardsville, IL 62026-1653, email: [email protected]

1

Page 2: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

was the color edge detection hardware developed by Mishra and Wilson [11],[12], whose work focused on the introduction of a hardware architecture forapplications involving image processing.

More recently, Gentile, Segreto, Sorbello, Vassallo, Vitabile, and Vullo havedeveloped a parallel embedded co-processing core that directly supports Cliffordalgebra operators (cf. [7], [8], [9]). The prototype was implemented on a FieldProgrammable Gate Array, and initial tests showed a 4× speedup for Cliffordproducts over the analogous operations in GAIGEN.

Also of interest is the work of Aerts and Czachor [2], who have shown thatquantum-like computations can be performed within Clifford algebras withoutthe associated problem of noise and need for error-correction.

2 Preliminaries

Definition 2.1 (Clifford algebra of signature (p, q)). For fixed n ≥ 1, the2n-dimensional algebra C`p,q (p + q = n) is defined as the associative algebragenerated by the collection {ei} (1 ≤ i ≤ n) along with the unit scalar e0 =e∅ = 1 ∈ R, subject to the following multiplication rules:

ei ej = −ej ei for i 6= j, (2.1)

ei2 =

{1 1 ≤ i ≤ p, and−1 p+ 1 ≤ i ≤ n.

(2.2)

Products are multi-indexed by subsets of [n] = {1, . . . , n} (in canonical or-der) according to

ei =∏ι∈i

eι, (2.3)

where i is an element of the power set 2[n].Define fi = (ei + e2n+i) ∈ C`2n,2n for each 1 ≤ i ≤ 2n. Then by defining

ζi = f2i−1 f2i for each 1 ≤ i ≤ n, the following useful algebra is obtained.

Definition 2.2. Let C`nnil denote the real abelian algebra generated by thecollection {ζi} (1 ≤ i ≤ n) along with the scalar 1 = ζ0 subject to the followingmultiplication rules:

ζi ζj = ζj ζi for i 6= j, and (2.4)

ζi2 = 0 for 1 ≤ i ≤ n. (2.5)

It is evident that a general element u ∈ C`nnil can be expanded as

u =∑i∈2[n]

ui ζi , (2.6)

where i ∈ 2[n] is a subset of [n] = {1, 2, . . . , n} used as a multi-index, ui ∈ R,and ζi =

∏ι∈i

ζι.

2

Page 3: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

Given u ∈ C`nnil, define the grade-k part of u by

〈u〉k =∑|i|=k

ui ζi, (2.7)

where |i| denotes the cardinality of the multi-index i.Recalling the Clifford algebra C`p,q,r defined by Porteous[15], in which ei2 =

0 for p+q+1 ≤ i ≤ p+q+r, one could simply define ζi = e2i−1 e2i for 1 ≤ i ≤ nin the Clifford algebra C`0,0,2n. Equivalently, one could use disjoint bivectors ofthe Grassmann algebra.

Note that defining ξi = ζ2i−1 + ζ2i ∈ C`2nnil for 1 ≤ i ≤ n gives ξi3 = 0 andξiξj = ξjξi. This construction leads to another useful commutative algebra.

Definition 2.3. Let n > 0 be an integer, and let the collection {ξ1, . . . , ξn}satisfy the following: ξi

k = 0 if and only if k ≥ 3 for each 1 ≤ i ≤ n andξiξj = ξjξi for 1 ≤ i, j ≤ n. The three-nil algebra is the 3n-dimensional algebragenerated by the collection {ξi} along with the unit scalar and is denoted byC`n3nil.

Note that elements of the three-nil algebra have canonical expansion of thefollowing form:

u =∑~v∈Z3

n

α~v ξv11 · · · ξvn

n . (2.8)

Given vector ~v ∈ Z3n, let diag(~v) denote the n × n diagonal matrix whose

main diagonal is ~v. Given u ∈ C`n3nil, define the grade-k part of u by

〈u〉k =∑

~v∈Z3n

rank(diag(~v))=k

α~v ξv11 · · · ξvn

n . (2.9)

In other words, the grade-k part of u is the expansion over terms with k dis-tinct generators. This definition extends naturally to the grade-(j, k) part of anelement in C`n3nil ⊗ C`nnil.

Remark 2.4. Letting εi =12

(1 + eien+i) ∈ C`n,n for each 1 ≤ i ≤ n givesanother useful commutative algebra whose generators are idempotent; i.e., ele-ments of {εi}1≤i≤n satisfy the following multiplication rules:

εi εj = εj εi for i 6= j, and (2.10)

εi2 = εi for 1 ≤ i ≤ n. (2.11)

Combinatorial properties of this algebra make it applicable to graph theoryas well [16], [18].

Letting u denote an arbitrary element of C`nnil, the scalar sum of coefficientswill be denoted by

〈〈u〉〉 =∑i∈2[n]

⟨u, ζi

⟩=∑i∈2[n]

ui. (2.12)

3

Page 4: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

The definitions of scalar sum and grade-k part extend naturally to C`n3nil.A number of norms can be defined on C`nnil. One that will be used later is

the infinity norm, defined by∣∣∣∣∣∣∣∣∣∣∣∣∑i∈2[n]

ui ζi

∣∣∣∣∣∣∣∣∣∣∣∣∞

= maxi∈2[n]

∣∣ui∣∣ . (2.13)

An algorithm’s time complexity is typically determined by counting the num-ber of operations required to process a data set of size n in worst-, average-,and best-case scenarios. The operation of multiplying two integers is typical.Multiplying a pair of integers in classical computing is assumed to require aconstant interval of time, independent of the integers. The architecture of aclassical computer makes this assumption natural.

The existence of a processor whose registers accommodate storage and ma-nipulation of elements of C`n♦ is assumed through the remainder of this paper.

The C` complexity of an algorithm will be determined by the required num-ber of C`n♦ operations, or C`ops required by the algorithm. In other words,multiplying (or adding) a pair of elements u, v ∈ C`n♦ will require one C`op inC`n♦, where ♦ can be replaced by either “nil” or “3nil”.

Evaluation of the infinity norm is another matter. In one possible model ofsuch an evaluation, the scalar coefficients in the expansion of u ∈ C`n♦ are firstpaired off and all pairs are then compared in parallel. In this way, evaluation ofthe infinity norm has complexity O(log 2n) = O(n) (cf. [18]).

2.1 Graph Preliminaries

The reader is referred to [23] for graph theory beyond the essential notation andterminology found here. A graph G = (V,E) is a collection of vertices V anda set E of unordered pairs of vertices called edges. Two vertices vi, vj ∈ V areadjacent if there exists an edge eij = {vi, vj} ∈ E. In this case, the vertices viand vj are said to be incident with eij . The number of edges incident with avertex is referred to as the degree of the vertex. A graph is said to be regular ifall its vertices are of equal degree. A graph is finite if V and E are finite sets,that is, if |V | and |E| are finite numbers.

A k-walk {v0, . . . , vk} in a graph G is a sequence of vertices in G with initialvertex v0 and terminal vertex vk such that there exists an edge (vj , vj+1) ∈ Efor each 0 ≤ j ≤ k−1. A k-walk contains k edges. A k-path is a k-walk in whichno vertex appears more than once. A closed k-walk is a k-walk whose initialvertex is also its terminal vertex. A k-cycle is a closed k-path with v0 = vk.

For convenience, two-cycles (which have a repeated edge) will be allowed inthe current work. The term proper cycle will refer to any cycle of length threeor greater.

A Hamiltonian cycle is an n-cycle in a graph on n vertices; i.e., it containsV. Given a graph G, the circumference and girth of G are defined as the lengthsof the longest and shortest cycles in G, respectively.

4

Page 5: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

Given a graph G = (V,E) on n vertices, a cycle cover of G is a collection ofcycles {C1, . . . , Ck} contained as subgraphs of G such that each vertex of G iscontained in exactly one of the cycles.

A graph G is said to be connected if for every pair of vertices vi, vj in G,there exists a k-walk on G with initial vertex vi and terminal vertex vj for somepositive integer k.

A connected component of a graph G is a connected subgraph G′ of maximalsize. In other words, V (G′) ⊆ V (G), E(G′) ⊆ E(G), and there is no connectedsubgraph G′′ with the property V (G′) ( V (G′′).

Given a graph G = (V,E), a matching of G is a subset E1 ⊂ E of the edgesof G having the property that no pair of edges in E1 shares a common vertex.The largest possible matching on a graph with n vertices consists of n/2 edges,and such a matching is called a perfect matching.

The following graph-theoretic results will be useful in later sections.

Lemma 2.5. Let G be a connected graph on n ≥ 2 vertices. Then G is a treeif and only if G contains n− 1 edges.

Proof. Proof is by induction on the number of vertices n. When n = 2, thegraph G contains one edge and is a tree by definition. Assuming the lemma istrue for some positive integer n ≥ 2, let G be a connected graph on n vertices,and let the graph H be constructed by appending one vertex v to G. In otherwords, V (H) = V (G) ∪ {v}. In order to make H connected, one edge mustbe appended, joining v to some existing vertex u of G. Now H is a connectedgraph on n+ 1 vertices and is a tree, since v is incident with only one edge.

It remains to be seen that appending two edges incident with v prevents Hfrom being a tree. Suppose a second edge incident with v is appended to H.This edge is incident with some vertex w 6= u of G. Since G is connected, thereexists a walk in G having initial vertex u and terminal vertex w. Appendingvertex v and its two incident edges to G yields a cycle in H. Thus, H cannotbe a tree.

Hence, at most one edge can be appended to G in constructing H. The (n+1)-vertex connected graph H consists of n edges and the proof is complete.

Lemma 2.6. Let G be a connected graph on n ≥ 3 vertices. Then G is a cycleif and only if G is regular of degree 2.

Proof. Proof is by induction on the number of vertices n. Note that when n = 3,the only connected graph on three vertices of degree 2 is the 3-cycle. Assumethe lemma is true for some n ≥ 3 and let G be a connected graph on n verticescontaining n edges.

Let H be a connected graph constructed from G by appending one vertexv and an edge incident with v. The edge incident with v must also be incidentwith a vertex u of G, which is now of degree 3. To correct this, one edge incidentwith u and another vertex w must be removed, lowering the degree of w to 1.In order to make H regular of degree 2, a new edge incident with v and w isappended. This makes H a cycle on n+ 1 vertices.

5

Page 6: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

Lemma 2.7 (Handshaking Lemma). If G is any graph of e edges, then∑v∈VG

deg(v) = 2e. (2.14)

Proof. Since each edge is incident with exactly two vertices, summing degreesover all vertices counts each edge exactly twice.

3 Complexity Reduction for Graph Problems:Nilpotent Adjacency Matrix Approach

In this section, methods and results of the initial work [18] are recalled and anumber of Mathematica examples are presented. In the subsequent section, newmethods are developed, some results are improved, and some new results areobtained.

Definition 3.1. Let G be a graph on n vertices and let {ζi}, 1 ≤ i ≤ n de-note the null-square generators of C`nnil. Define the nilpotent adjacency matrixassociated with G by

Λij =

{ζj , if (vi, vj) ∈ E(G)0, otherwise.

(3.1)

Thus, Λ defined over C`nnil implies Λk is the n×n zero matrix for all k > n.

Theorem 3.2. Let Λ be the nilpotent adjacency matrix of an n-vertex graphG. For any m > 1 and 1 ≤ i ≤ n, summing the coefficients of (Λm)ii yields thenumber of m-cycles based at vi occurring in G.

Proof. Proof is by induction on m. Entries of (Λm)ii are sums of products ofζjs, with each product representing the vertices contained in a closed walk oflength m based at the ith vertex. Because ζj2 = 0 for each j, terms involvingrevisited vertices reduce to zero.

Example 3.3. To count the 7-cycles in the 16-vertex graph of Figure 1, thenilpotent adjacency matrix is constructed over C`16

nil. Computations are per-formed with Mathematica procedures available online athttp://www.siue.edu/~sstaple.

6

Page 7: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

Figure 1: Randomly-generated graph on 16 vertices.

0 0 0 0 e85< 0 0 0 e89< 0 0 0 0 0 e815< 0

0 0 0 0 0 0 0 e88< 0 e810< 0 0 0 0 e815< 0

0 0 0 0 0 0 0 e88< 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 e89< e810< 0 0 0 0 e815< 0

e81< 0 0 0 0 0 0 0 0 0 0 0 0 0 e815< 0

0 0 0 0 0 0 0 0 0 0 0 e812< 0 0 0 0

0 0 0 0 0 0 0 0 e89< 0 e811< 0 0 0 e815< 0

0 e82< e83< 0 0 0 0 0 0 e810< 0 e812< 0 0 0 0

e81< 0 0 e84< 0 0 e87< 0 0 0 e811< 0 e813< 0 0 0

0 e82< 0 e84< 0 0 0 e88< 0 0 0 0 e813< e814< e815< 0

0 0 0 0 0 0 e87< 0 e89< 0 0 e812< 0 0 0 0

0 0 0 0 0 e86< 0 e88< 0 0 e811< 0 e813< 0 0 0

0 0 0 0 0 0 0 0 e89< e810< 0 e812< 0 0 0 e816<0 0 0 0 0 0 0 0 0 e810< 0 0 0 0 0 0

e81< e82< 0 e84< e85< 0 e87< 0 0 e810< 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 e813< 0 0 0

In[78]:= H* Count 7 cycles*LScalarSum@Tr@ClNilMatrixPower@B, 7DDD �14

Out[78]= 40

Notation. To simplify notation, tr (Λm) is replaced by τm in the remainder ofthe paper.

Using the Coppersmith-Winograd algorithm, multiplying two n×n matricescan be done in O(n2.376) time [5]. It is not clear that the same asymptoticspeedup can be accomplished for the C` case. However, in the remainder ofthe paper, β will represent the exponent associated with matrix multiplication.

7

Page 8: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

In the worst case, multiplication of two n × n matrices with entries in C`nnil

requires n3 C`ops, so β ≤ 3.

Corollary 3.4. Enumerating the k-cycles in a finite graph on n vertices requiresO(nβ log k) C`ops in C`nnil.

Corollary 3.5. Enumerating the Hamiltonian cycles in a finite graph on nvertices requires O(nβ log n) C`ops in C`nnil.

Corollary 3.6. Let Λ be the nilpotent adjacency matrix of an n-vertex graph G.Let Xm,` denote the number of `-tuples of pairwise disjoint m-cycles appearingin the graph G, where m ≥ 3 and 1 ≤ ` ≤ bn/mc. Then⟨⟨

(τm)`⟩⟩

= (2m)``!Xm,`. (3.2)

The following proposition is an immediate corollary of Theorem 3.2.

Proposition 3.7 (Graph circumference). Let G be a graph on n vertices withnilpotent adjacency matrix Λ. The length of the longest cycle in G is the largestinteger k such that

τk 6= 0. (3.3)

Corollary 3.8. Computing the circumference of a graph on n vertices requiresO(nβ+1 log n) C`ops in C`nnil.

Example 3.9. The circumference and girth of the graph in Figure 2 are com-puted using Mathematica.

In[55]:= Girth = 0;Circumference = 0;Mx = ClNilMatrixPower@B, 2D �� ClNilExpand;For@k = 3, k £ 16, k++,Mx = ClNilMatrixProduct@Mx, BD �� ClNilExpand;If@ScalarSum@Tr@MxDD ¹ 0 ì Girth � 0, Girth = kD;Circumference = If@ScalarSum@Tr@MxDD ¹ 0, k, CircumferenceD;DPrint@"Girth : ", GirthDPrint@"Circumference : ", CircumferenceD

Girth : 3

Circumference : 13

Corollary 3.10 (Graph girth). Let G be a graph on n vertices with nilpotentadjacency matrix Λ. The length of the shortest cycle in G is the smallest integerk such that

τk 6= 0. (3.4)

Corollary 3.11. Computing the girth of a graph on n vertices requiresO(nβ+1 log n) C`ops in C`nnil.

8

Page 9: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

Figure 2: A randomly generated graph on 16 vertices.

In the next proposition, C denotes the diagonal matrix Diag(ζ1, . . . , ζn). Itis used to account for the initial vertices of paths in G.

Proposition 3.12 (Longest path). Let G be a graph on n vertices with nilpotentadjacency matrix Λ. The length of the longest path in G is the largest integer ksuch that

CΛk 6= 0. (3.5)

Here, 0 denotes the n× n zero matrix.

Corollary 3.13. Computing the length of the longest path in a graph on nvertices requires O(nβ log n log n) C`ops in C`nnil.

4 Matrix-free approach to representing graphs

Some of the complexity results recalled in the previous section can be improvedby eliminating the nilpotent adjacency matrix. Moreover, the matrix-free ap-proach facilitates additional results such as the enumeration of matchings.

Let G = (V,E) be a graph on n vertices. The adjacency structure of G isrepresented uniquely within C`nnil by

Γ =∑

{vi,vj}∈E(G)

ζ{vi,vj}. (4.1)

Denote by C`nnil⊗R[t] the ring of polynomials in the unknown t with C`nnil

coefficients.

9

Page 10: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

Proposition 4.1. Let G be a graph on n vertices with Γ ∈ C`nnil as defined in(4.1). Let M denote the number of edges in a maximal matching of G. Then,etΓ is a polynomial in C`nnil ⊗ R[t], and

M = degt etΓ. (4.2)

Proof. Note that each edge of G is uniquely identified by the pair of verticeswith which it is adjacent. Let k be a nonnegative integer such that k ≤ n

2 . Fromconstruction of Γ, it follows that Γk is a sum of blades representing k-subsets ofedges of G. Moreover, by the null-square property of the vertex labels ζk, suchk-subsets of edges must represent k-matchings of G, since two edges incidentwith a common vertex would result in a blade with a squared generator.

Let Vk denote the collection of subsets of V representing the vertices incidentwith edges in a k-matching of G, and note that |Vk| = 2k. Observe also thatΓ` = 0 for all ` > n

2 , and that Γk = k!∑i∈Vk

ζi. Hence,

etΓ =∞∑k=0

(tΓ)k

k!=

n/2∑k=0

(tΓ)k

k!=

n/2∑k=0

tk∑i∈Vk

ζi. (4.3)

It follows immediately that degt etΓ = k if and only if k is the greatest integerfor which a k-matching of G exists.

Example 4.2. Figure 3 shows Mathematica code used to generate the randombipartite graph on 14 vertices pictured below and compute the size of a maximalmatching. The Mathematica package Combinatorica is used to corroborate theresult of Proposition 4.1.

Out[77]=

Size of Maximal Matching: 7

Degree of ãtΨ: 7

Corollary 4.3. The problem of computing the size of a maximal matching ina graph on n vertices is of complexity O(n log n) in C`nnil.

10

Page 11: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

n = 14;

Z = DiagonalMatrixATableAΖ9i=, 8i, 1, n<EE;SeedRandom;A = GenRandGraph@nD;While@Not@BipartiteQ@FromAdjacencyMatrix@ADDD,A = GenRandGraph@nD;D

GraphPlot@ADB = A.Z;

Ψ = SumAΖ9j= B@@jDD@@kDD, 8j, 1, n<, 8k, 1, j<E;exptΨ = SumAExpandAtk Ψk � k!E, 8k, 0, Floor@n�2D<E;Print@"Size of Maximal Matching: ",Length@BipartiteMatching@FromAdjacencyMatrix@ADDDDPrintA"Degree of ãtΨ: ", Exponent@exptΨ, tDE

Figure 3: Mathematica code for matchings example.

Proof. The number of C`ops required in C`nnil to evaluate etΓ is given by

n/2∑k=0

log k = log ((n/2)!) ≤ log((n/2)(n/2)) =n

2log(n/2) = O(n log n). (4.4)

Recalling that a perfect matching of a graph on an even number n of verticesis a matching containing n/2 vertices, the following result is immediate.

Corollary 4.4. Counting the perfect matchings of a bipartite graph on n verticesis of complexity O(log n) in C`nnil.

In light of this result, an improvement on the matrix permanent is expected.It is known that counting the perfect matchings of a bipartite graph is of thesame complexity as computing the permanent of its adjacency matrix.

The problem of computing the permanent of a matrix is known to be ]P-complete [3], [22]. Methods of approximating the permanent using Cliffordalgebras have also been discussed [4].

Proposition 4.5. Let M = (mij)n×n denote an arbitrary n × n matrix. Let{ζi}1≤i≤n denote commutative null-square generators of C`nnil, and define

ai =n∑j=1

mij ζj for each i = 1, 2, . . . , n. Then,

n∏i=1

ai = per(M)ζ[n]. (4.5)

11

Page 12: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

Proof. Recall the definition of the matrix permanent:

per(M) :=∑σ∈Sn

n∏i=1

miσ(i). (4.6)

Note that i 6= j ⇒ σ(i) 6= σ(j).Now consider the product

n∏i=1

ai =n∏i=1

(mi 1ζ1 + · · ·+mi nζn)

=∑

(k1,...,kn)∈[n]n

m1 k1m2 k2 · · ·mnknζk1ζk2 · · · ζkn

. (4.7)

The null-square property of the collection {ζi} implies that the sum is overn-tuples of distinct integers:∑

(k1,...,kn)∈[n]n

m1 k1m2 k2 · · ·mnknζk1ζk2 · · · ζkn

=∑

(k1,...,kn)∈[n]ni6=j⇒ki 6=kj

m1 k1m2 k2 · · ·mnknζk1ζk2 · · · ζkn

=∑σ∈Sn

m1σ(1)m2σ(2) · · ·mnσ(n) ζ[n] = per(M)ζ[n]. (4.8)

An immediate corollary gives the complexity of computing the permanentof an n× n matrix.

Corollary 4.6. Computing the permanent of an arbitrary n×n matrix requiresO(n) C`ops in C`nnil.

Example 4.7. A randomly generated binary matrix is generated and its per-manent is computed in Figure 4.

The corresponding elements of C`16nil appear in Figure 5.

The product16∏i=1

bi is computed in Figure 6. Note that the loop performs

15 = n− 1 multiplications in C`16nil.

Allowing cycles of length two, the permanent of a graph’s adjacency matrixcounts the number of cycle covers of the graph. This is clear from the definitionof permanent (4.6) when one recalls that every permutation σ ∈ Sn can bewritten as a product of disjoint cycles.

Corollary 4.8 (Complexity of cycle covers). Counting the cycle covers of afinite graph on n vertices requires O(n) C`ops in C`nnil.

12

Page 13: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

In[38]:= Permanent@m_ListD := With@8v = Array@x, Length@mDD<,Coefficient@Times �� Hm.vL, Times �� vDD

In[242]:= n = 16;SetSignature@n, 0DSeedRandom;A = GenRandGraph@nD;Print@"A = ", A �� MatrixFormDPrint@"PermanentHAL = ", Permanent@ADD

A =

0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1

0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0

1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1

0 0 0 0 1 0 1 0 0 1 0 0 0 0 0 0

0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0

1 0 1 0 0 0 1 0 0 1 0 0 0 0 1 0

0 0 0 1 0 1 0 0 0 0 1 0 0 0 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0

0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 0

0 0 0 1 0 1 0 0 0 0 0 0 1 1 0 0

0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0

1 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0

0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0

0 0 1 0 0 1 1 1 0 0 0 0 1 0 0 0

1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0

PermanentHAL = 9

Figure 4: Random matrix and its permanent.

b_1 = e83< + e86< + e813< + e816< b_2 = e89<

b_3 = e81< + e85< + e86< + e89< + e814< + e815< + e816< b_4 = e85< + e87< + e810<

b_5 = e83< + e84< b_6 = e81< + e83< + e87< + e810< + e815<

b_7 = e84< + e86< + e811< + e815< b_8 = e815<

b_9 = e82< + e83< + e813< b_10 = e84< + e86< + e813< + e814<

b_11 = e87< b_12 = e813<

b_13 = e81< + e89< + e810< + e812< + e815< b_14 = e83< + e810<

b_15 = e83< + e86< + e87< + e88< + e813< b_16 = e81< + e83<

Figure 5: Elements of C`16nil associated with random binary matrix of Figure

4.

13

Page 14: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

In[252]:= p = b1;For@k = 2, k £ n, k++,p = p� bk �� ClNilExpandDPrint@"Product of b_ell = ", pD

Product of b_ell = 9 e81,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16<

Figure 6: Product1∏i=1

6bi = per(A)ζ[16].

Figure 7: Graph associated with matrix A of Example 4.7.

Example 4.9. The graph associated with the matrix appearing in Example 4.7is shown in Figure 7. The number of cycle covers of this graph is 9.

We now introduce a method for computing the girth and counting the propercycle covers of a graph. The adjacency structure of a graph G on n vertices isrepresented within C`n3nil ⊗ C`|E|nil by

Ξ =∑

{vi,vj}∈E(G)

ξ{vi,vj}ζvivj . (4.9)

Here, each edge {vi, vj} of G is associated with a single generator ζvivjof C`|E|nil,

while each vertex is associated with a generator of C`n3nil.Observe that a path of length m in a connected graph consists of m edges

and m + 1 vertices. Hence, any path is also a tree. However, in order for atree to be a path, each vertex must be incident with no more than two vertices.Labeling vertices with elements ξi satisfying ξi

3 = 0 allows us to “sieve out”paths.

Recall that the term proper cycle refers to any cycle of length greater thantwo.

It is now possible to obtain an upper bound on the number of Hamilto-nian paths in a graph by considering the dimension of the smallest subspacecontaining 〈Ξn〉(2(n−1),n). For convenience, the following notation is defined.

14

Page 15: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

Definition 4.10. Let A be an algebra, and let u ∈ A. Then the dimension ofu is defined as the dimension of the smallest linear subspace S of A such thatu ∈ S. In other words,

dim(u) = min{S:A⊇S3u}

dim(S). (4.10)

Proposition 4.11. Let G be a graph on n vertices with Ξ ∈ C`n3nil ⊗ C`|E|nil

as defined in (4.9). Let X denote the number of coverings of vertices of G bya Hamiltonian path or exactly one path and one or more disjoint proper cycles.Then,

dim(〈Ξn〉(n,n−1)

)= X. (4.11)

Proof. Each nonzero coefficient of the expansion of 〈Ξn〉(n,n−1) corresponds toa unique subgraph G′ of G having n vertices and n − 1 edges. Moreover, eachvertex has maximum degree two. In light of Lemmas 2.5 and 2.6, it follows thateither G′ is a Hamiltonian path or G′ consists of exactly one path and one ormore disjoint proper cycles as connected components.

An immediate consequence of Proposition 4.11 is the following result con-cerning Hamiltonian paths.

Corollary 4.12. Let G be a graph on n vertices with Ξ ∈ C`n3nil ⊗ C`|E|nil asdefined in (4.9). Let H denote the number of Hamiltonian paths in G . Then,

dim(〈Ξn〉(n,n−1)

)= 0⇒ H = 0, (4.12)

andH ≤ dim

(〈Ξn〉(n,n−1)

). (4.13)

Proposition 4.13. Let G be a graph on n vertices with Ξ ∈ C`n3nil ⊗ C`|E|nil

as defined in (4.9). Let k be a positive integer. Then each term in the expan-sion of

⟨Ξk⟩

(k,k)represents a covering of G with proper cycles; that is, each

term represents a subgraph G′ whose connected components are disjoint cyclesof minimum length 3.

Proof. By properties of Ξ ∈ C`n3nil⊗C`|E|nil, each term of⟨Ξk⟩

corresponds toa subgraph G′ of G having k vertices and k edges. Moreover, the degree of eachvertex is less than or equal to two. By Lemma 2.6, the connected componentsof G′ are cycles. Since edges are labeled with null-square generators of C`|E|nil,these cycles contain no repeated edges and are therefore proper.

An immediate consequence of Proposition 4.13 is the following result con-cerning Hamiltonian cycles.

15

Page 16: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

Corollary 4.14. Let G be a graph on n vertices with Ξ ∈ C`n3nil ⊗ C`|E|nil asdefined in (4.9). Let ZH denote the number of Hamiltonian cycles in G . Then,

dim(〈Ξn〉(n,n)

)= 0⇒ ZH = 0, (4.14)

andZH ≤ dim

(〈Ξn〉(n,n)

). (4.15)

Example 4.15. For each k = 3, 4, . . . , 8, the grade (k, k) part of Ξk is computedusing Mathematica for a randomly generated graph on eight vertices. Eachnonzero term of

⟨Ξk⟩

(k,k)corresponds to a covering of a k-vertex subgraph

using disjoint cycles of length j ≤ k. The fact that⟨Ξ8⟩

(8,8)= 0 implies that

the graph contains no Hamiltonian cycles.In the Mathematica implementation of products of null-cubes, the multi-

index is defined by a vector in Z38 according to

ξ~v =8∏j=1

ξjvj . (4.16)

H* Overload Times operator to handle null-squares Ζ9j= and null-cubes Ξ9j= *LUnprotect@TimesD;Ζ = Symbol@"Ζ"D;Ζa_ Ζb_ := If@Length@a Ý bD > 0, 0, ΖaÜbD;Ξ = Symbol@"Ξ"DΞv_ Ξw_ := If@Max@v + wD < 3, Ξv+w, 0D;Protect@TimesD;Unprotect@PowerD;Ix_ �; ! FreeQAx, Ζa_ELn_Integer := ModuleB8y, f<, y = Expand@xD; SwitchBEvenQ@nD,

True, IfAn � 0, Return@1D, Composition@ExpandD@Distribute@f@y, yDD �. f ® TimesDn�2E,False, IfBn � 1, Return@xD, Composition@ExpandD@Distribute@f@y, yDD �. f ® TimesD n-1

2 xFFF;Ix_ �; ! FreeQAx, Ξa_ELn_Integer := ModuleB8y, f<, y = Expand@xD; SwitchBEvenQ@nD,

True, IfAn � 0, Return@1D, Composition@ExpandD@Distribute@f@y, yDD �. f ® TimesDn�2E,False, IfBn � 1, Return@xD, Composition@ExpandD@Distribute@f@y, yDD �. f ® TimesD n-1

2 xFFF;Protect@PowerD; Unprotect@ExpandD;ExpandAx_ �; ! FreeQAx, Ζ_EE := DeleteCasesADistribute@x, Plus, TimesD, 0.` Ζ_E;ExpandAx_ �; ! FreeQAx, Ξ_EE := DeleteCasesADistribute@x, Plus, TimesD, 0.` Ξ_E; Protect@ExpandD;

n = 8;Z = DiagonalMatrix@Table@Ξei, 8i, 1, n<DD;SeedRandom;A = GenRandGraph@nD;

GraphPlot@ADB = A.Z;

Ψ = SumAΞej B@@jDD@@kDD, 8j, 1, n<, 8k, 1, j<E;

16

Page 17: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

GradeAb_ Ξa_E := MatrixRank@DiagonalMatrix@aDD;GradeAΞa_E := MatrixRank@DiagonalMatrix@aDD;GradeAΖa_E := Length@aD;GradeAb_ Ζa_E := Length@aD;

GradeJK@u_D := 9GradeAu �. 9Ζ_ ® 1=E, GradeAu �. 9Ξ_ ® 1=E=

In[208]:= GradeJKPart@u_, 8j_, k_<D :=

Sum@If@GradeJK@u@@ellDDD == 8j, k<, u@@ellDD, 0D, 8ell, 1, Length@uD<D

In[326]:= X = Sum@Ζ8k< Ψ@@kDD, 8k, 1, Length@ΨD<D

Out[326]= Ζ81< Ξ80,0,0,0,0,0,1,1< + Ζ82< Ξ80,0,0,0,1,0,0,1< + Ζ83< Ξ80,0,0,0,1,0,1,0< + Ζ84< Ξ80,0,0,0,1,1,0,0< + Ζ85< Ξ80,0,0,1,0,0,1,0< +

Ζ86< Ξ80,0,0,1,0,1,0,0< + Ζ87< Ξ80,0,0,1,1,0,0,0< + Ζ88< Ξ80,0,1,0,0,0,0,1< + Ζ89< Ξ80,0,1,0,0,1,0,0< +

Ζ810< Ξ81,0,0,0,0,0,0,1< + Ζ811< Ξ81,0,0,0,1,0,0,0< + Ζ812< Ξ81,0,0,1,0,0,0,0< + Ζ813< Ξ81,0,1,0,0,0,0,0<

In[335]:= ForAk = 3, k £ n, k++,

PrintA"k = ", k, ". Grade Hk,kL part of Xk : ", GradeJKPartAExpandAX

kE, 8k, k<EEE

k = 3. Grade Hk,kL part of Xk : 6 Ζ81,2,3< Ξ80,0,0,0,2,0,2,2< + 6 Ζ83,5,7< Ξ80,0,0,2,2,0,2,0< +

6 Ζ84,6,7< Ξ80,0,0,2,2,2,0,0< + 6 Ζ82,10,11< Ξ82,0,0,0,2,0,0,2< + 6 Ζ87,11,12< Ξ82,0,0,2,2,0,0,0< + 6 Ζ88,10,13< Ξ82,0,2,0,0,0,0,2<

k = 4. Grade Hk,kL part of Xk : 24 Ζ81,2,5,7< Ξ80,0,0,2,2,0,2,2< + 24 Ζ83,4,5,6< Ξ80,0,0,2,2,2,2,0< +

24 Ζ82,4,8,9< Ξ80,0,2,0,2,2,0,2< + 24 Ζ81,3,10,11< Ξ82,0,0,0,2,0,2,2< + 24 Ζ81,5,10,12< Ξ82,0,0,2,0,0,2,2< +

24 Ζ82,7,10,12< Ξ82,0,0,2,2,0,0,2< + 24 Ζ83,5,11,12< Ξ82,0,0,2,2,0,2,0< + 24 Ζ84,6,11,12< Ξ82,0,0,2,2,2,0,0< +

24 Ζ82,8,11,13< Ξ82,0,2,0,2,0,0,2< + 24 Ζ84,9,11,13< Ξ82,0,2,0,2,2,0,0< + 24 Ζ86,9,12,13< Ξ82,0,2,2,0,2,0,0<

k = 5. Grade Hk,kL part of Xk :

120 Ζ81,2,4,5,6< Ξ80,0,0,2,2,2,2,2< + 120 Ζ81,3,4,8,9< Ξ80,0,2,0,2,2,2,2< + 120 Ζ81,5,6,8,9< Ξ80,0,2,2,0,2,2,2< +

120 Ζ82,6,7,8,9< Ξ80,0,2,2,2,2,0,2< + 120 Ζ81,2,5,11,12< Ξ82,0,0,2,2,0,2,2< + 120 Ζ81,3,7,10,12< Ξ82,0,0,2,2,0,2,2< +

120 Ζ81,5,7,10,11< Ξ82,0,0,2,2,0,2,2< + 120 Ζ82,3,5,10,12< Ξ82,0,0,2,2,0,2,2< + 120 Ζ82,4,6,10,12< Ξ82,0,0,2,2,2,0,2< +

120 Ζ81,3,8,11,13< Ξ82,0,2,0,2,0,2,2< + 120 Ζ82,4,9,10,13< Ξ82,0,2,0,2,2,0,2< + 120 Ζ84,8,9,10,11< Ξ82,0,2,0,2,2,0,2< +

120 Ζ81,5,8,12,13< Ξ82,0,2,2,0,0,2,2< + 120 Ζ86,8,9,10,12< Ξ82,0,2,2,0,2,0,2< +

120 Ζ82,7,8,12,13< Ξ82,0,2,2,2,0,0,2< + 120 Ζ84,7,9,12,13< Ξ82,0,2,2,2,2,0,0< + 120 Ζ86,7,9,11,13< Ξ82,0,2,2,2,2,0,0<

17

Page 18: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

k = 6. Grade Hk,kL part of Xk :

720 Ζ81,3,6,7,8,9< Ξ80,0,2,2,2,2,2,2< + 720 Ζ81,4,5,7,8,9< Ξ80,0,2,2,2,2,2,2< + 720 Ζ82,3,5,6,8,9< Ξ80,0,2,2,2,2,2,2< +

720 Ζ81,3,4,6,10,12< Ξ82,0,0,2,2,2,2,2< + 720 Ζ81,4,5,6,10,11< Ξ82,0,0,2,2,2,2,2< + 720 Ζ81,3,4,9,10,13< Ξ82,0,2,0,2,2,2,2< +

720 Ζ81,5,6,9,10,13< Ξ82,0,2,2,0,2,2,2< + 720 Ζ81,3,7,8,12,13< Ξ82,0,2,2,2,0,2,2< + 720 Ζ81,5,7,8,11,13< Ξ82,0,2,2,2,0,2,2< +

720 Ζ82,3,5,8,12,13< Ξ82,0,2,2,2,0,2,2< + 720 Ζ83,5,7,8,10,13< Ξ82,0,2,2,2,0,2,2< +

720 Ζ82,4,6,8,12,13< Ξ82,0,2,2,2,2,0,2< + 720 Ζ82,6,7,9,10,13< Ξ82,0,2,2,2,2,0,2< +

720 Ζ82,6,8,9,11,12< Ξ82,0,2,2,2,2,0,2< + 720 Ζ84,6,7,8,10,13< Ξ82,0,2,2,2,2,0,2< + 720 Ζ84,7,8,9,10,12< Ξ82,0,2,2,2,2,0,2< +

720 Ζ86,7,8,9,10,11< Ξ82,0,2,2,2,2,0,2< + 720 Ζ83,4,5,9,12,13< Ξ82,0,2,2,2,2,2,0< + 720 Ζ83,5,6,9,11,13< Ξ82,0,2,2,2,2,2,0<

k = 7. Grade Hk,kL part of Xk : 5040 Ζ81,2,3,6,9,12,13< Ξ82,0,2,2,2,2,2,2< + 5040 Ζ81,2,4,5,9,12,13< Ξ82,0,2,2,2,2,2,2< +

5040 Ζ81,2,5,6,9,11,13< Ξ82,0,2,2,2,2,2,2< + 5040 Ζ81,3,4,6,8,12,13< Ξ82,0,2,2,2,2,2,2< +

5040 Ζ81,3,6,7,9,10,13< Ξ82,0,2,2,2,2,2,2< + 5040 Ζ81,3,6,8,9,11,12< Ξ82,0,2,2,2,2,2,2< +

5040 Ζ81,4,5,6,8,11,13< Ξ82,0,2,2,2,2,2,2< + 5040 Ζ81,4,5,7,9,10,13< Ξ82,0,2,2,2,2,2,2< +

5040 Ζ81,4,5,8,9,11,12< Ξ82,0,2,2,2,2,2,2< + 5040 Ζ82,3,5,6,9,10,13< Ξ82,0,2,2,2,2,2,2< +

5040 Ζ83,4,5,6,8,10,13< Ξ82,0,2,2,2,2,2,2< + 5040 Ζ83,4,5,8,9,10,12< Ξ82,0,2,2,2,2,2,2< + 5040 Ζ83,5,6,8,9,10,11< Ξ82,0,2,2,2,2,2,2<

k = 8. Grade Hk,kL part of Xk : 0

Definition 4.16. Given ψ ∈ C`n3nil ⊗ C`|E|nil, the grade-balanced exponentialof ψ is defined by

expgb(u) =∞∑k=0

⟨ψk

k!

⟩(k,k)

. (4.17)

Proposition 4.17. Let G be a graph on n vertices with Ξ ∈ C`n3nil ⊗ C`|E|nil

as defined in (4.9). Let Girth(G) denote the length of the smallest nontrivialcycle in G. Then, as a polynomial in C`n3nil ⊗ C`|E|nil ⊗ R[t],

degt

(tn(

expgb

(Ξt

)− 1))

= n−Girth(G). (4.18)

Proof. Note first that tn expgb

(Ξt

)is a polynomial in t of degree at most n. The

degree of the polynomial is equal to the smallest exponent k appearing amongnonzero terms in the expansion

expgb

(Ξt

)− 1 =

n∑k=1

⟨Ξk

k!tk

⟩(k,k)

. (4.19)

By Proposition 4.13, nonzero terms in the expansion of⟨Ξk⟩

(k,k)represent dis-

joint cycle covers of k-vertex subgraphs in G. The smallest positive integer k0 forwhich such a cover exists must correspond to k0-cycles in G; i.e., k0 = Girth(G).

Thentn

tk0= tn−Girth(G), from which the result is obtained.

Corollary 4.18. Computing the girth of a graph with n vertices and |E| edgesrequires O(n log n) C`ops in C`n3nil ⊗ C`|E|nil.

Proof. Computing expgb

(Ξt

)requires computing

⟨Ξk

k!tk

⟩(k,k)

for 0 ≤ k ≤ n.

Proposition 4.19. Let G be a graph on n vertices with Ξ ∈ C`n3nil ⊗ C`|E|nil

as defined in (4.9). Let Z denote the number of proper cycle covers of G. Then,

dim(〈Ξn〉(n,n)

)= Z. (4.20)

18

Page 19: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

Proof. Note that Ξn represents n-edge subsets taken from the graph G. Re-calling that any collection of n edges incident with n vertices in a connectedgraph is a cycle if and only of every vertex has degree 2. By construction of thethree-nil algebra, the terms of Ξn represent subgraphs in which the maximumvertex degree is two and the minimum vertex degree is one.

All that remains is to show no vertex of this subgraph can have degree one.By the Handshaking Lemma (Lemma 2.7), since the subgraph G′ contains nvertices and n edges, ∑

v∈VG′

deg(v) = 2n. (4.21)

Since the maximum vertex degree is two, this sum can be written in theform

∑v∈VG′

deg(v) =∑

v∈VG′

deg(v)=1

deg(v) +∑

v∈VG′

deg(v)=2

deg(v)

= |{v ∈ VG′ : deg(v) = 1}|+ 2 |{v ∈ VG′ : deg(v) = 2}|= (n− |{v ∈ VG′ : deg(v) = 2}|) + 2 |{v ∈ VG′ : deg(v) = 2}|

= n+ |{v ∈ VG′ : deg(v) = 2}| = 2n. (4.22)

Hence, |{v ∈ VG′ : deg(v) = 2}| = n. It follows that G′ is a graph whoseconnected components are nontrivial cycles.

Corollary 4.20. Computing the number of proper cycle covers of a graph on nvertices and |E| edges requires O(log n) C`ops in C`n3nil ⊗ C`|E|nil.

5 Conclusion

The advantages of a computer architecture capable of dealing naturally withgeometric objects are numerous. If one assumes the existence of such a machine,a natural measure of algorithmic complexity is the number of Clifford operations(C`ops) required by the algorithm.

In terms of numbers of C`ops required, a number of problems of complexityclass NP are of polynomial complexity. We assert that a Clifford computerwould have natural advantages for solving an assortment of combinatorial andgraph-theoretic problems.

In addition, as Aerts and Czachor have shown [2], a Clifford computer wouldbe able to implement quantum computing algorithms while avoiding the noiseand error-correcting concerns associated with quantum systems.

Using currently available technology, the computations performed are nottruly geometric operations. Multiplying two multivectors still requires keepingtrack of nonzero coefficients of blades of all degrees. The true power of a ge-ometric computing architecture is yet to be realized. In an ideal architecture,

19

Page 20: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

multiplying two multivectors would require one operation and an appropriatemeasurement (projection) to recover the relevant information. However, an ar-chitecture in which the multivector product is of polynomial complexity wouldbe sufficient for dramatic reductions in complexity.

References

[1] R. Ab lamowicz, B. Fauser, CLIFFORD - A Maple Package for Clifford AlgebraComputations. http://math.tntech.edu/rafal/

[2] D. Aerts, M. Czachor, Cartoon computation: quantum-like computing withoutquantum mechanics, J. Phys. A: Math. Theor., 40 F259-F263, (2007).

[3] A. Ben-Dor, S. Halevi, Zero-one permanent is ]P-complete, a simpler proof, Pro-ceedings of the 2nd Israel Symposium on the Theory and Computing Systems,(1993), 108-117.

[4] S. Chien, L. Rasmussen, A. Sinclair, Clifford algebras and approximating thepermanent, Journal of Computer and System Sciences, 67 (2003), 263-290.

[5] D. Coppersmith, S. Winograd, Matrix multiplication via arithmetic progressions,Journal of Symbolic Computation, 9 (1990), 251280.

[6] D. Fontijne, T. Bouma, L. Dorst, GAIGEN: a geometric algebra implementationgenerator, Univeristy of Amsterdam, NL, July 2002. http://www.science.uva.nl/ga/gaigen

[7] S. Franchini, A. Gentile, M. Grimaudo, C.A. Hung, S. Impastato, F. Sorbello,G.Vassallo, S. Vitabile, A sliced coprocessor for native Clifford algebra opera-tions, Proceedings of the 10th Euromicro Conference on Digital System DesignArchitectures, Methods and Tools (DSD 2007), 436-439, (2007).

[8] A. Gentile, S. Segreto, F. Sorbello, G. Vassallo, S. Vitabile, V. Vuollo, Clif-foSor, an innovative FPGA-based architecture for geometric algebra, Proceedingsof the International Conference on Engineering of Reconfigurable Systems andAlgorithms (ERSA 2005), 211-217.

[9] A. Gentile, S. Segreto, F. Sorbello, G. Vassallo, S. Vitabile, V. Vuollo, CliffoSor:a parallel embedded architecture for geometric algebra and computer graphics,Proceedings of the IEEE International Workshop on Computer Architecture forMachine Perception (CAMP 2005), 90-95, IEEE Computer Society Press.

[10] P. Leopardi, The GluCat Home Page, http://glucat.sourceforge.net/

[11] B. Mishra, P. Wilson, Color edge detection hardware based on geometric algebra,http://eprints.ecs.soton.ac.uk/13188/

[12] B. Mishra, P. Wilson, Hardware implementation of a geometric algebra processorcore, Proceedings of ACA 2005, IMACS, Int. Conf. on Advancement of ComputerAlgebra, Nara, Japan, 2005. http://eprints.ecs.soton.ac.uk/10957/

[13] C. Perwass, The CLU Project web page, http://www.perwass.de/cbup/clu.

html

[14] C. Perwass, C. Gebken, G. Sommer, Implementation of a Clifford algebra co-processor design on a field programmable gate array, Clifford Algebras Appli-cations to Mathematics, Physics, and Engineering, Progress in MathematicalPhysics 34, Birkhauser, Boston, 2004.

20

Page 21: Computational Complexity Reductions using Cli ord Algebras · Given a computing architecture based on Cli ord algebras, the natural con-text for determining an algorithm’s time

[15] I. Porteous, Lecture 2: Mathematical structure of Clifford algebras, Lectureson Clifford (Geometric) Algebras and Applications, R. Ab lamowicz, G. Sobczyk,Eds., Birkhauser, Boston, 2003.

[16] R. Schott, G.S. Staples, Nilpotent adjacency matrices and random graphs, ArsCombinatoria, To appear.

[17] R. Schott, G.S. Staples, Nilpotent adjacency matrices, random graphs, and quan-tum random variables, J. Phys. A: Math. Theor., 41 155205, (2008).

[18] R. Schott, G.S. Staples, Reductions in computational complexity using Cliffordalgebras, Advances in Applied Clifford Algebras, To appear.

[19] G.S. Staples, Clifford-algebraic random walks on the hypercube, Advances inApplied Clifford Algebras, 15 213-232, (2005).

[20] G.S. Staples, Graph-theoretic approach to stochastic integrals with Clifford alge-bras, J. Theor. Prob., 20 257-274, (2007).

[21] G.S. Staples, Norms and generating functions in Clifford algebras, Advances inApplied Clifford Algebras, 18 75-92, (2008).

[22] L. Valiant, The complexity of computing the permanent, Theoretical ComputerScience, 8 (1979), 189-201.

[23] D. West, Introduction to Graph Theory, Second Ed., Prentice Hall, Upper SaddleRiver, 2001.

21