Portrait of Martin Roetteler

Martin Roetteler

Principal Research Manager


I am a Principal Research Manager at Microsoft Quantum – Redmond (opens in new tab). Prior to joining MSR in 2013, I was a Senior Research Staff Member at NEC Laboratories America (opens in new tab) (2005-2013) and the leader of NEC’s Quantum IT group. I was a post-doctoral fellow at the Institute for Quantum Computing (opens in new tab), Waterloo, Canada (2003-2004). I received my Ph.D. degree from the University of Karlsruhe, Germany (2001). My research is centered around quantum algorithms, quantum error-correction, quantum circuits, and quantum programming languages.

I am passionate about finding new examples of problems for which a quantum computer dramatically outperforms any classical computer. In particular, I am interested in problems where an exponential speedup compared to the best known classical algorithm can be achieved by using a quantum computer. Not many such problems are currently known, arguably the most well-known cases are Shor’s algorithms for factoring and dlog and the simulation of a wide range of quantum mechanical systems on a quantum computer. A problem that I like in particular is the so-called hidden shift problem in which one has to identify an unknown offset in the argument of a function. I showed that for certain Boolean functions that are used in cryptography, such hidden shift problems can be solved efficiently, a result which was subsequently generalized to broader classes of functions.

Starting in 2011, I changed my research area almost completely and started to work on quantum programming languages, quantum circuit synthesis, and more generally, compilers that can break down higher-level algorithms into elementary gate sequences and that can perform resource estimation for a variety of physical machine descriptions. I am excited to be part of a team that develops Azure Quantum (opens in new tab), Microsoft’s Quantum Development Kit, (opens in new tab) and software libraries for the quantum programming language Q# (opens in new tab).