**Instructors:**Pascal Koiran, Natacha Portier

**Prerequisites:**No specialized knowedge is required, however basic notions in algorithms, complexity theory, linear algebra and discrete probability will help.

**Objective:****In arithmetic circuit complexity we evaluate the cost of an algorithm by the number of arithmetic operations (additions and multiplications) performed on inputs of a given size. Many classical algorithms, e.g., for matrix multiplication or polynomial multiplication, naturally fit in this model. Moreover, it should be easier to prove lower bounds for that model as it is more restricted than the standard boolean model (algorithms do not have access to the indivual digits of inputs). One central problem in this area is to prove a super-polynomial lower bound for an “explicit” polynomial such as for instance the permanent polynomial. While this problem is still open, some significant progress has been achieved in the last few years. We will cover some classical results in this area and some of the recent developments.**

**Course outline:**

1)**Upper bounds: structural properties of arithmetic circuits**

We will examine some of the main classes of arithmetic circuits and their relationships. One recurring theme is depth reduction (or “parallelization”) of arithmetic circuits. This is a classical topic, but some surprising results were achieved recently. For instance, it was shown that any arithmetic circuit can be transformed into an equivalent circuit of depth 4 (and sometimes just 3!) without blowing up its size too much.

2)**Lower bounds**

We will review some classical lower bound methods such as Nisan and Wigderson’s method of partial derivatives, and recent developments such as the method of*shifted*partial derivatives (Neeraj Kayal). The latter is especially well suited to depth 4 circuits and comes tantalizingly close to proving the much-coveted super-polynomial lower bound for general arithmetic circuits. If time allows, we may also cover some booelan circuit lower bounds.

3)**Polynomial identity testing**

Polynomial identity testing (PIT) is the following problem: given a polynomial P in a “compact representation” (for instance, represented by an arithmetic circuit), decide if P is identically equal to zero. If time allows we will present some simple randomized algorithms for this problem, some combinatorial applications of PIT and the main related open question: is there a deterministic polynomial-time algorithm for PIT? It turns out that derandomizing PIT is essentially equivalent to proving lower bounds for arithmetic circuits.

**Validation:**There will be a written final exam and either a homework assignment or an oral presentation of a research article.

**Bibliography:****Books**: Some chapters of general texts on complexity theory are relevant for this course, e.g.,*Introduction to Computational Complexity*by Arora and Barak, or*Complexité Algorithmique*by Sylvain Perifel (in French).*Completeness and Reduction in Algebraic Complexity*by Peter Bürgisser is an older but more focused reference.**Surveys:**Thanks to the rapid development of the field, several recent surveys are available, for instance,*Arithmetic circuits: A survey of recent results and open questions*by Shpilka and Yehudayoff.P

*artial Derivatives in Arithmetic Complexity and Beyond*by Chen, Kayaland Wigderson.*A selection of lower bounds for arithmetic circuits*by Kayal and Saptharishi.__Recent progress on lower bounds for arithmetic circuits__by Shubhangi Saraf.