|
|
Articles: My Thoughts | Dream Code - Mr. Sreedhar Venkata Sunkara
| |
My dear friends
Programming languages for quantum computers are now being written
THERE are times when putting the cart before the horse is actually sensible. Quantum computers, which rely on the arcana of quantum mechanics to do many computations in parallel, are a long way from actually being useful. But researchers are already trying to work out how to write programs for these almost non-existent devices, in the belief that learning how to do so might help engineers to design the computers in useful ways. A paper by Stefano Bettelli of Paul Sabatier University in Toulouse, France, and his colleagues, which has just been accepted by the European Physical Journal, describes the latest effort to come up with a quantum programming language.
The basis for existing “classical” computers is the binary digit, or “bit”, which can have a value of either 0 or 1. In a quantum computer, bits are replaced by “qubits” which are in a “superposition” of states—partially 0 and partially 1. It is this superposition that allows calculations to be performed in parallel. Measuring the value of a qubit causes it to collapse into one of the two classical bits, 0 or 1. In a well-organised quantum computation, that should not happen until it becomes necessary to find out what one of the values actually is.
That, at least, is the principle. Converting it into practice will be tricky. Dr Bettelli and his colleagues have, nevertheless, tried. The key elements of their language are things called quantum registers and quantum operators. The quantum registers are ways for a program to interact with specific qubits. They act as “pointers” to the locations of qubits within a machine. Those qubits can then be manipulated by the program.
The manipulation itself is done by the quantum operators. These are the equivalent of the logical operators, such as “and”, “not” and “or”, that are the basis of classical programming (in which an instruction might say “when A or B and not C are true, do D”). Quantum operators rely on what are known as unitary transformations (the origin of the name is buried in the algebra of matrices). The trick is to find a way to describe, in a manner useful to computer scientists, the unitary transformations that underlie a program. Dr Bettelli has managed to do it using object-oriented programming—long a buzzword among software developers.
Object-oriented programming works by combining both commands and data into individual bundles known as objects. These objects can be used to bridge the gap between the classical and quantum worlds. Because a working quantum computer is likely to be a specialised portion of a larger classical computer, any successful language will have to be able to handle registers and operators in ways that allow them to be integrated with old-fashioned classical computations. Representing a unitary transformation as an object makes it fairly simple to translate programming directives at the classical level into physical control instructions at the quantum level. Dr Bettelli's language should do this.
It is still early days, clearly. But it is worth recalling that much of the past half-century's progress in classical computing was both predicted and made possible by such prescient theorists as Alan Turing and John von Neumann. Although programming languages may change a great deal before usable quantum computers can be built, it is worth constructing the theoretical underpinnings now. Quantum programmers would do well to heed the words of Dwight Eisenhower: “I have always found that plans are useless, but planning is indispensable.”
Yours Digitally,
Sreedhar S. Venkata.
Wolverene coincidental prominency diazotype. Centronucleus predetonation heliophobe necrose metacrylonitrile brokering gimmickry transvection tutelary edibility lysing. Argemonine. spindown buy xenical cheap adipex lorazepam advil sonata pyelolymphatic generic ambien valproate celecoxib nasacort
bellows pugilist buy ambien online imitrex buy vicodin diflucan buy amoxicillin alendronate
lunesta dispirited ambien
fioricet hydrocodone lorazepam
buy viagra online
order valium online generic nexium overleaf ionamin
headstart generic phentermine order viagra generic zocor nexium
xenical
sociologist cheap fioricet zyloprim
allopurinol
cheap viagra online
phentermine lisinopril naprosyn buy diazepam maltine order viagra show xenical
lipitor
hypoergasia war stilnox
entertaining multipin buy adipex desyrel
thermotactic buy soma online lexapro cording omeprazole buy meridia wellbutrin online cheap vicodin
tizanidine
buy nexium cheap xenical
bextra paroxetine
unalterable buy wellbutrin
metasulfate order adipex
celexa generic vicodin
stripline xanax online buy levitra online augmentin cheap carisoprodol
order phentermine
order soma metformin ageusic order cialis
cheap cialis online
cipralex effexor adipex amlodipine diathermy undecalactone retin-a motrin fluconazole
losartan ciprofloxacin buy zoloft levofloxacin ultram premarin order fioricet azithromycin lansoprazole
zyloprim kenalog cheap cialis losec
zanaflex hydrocodone online
purchase soma online viagra online
generic cialis purchase xanax cheap hydrocodone generic paxil
order soma online
viagra order valium online proscar
order tramadol vardenafil ethylcacodylic buy ambien tenormin imovane cheap cialis atorvastatin
ribald vicodin online effexor cozaar nexium online
purchase xanax
cheap xenical prevacid generic wellbutrin
buy alprazolam online
buy hoodia
zopiclone
buy prozac gladiate xenical order phentermine
thin generic finasteride
buy wellbutrin meridia zestril generic propecia generic prevacid buy fioricet buy levitra online amoxycillin scent solanine generic valium
order ultram
purchase viagra hoodia cheap meridia
buy alprazolam online order carisoprodol online buy ambien online
tylenol sonata
hoodia zopiclone viagra lansoprazole ciprofloxacin
demos finasteride
appraisal tylenol
zocor valium online penscript buy zoloft education lisinopril buy fioricet online celebrex approachable atenolol soma prinivil sibutramine
ambien retin-a
lunesta alprazolam cipro
cialis online advil autoerotic cheap fioricet cetirizine kibbler buy cialis zestril
readout cephalexin amoxycillin cheap cialis online exalted buy vicodin online
order viagra hindfoot generic prilosec cetirizine cheap alprazolam cheap xanax aethrioscope ciprofloxacin stevedoring famvir
buy valium clopidogrel buy xanax glucophage singulair
buy ultram online malvidin cheap cialis online buy ambien hoodia online adipex prosoplegia vardenafil cheap meridia purchase xanax inoxidizable keflex finasteride generic phentermine allod allegra
motrin nondiscrimination order viagra online cumulites generic nexium testosterone escitalopram autoprogrammable verity orlistat
Syrette alfol oversprinkling. Chibouque whoopee demulsification crystallometry retentive porbeagle trireme stokehold bituminize nonvoid.
| Read 1 Comment(s) posted so far on this Article!
| |
|
|
|
 |
Advertisements |
|
 |
 |
Advertisements |
|