44 comments

[ 2.1 ms ] story [ 94.7 ms ] thread
If there's something that I began to scratch and easily loose myself is imagining how do you program something using qubits, how the language looks like, or even an algorithm. In few seconds I come back to the 0-or-1 kind of thinking and can't advance.
See, for example:

https://docs.microsoft.com/en-us/quantum/quantum-qr-intro?vi...

https://en.wikipedia.org/wiki/Qubit

Going further...

https://en.wikipedia.org/wiki/Ternary_computer

https://en.wikipedia.org/wiki/Three-valued_logic

edit: The Microsoft Q# tutorial seems friendly enough to wade into without much knowledge in the field (especially if you know C# or F#). But if you're like me you'll have about 5 tabs of reading material open beside ;)

I’m missing the piece between the dwave and programming in ternary. Ie the dwave acts as a neural network - you “program it” through finding novel applications of its architecture to problems. (Its hardware being a specific form of neural network, a Hopfield network.) Ternary programming seems to be an attempt to implement general processing on top of a neural network, ignoring the relationships between the qbits.
I am in no way in my element with quantum computing. I'm trying to dip my toes in as an amateur.

I still often get a little turned around in the [what appear to be] subtle differences between Qubit operations and ternary operations.

At a naive level, they appear to be the same—three possible states: 1, 0, indeterminate. This however isn't quite true. I hope somebody who's better educated can weigh in, but it seems that a Qubit is actually flat to the user in that the user can only ever see one of two visible states at the point of observation, where with ternary operations the user can actually see one of three differing states.

I'm not yet familiar with the DWave platform, but it certainly appears as if that would be a good thing to know in the coming years...

From my understanding, they define a state of the Hopfield nodes akin to some external model’s state at some point. Then the neural net “anneals” to its naturally lowest energy state. That state is then read as output of the computer. This is my very naive understanding, of course.
Okay, I had to do a bit of reading to even start to understand what you were talking about/referring to, but it sounds like you're on the right track—though I didn't get to any point in my reading where they specified the network type explicitly.

Also:

It sounds like the 2000Q is designed to offer API capability, but it doesn't sound like anybody runs one:

https://www.dwavesys.com/software

But for now IBM and Rigetti do:

http://www.davidykay.com/Cloud-Quantum-Computing-Heats-Up-as...

D-wave does have software available for developing on a normal machine that can also run on their systems, but I'm finding Q# a more familiar interface for an introduction.

https://github.com/dwavesystems/qbsolv

There's no missing piece between the dwave and arbitrary quantum computing, dwave doesn't do that, it does a particular task (quantum annealing), to which some (but not all!) quantum algorithms can be mapped.

If you want to implement arbitrary quantum algorithms, you need a proper quantum processor (like the one described in the article), not something involving dwave; it's apples and oranges; they're both fruit but not the same and not really comparable.

My gut reaction is to dismiss the dwave for that. But, it’s still a neat piece of hardware - a quantum scale hardware neural network modeled on a simplification of brain neurons. It’s just sort of a naming collision.
Don’t feel bad — in a recent WSJ magazine interview with Bill Gates he said, (paraphrasing), “I keep up with most of the new tech at Microsoft, but if there’s one area where the math looks like Greek to me, it’s Quantum Computing.”
The basics of quantum computing are not difficult if you know linear algebra. The state of a qubit is described using a column vector that holds complex numbers. Gate operations are performed by multiplication on the states with unitary matrices.

A good introduction: http://pyquil.readthedocs.io/en/latest/intro.html

That's the greek right there
(comment deleted)
If it helps, try imagining what programming superscalar computers is like. :)

That is, when it is ready, you really won't, for most things. Instead, you will leverage massive amount of work others have done so that your much simpler programs will work.

Bah, if I had my way, I’d like to be one of those first contributors the rest gets built upon.
Fair. My point there is not to worry, then, about how to solve large problems. Quite literally worry only about the smaller building blocks.

To get an idea of the useful building blocks for traditional computers, look at the circuitry that goes into manipulating numbers. Far from trivial, once you get to a certain size. And it is likely you will need the same operations even in quantum.

Not just addition, mind. Rotation/shifting and other manipulations of data. I'm sure there are some new primitives, as well.

so at what point does a quantum computer's ability to factor large number threaten RSA (since RSA relies on prime factorization being extremely cpu intensive)?
Well, at a guess, you need at least as many qubits as there are bits in your key?
For at least one quantum computer you would need a way to encode the number in the qbit states as well as the algorithm, I think. It seems like something that may require a specially engineered quantum computer.
> "Qubits will endow quantum computers with the ability to do certain tasks—such as querying a database, factoring large prime numbers..."

Why do people make that mistake so often?

I'm not a mathematician, so excuse my ignorance, but is it wrong to call it factoring? The definition of a prime number is a number whose only factors are 1 and itself, so you're still factoring the number to see if it fits the definition.
The real threat of quantum computers is not the testing of prime numbers, but the factoring of semiprime numbers (numbers that have two distinct prime factors). The difficulty of taking a semiprime number and extracting it’s prime factors is considered an extremely hard problem, and this assumption of difficulty underpins nearly all of our modern cryptographic systems. If it were trivial to factor a large semiprime, one could intercept/hack all credit card transactions. This is the quintessential problem that quantum supremacy raises, and the most publicized; OP was remarking that the journalists likely meant to talk about this threat, but somewhat sloppily wrote prime instead of semiprime.
The lay audience might ignore semi-prime and just interpret it as prime. Or the author did that.
(comment deleted)
People are interested in factoring numbers in context of breaking RSA encryption, so they knew factored number is not a prime. Also quantum algorithms are probabilistic so getting "it is a prime result" isn't very trustworthy. When we get actual factors it is easy to verify that with division/multiplication on classical CPU.
Indeed; while Quantum compute is an exciting development, I am suspicious of the conclusion that cracking classic crypto is just around the corner. There are enormous challenges yet to solve; reducing noise in the results down to a useful collection is just one. If the quantum computer gives you a correct result 1/2^64 times, or a result within range of the actual result to within 2^64 values, then it is far from complete doom for classical cryptography.

It's very useful for lots of other things, so undoubtedly we'll see plenty of gains in in quantum applications.

In the early 90's Ghandi got hold of one of these devices and caused havoc. Luckily, he was stopped by Bob Woodward with some help from Elwood Blues and, of course, President Roslin.

I'd like to see Qbert crack that.

My guess is because takes more words to say what they really mean, numbers with only two large prime factors.
Most likely the author misunderstood and incorrectly translated the technical term "prime factorization", which means factoring into primes, to "factoring primes".
I think what the person might have meant was factoring a large composite number made up of two large prime numbers. It really is factoring large semiprimes. To make it even more confusing finding the prime factors out of any positive integer is called prime factorization. I totally get why people would say factoring large primes even though that is totally incorrect.
I'll believe it when I see Satoshi's Bticoins draining off to a new wallet...
That would be fun to watch, but to be overly pedantic about it, it will take a computer with hundreds of qubits to break current public key encryption.
How many hundreds? We are apparently at 72 qubits...sounds to me we are a year or two away from what you're saying
As your sibling comment pointed out, we still have a long way to go before we are able to make large amounts of stable and thus truly usable qubits.
It will take hundreds of fault tolerant qubits. That means it will take potentially millions of physical qubits of relatively high quality. There is a long road ahead from 72 relatively medium quality to millions of relatively high quality qubits.
Is quantum error correction really that demanding? I thought it was only a small multiple of the number of qubits, not orders of magnitude more.
Is there a paper out about this yet?

The blog post was weird: "Here's this chip we've made, but we don't know anything about its performance characteristics, yet." Made me skeptical about this being any kind of breakthrough.