We present ongoing work on Guppy, a domain-specific language embedded in Python that allows users to write high-level hybrid quantum programs with complex control flow in Pythonic syntax, aiming to run them on actual quantum hardware.
यह पेपर Guppy का परिचय देता है, जो Python में एम्बेड की गई एक डोमेन-विशिष्ट भाषा (DSL) है। यह उपयोगकर्ताओं को Pythonic सिंटैक्स का उपयोग करके जटिल नियंत्रण प्रवाह के साथ उच्च-स्तरीय हाइब्रिड क्वांटम प्रोग्राम लिखने की अनुमति देता है, जिसका लक्ष्य इन प्रोग्रामों को वास्तविक क्वांटम हार्डवेयर पर चलाना है।
क्वांटम कंप्यूटिंग में Python का प्रभुत्व: नवीनतम सर्वेक्षण के अनुसार, 90% से अधिक क्वांटम कंप्यूटिंग शोधकर्ता और व्यावहारिक कार्यकर्ता Python का उपयोग करते हैं, लेकिन मौजूदा ढांचे सर्किट-स्तरीय अमूर्तता तक सीमित हैं और उच्च-स्तरीय नियंत्रण प्रवाह के लिए समर्थन सीमित है।
वास्तविक समय क्वांटम-शास्त्रीय कंप्यूटिंग आवश्यकता: दोहराएं-जब-तक-सफल (repeat-until-success) प्रोटोकॉल जैसे एल्गोरिदम को क्वांटम माप परिणामों के आधार पर वास्तविक समय शास्त्रीय डेटा प्रसंस्करण की आवश्यकता होती है। यह आवश्यकता अगली पीढ़ी के क्वांटम डिवाइस के विकास के साथ और बढ़ेगी।
मौजूदा दृष्टिकोण की सीमाएं:
अधिकांश Python ढांचे Python दुभाषिए को ट्रेस करके क्वांटम प्रोग्राम प्रतिनिधित्व बनाते हैं, जो Python मूल नियंत्रण प्रवाह सिंटैक्स को कैप्चर नहीं कर सकते
सशर्त कथन और लूप को उच्च-क्रम कॉम्बिनेटर या अन्य सिंटैक्स संरचनाओं के माध्यम से व्यक्त किया जाना चाहिए
क्वांटम प्रोग्रामिंग त्रुटियों को रोकने के लिए रैखिक प्रकार प्रणाली की कमी है
एक ऐसी प्रोग्रामिंग भाषा विकसित करना जो Python के अनुकूल सिंटैक्स और पारिस्थितिकी तंत्र लाभों को बनाए रखते हुए जटिल क्वांटम-शास्त्रीय हाइब्रिड कंप्यूटिंग का समर्थन करे।
Guppy DSL का प्रस्ताव: एक डोमेन-विशिष्ट भाषा जो Python में एम्बेड की गई है, जो Pythonic सिंटैक्स के साथ क्वांटम-शास्त्रीय हाइब्रिड प्रोग्राम लिखने का समर्थन करती है
रैखिक प्रकार प्रणाली का कार्यान्वयन: संकलन समय पर क्वांटम प्रोग्रामिंग त्रुटियों (जैसे नो-क्लोनिंग प्रमेय का उल्लंघन) को कैप्चर करने के लिए रैखिक Qubit प्रकार के माध्यम से
जटिल नियंत्रण प्रवाह का समर्थन: माप परिणामों के आधार पर सशर्त कथन, लूप आदि नियंत्रण प्रवाह संरचनाओं का मूल समर्थन
Hugr IR में स्थिर संकलन: नए क्वांटम मध्यवर्ती प्रतिनिधित्व Hugr में संकलन, जो क्वांटम-शास्त्रीय प्रोग्राम के अभिव्यक्ति और अनुकूलन का समर्थन करता है
Python अंतरसंचालनीयता: py(...) अभिव्यक्ति के माध्यम से Python पारिस्थितिकी तंत्र के साथ निर्बाध एकीकरण
import networkx as nx
g = nx.erdos_renyi_graph(20, 0.25)
@guppy
def apply_graph(qs: list[Qubit]) -> list[Qubit]:
for i, j in py(g.edges()): # py() अभिव्यक्ति Python कोड को कॉल करता है
qs = qs.apply(zz, (i, j))
return qs
@guppy
def rus(q: Qubit, tries: int) -> Qubit:
for _ in range(tries):
a, b = h(Qubit()), h(Qubit())
b, a = cx(b, tdg(a))
if not measure(t(a)):
discard(b)
continue
q, b = cx(z(t(q)), b)
if measure(t(b)):
break
q = x(q)
return q
सारांश: यह एक उच्च-गुणवत्ता वाला प्रणालीगत पेपर है जो क्वांटम प्रोग्रामिंग भाषा डिजाइन में नवाचार प्रस्तुत करता है। हालांकि यह अभी भी प्रारंभिक चरण में है, लेकिन यह अच्छी तकनीकी क्षमता और व्यावहारिक संभावनाएं प्रदर्शित करता है। अनुशंसा की जाती है कि भविष्य के कार्य बड़े पैमाने पर सत्यापन, प्रदर्शन अनुकूलन और उपयोगकर्ता अनुभव सुधार पर ध्यान केंद्रित करें।