As quantum hardware progresses, the race is on to develop new software applications for these systems. More than 240 leading researchers from academia and industry recently signed the Quantum Software Manifesto highlighting the need for investment in quantum software development. However, there are significant barriers to developing useful quantum software.
Quantum mechanics defies our intuition, making it difficult to construct meaningful algorithms.
Developing non-trivial quantum algorithms and protocols requires years of experience.
Only a small community of researchers have experience developing quantum algorithms.
Quantum data structures are in their nascent stages and quantum languages are assembly-like.
We think that you should be able to program a quantum computer in exactly the same way you program computers today.
That’s why we’re pioneering an approach to quantum programming that allows programs written in a single unified language to be compiled and run on either conventional or quantum computers, producing fast efficient implementations no matter the platform. At the core of our technology is a process that automatically constructs quantum algorithms based on programs written in classical languages.
Rather than being limited to using libraries of pre-programmed algorithms or writing programs in gate level languages, our approach offers greater flexibility and the opportunity to develop quantum algorithms for new domains without deep quantum expertise.
Our process allows the programmer to gain a quantum speedup without the need to understand the underlying computational model, and without having to restrict themselves to the limited functionality of pre-existing libraries. This gives programmers the ability to develop quantum algorithms without quantum knowledge.
Source code is first parsed, then recasted in a form that untangles and simplifies the code so that quantum speedups can be more easily detected.
Elements of the program are then classified and replaced with more efficient quantum subroutines which accomplish the same task in different ways.
Finally, these are translated into the basic building blocks of quantum algorithms and processed into a quantum program.
The functionality of our system goes beyond simply constructing algorithms. We are developing a complete compiler stack that will span the entire chain from algorithms construction down to physical level implementation.
If you are interested in getting early access to our technology, please express your interest. We are currently developing our tools and will be progressively rolling out features as they are ready.