குவாண்டம் நிகழ்வு இடம்பெயர்வு வழிகாட்டி¶
QuantumInstance
என்பது சர்க்யூட் டிரான்ஸ்பிலேஷன் மற்றும் எக்ஸிகியூஷன் ஸ்டெப்களின் கூட்டு உள்ளமைவை அனுமதிக்கும் ஒரு பயன்பாட்டு வகுப்பாகும், மேலும் அல்காரிதங்களுடன் மிகவும் வசதியான ஒருங்கிணைக்க உயர் மட்ட சுருக்கத்தில் செயல்பாடுகளை வழங்குகிறது. அளவீட்டுப் பிழையைத் தணித்தல், வேலை வரம்புகளுக்கு இணங்க பிரித்தல்/ஒருங்கிணைத்தல் மற்றும் கூடுதல் வேலை மேலாண்மை கருவிகளுடன் சுற்றுகளை நம்பகமான முறையில் செயல்படுத்துவதை உறுதி செய்தல் ஆகியவை இதில் அடங்கும்.
QuantumInstance
பல காரணங்களுக்காக நிராகரிக்கப்படுகிறது: ஒருபுறம், execute()
இன் செயல்பாடுகள் இப்போது பல்வேறு செயலாக்கங்களுக்கு வழங்கப்பட்டுள்ளன:mod:~qiskit.primitives அடிப்படை வகுப்புகள். மறுபுறம், ப்ரிமிடிவ்ஸ் மட்டத்தில் டிரான்ஸ்பிலேஷனை நேரடியாகச் செயல்படுத்துவதால், அல்காரிதம்கள் செயல்படுத்தலின் அந்த அம்சத்தை நிர்வகிக்க வேண்டிய அவசியமில்லை, இதனால் transpile()
பணிப்பாய்வுக்கு இனி தேவைப்படாது. . விரும்பினால், தனிப்பயன் டிரான்ஸ்பிலேஷன் நடைமுறைகளை இன்னும் பயனர் மட்டத்தில் transpiler
தொகுதி மூலம் செய்யலாம் (கீழே உள்ள அட்டவணையைப் பார்க்கவும்).
பின்வரும் அட்டவணை QuantumInstance
வகுப்பிற்கான இடம்பெயர்வு மாற்றுகளை சுருக்கமாகக் கூறுகிறது:
QuantumInstance முறை |
மாற்று |
---|---|
:meth:`. QuantumInstance.execute ` |
|
:meth:`. QuantumInstance.transpile ` |
:meth:` qiskit.compiler.transpile ` |
:meth:`. QuantumInstance.assemble ` |
:meth:` qiskit.compiler.assemble ` |
இந்த வழிகாட்டியின் மீதமுள்ளவை QuantumInstance.execute()
முதல் primitives
இடம்பெயர்வு பாதையில் கவனம் செலுத்தும்.
உள்ளடக்கம்¶
Attention
கிஸ்கிட் ப்ரிமிட்டிவ்ஸின் பின்னணி
கிஸ்கிட் ப்ரிமிடிவ்ஸ் என்பது அல்காரிதம் சுருக்கங்கள் ஆகும், அவை அல்காரிதம் பணிப்பாய்வுகளில் எளிதாக ஒருங்கிணைக்கப் பின்தளங்கள் அல்லது சிமுலேட்டர்களுக்கான அணுகலை இணைக்கின்றன.
தற்போதைய ஆரம்பநிலைகளின் தொகுப்பில் இரண்டு வெவ்வேறு வகையான முதற்பொருள்கள் உள்ளன: மாதிரி மற்றும் மதிப்பீட்டாளர்.
Qiskit qiskit.primitives.Sampler
மற்றும் qiskit.primitives.Estimator
இல் குறிப்பு செயலாக்கங்களை வழங்குகிறது. கூடுதலாக, qiskit.primitives.BackendSampler
மற்றும் ஒரு qiskit.primitives.BackendEstimator
ஆகியவை ``backend.run()``க்கான ரேப்பர்கள் ஆகும், அவை ப்ரிமிட்டிவ் இடைமுகத்தைப் பின்பற்றுகின்றன.
வழங்குநர்கள் இந்த பழமையானவற்றை முறையே BaseSampler
மற்றும் BaseEstimator
ஆகியவற்றின் துணைப்பிரிவுகளாக செயல்படுத்தலாம். ஐபிஎம்மின் கிஸ்கிட் இயக்க நேரம் (qiskit_ibm_runtime
) மற்றும் ஏர் (qiskit_aer.primitives
) ஆகியவை ப்ரிமிட்டிவ்களின் சொந்த செயலாக்கத்திற்கான எடுத்துக்காட்டுகள்.
இந்த வழிகாட்டிப் பின்வரும் பெயரிடும் மரபைப் பயன்படுத்துகிறது:
முதன்மைகள் - அடிப்படை வகுப்புகளைப் பயன்படுத்தி எந்த மாதிரி/மதிப்பீட்டாளர் செயல்படுத்தல்
qiskit.primitives.BackendSampler
மற்றும் ஒருqiskit.primitives.BackendEstimator
.குறிப்பு ப்ரிமிட்டிவ்ஸ் -
qiskit.primitives.Sampler
மற்றும்qiskit.primitives.Estimator
ஆகியவை Qiskit உடன் வரும் குறிப்புச் செயலாக்கங்கள்.Aer Primitives - Aer பழமையான செயலாக்கங்கள்: class:qiskit_aer.primitives.Sampler மற்றும்
qiskit_aer.primitives.Estimator
.Qiskit Runtime Primitives - IBM's Qiskit Runtime primitive implementations: class:qiskit_ibm_runtime.Sampler and
qiskit_ibm_runtime.Estimator
.பின்னணி ப்ரிமிடிவ்ஸ் -
qiskit.primitives.BackendSampler
மற்றும்qiskit.primitives.BackendEstimator
இன் நிகழ்வுகள். பழமையான இடைமுகங்களைச் செயல்படுத்த எந்தப் பின்தளத்தையும் இவை அனுமதிக்கின்றன
உங்கள் பணிக்கு எந்தப் பழமையானவற்றை தேர்வு செய்ய வேண்டும் என்பதற்கான வழிகாட்டுதல்களுக்கு, தொடர்ந்து படிக்கவும்.
உங்கள் பணிக்கான சரியான பழமையானதைத் தேர்ந்தெடுப்பது¶
QuantumInstance
ஆனது டிரான்ஸ்பைல்/ரன் மீது சுருக்கமாக வடிவமைக்கப்பட்டுள்ளது. இது execute()
இலிருந்து உத்வேகம் பெற்றது, ஆனால் ஒவ்வொரு டிரான்ஸ்பைல்/எக்ஸிகியூட் அழைப்புக்கும் ஒரே அளவுருக்களை வரையறுப்பதில் இருந்து பயனரைக் காப்பாற்ற, அல்காரிதம் அளவில் அமைக்கக்கூடிய கட்டமைப்புத் தகவலைத் தக்கவைத்துக் கொண்டது.
qiskit.primitives
இந்த அம்சங்களில் சிலவற்றைப் பகிர்ந்து கொள்கிறது, ஆனால் QuantumInstance
போலல்லாமல், பல பழமையான வகுப்புகள் உள்ளன, ஒவ்வொன்றும் ஒரு குறிப்பிட்ட நோக்கத்திற்காக உகந்ததாக இருக்கும். சரியான பழமையானதை (மாதிரி
அல்லது மதிப்பீட்டாளர்
) தேர்ந்தெடுப்பதற்கு, என்ன எதிர்பார்க்கப்படுகிறது மற்றும் எங்கே/எப்படி இயங்க வேண்டும் என்பது பற்றிய சில அறிவு தேவை.
Note
பிரிமிடிவ்ஸ்களின் பங்கு இரண்டு மடங்கு. ஒருபுறம், அவை பின்தளங்கள் மற்றும் சிமுலேட்டர்களுக்கான அணுகல் புள்ளிகளாகச் செயல்படுகின்றன. மறுபுறம், அவை வரையறுக்கப்பட்ட பணிகளுடன் அல்காரிதம் சுருக்கங்கள்:
`` மதிப்பீட்டாளர் `` சுற்றுகள் மற்றும் கவனிக்கக்கூடியவற்றை எடுத்து ** எதிர்பார்ப்பு மதிப்புகளை * * வழங்குகிறது.
மாதிரி
சுற்றுகளை எடுத்து, அவற்றை அளவிடுகிறது மற்றும் அவற்றின் அரை-நிகழ்தகவு விநியோகங்களை வழங்குகிறது.
QuantumInstance
என்பதற்குப் பதிலாக எந்தப் பழமையானவற்றைப் பயன்படுத்த வேண்டும் என்பதை அறிய, நீங்களே இரண்டு கேள்விகளைக் கேட்டுக்கொள்ள வேண்டும்:
- உங்கள் அல்காரிதம் பயன்படுத்தும் குறைந்தபட்ச தகவல் அலகு என்ன?
எதிர்பார்ப்பு மதிப்பு - உங்களுக்கு
மதிப்பீட்டாளர்
தேவைப்படும்நிகழ்தகவு விநியோகம் (சாதனத்தை மாதிரி எடுப்பதிலிருந்து) - உங்களுக்கு
மாதிரி
தேவைப்படும்
உங்கள் சுற்றுகளை எவ்வாறு இயக்க விரும்புகிறீர்கள்?
இந்தக் கேள்வி புதிதல்ல. பாரம்பரிய அல்காரிதம் பணிப்பாய்வுகளில், வழங்குநரின் உண்மையான பின்தளம் அல்லது சிமுலேட்டருடன்
QuantumInstance
ஐ அமைக்க நீங்கள் முடிவு செய்ய வேண்டும். இப்போது, இந்த "பின்தளத்தில் தேர்வு" செயல்முறையானது எங்கிருந்து என மொழிபெயர்க்கப்பட்டுள்ளது:விரைவான முன்மாதிரிக்கு உள்ளூர் ஸ்டேட்வெக்டர் சிமுலேட்டர்களைப் பயன்படுத்துதல்: குறிப்பு முதன்மைகள்
சிறந்த அல்காரிதம் ட்யூனிங்கிற்காக உள்ளூர் சத்தமில்லாத உருவகப்படுத்துதல்களைப் பயன்படுத்துதல்: Aer Primitives
இயக்கநேரம்-செயல்படுத்தப்பட்ட பின்தளங்களை அணுகுகிறது (அல்லது கிளவுட் சிமுலேட்டர்கள்): கிஸ்கிட் ரன்டைம் ப்ரிமிட்டிவ்ஸ்
இயக்க நேர-இயக்கப்படாத பின்தளங்களை அணுகுகிறது : பின்புல முதன்மைகள்
விவாதிக்கக்கூடிய வகையில், மாதிரி
என்பது QuantumInstance
க்கு மிக நெருக்கமான பழமையானது, ஏனெனில் அவை இரண்டும் சுற்றுகளை இயக்கி ஒரு முடிவைத் தருகின்றன. இருப்பினும், QuantumInstance
உடன், முடிவுத் தரவு பின்தளத்தைச் சார்ந்தது (அது ஸ்டேட்வெக்டர் உருவகப்படுத்துதல்களுக்கான எண்ணிக்கைகள் டிக்ட்
, ஒரு numpy.array
போன்றவையாக இருக்கலாம்), Sampler
அதன் SamplerResult
ஐ இயல்பாக்கும் போது:class:~qiskit.result.QuasiDistribution பொருளை அதன் விளைவாக வரும் அரை-நிகழ்தகவுப் பரவலுடன் வழங்குகிறது.
மதிப்பீட்டாளர்
என்பது எதிர்பார்ப்பு மதிப்புக் கணக்கீட்டிற்கான ஒரு குறிப்பிட்ட சுருக்கத்தை வழங்குகிறது, இது QuantumInstance
மற்றும் அதனுடன் தொடர்புடைய முன் மற்றும் பிந்தைய செயலாக்க படிகள், பொதுவாக இது போன்ற கூடுதல் நூலகத்துடன் செய்யப்படுகிறது:mod:qiskit.opflow.
உங்கள் அமைப்புகளுக்குச் சரியான பழமையானதைத் தேர்ந்தெடுப்பது¶
குறிப்பிட்ட QuantumInstance
அம்சங்கள் சில பழமையான செயலாக்கங்களில் மட்டுமே கிடைக்கும். பின்வரும் அட்டவணை மிகவும் பொதுவான QuantumInstance
அமைப்புகளைச் சுருக்கமாகக் கூறுகிறது:
Attention
சில சந்தர்ப்பங்களில், ஒரு அமைப்பு இடைமுகத்தின் மூலம் வெளிப்படாமல் இருக்கலாம், ஆனால் அதைச் செயல்படுத்த மாற்றுப் பாதை இருக்கலாம். தனிப்பயன் டிரான்ஸ்பைலர் பாஸ்களுக்கு இது பொருந்தும், இது ப்ரிமிட்டிவ்ஸ் இடைமுகம் மூலம் அமைக்க முடியாது, ஆனால் skip_transpilation=True
விருப்பத்தை அமைத்தால், முன் டிரான்ஸ்பைல் சுற்றுகள் அனுப்பப்படும். மேலும் தகவலுக்கு, விரும்பிய பழமையான செயலாக்கத்தின் API குறிப்பு அல்லது மூலக் குறியீட்டைப் பார்க்கவும்.
குவாண்டம் இன்ஸ்டன்ஸ் |
குறிப்பு முதன்மைகள் |
ஏர் ப்ரிமிடிவ்ஸ் |
கிஸ்கிட் ரன்டைம் ப்ரிமிடிவ்ஸ் |
பின்தளத்தில் முதற்பொருள்கள் |
---|---|---|---|---|
|
இல்லை |
இல்லை |
ஆம் |
ஆம் |
|
ஆம் |
ஆம் |
ஆம் |
ஆம் |
சிமுலேட்டர் அமைப்புகள்: |
இல்லை |
ஆம் |
ஆம் |
இல்லை (உள் |
டிரான்ஸ்பைலர் அமைப்புகள்: |
இல்லை |
இல்லை |
ஆம் ( |
ஆம் ( |
வரம்பற்ற |
இல்லை |
இல்லை |
இல்லை (ஆனால் |
இல்லை (ஆனால் |
|
இல்லை |
இல்லை |
இல்லை |
ஆம் |
|
இல்லை |
இல்லை |
இல்லை ( |
இல்லை |
அளவீட்டுப் பிழைத் தணிப்பு: |
இல்லை |
இல்லை |
மாதிரி இயல்புநிலை -> M3 (*) |
இல்லை |
வேலை நிர்வாகம்: |
பொருந்தாது |
பொருந்தாது |
அமர்வுகள், திரும்பத் திரும்ப (**) |
இல்லை |
(*) Qiskit Runtime Primitives இல் பிழைத் தணிப்பு மற்றும் அமைப்பு விருப்பங்கள்பற்றிய கூடுதல் தகவலுக்கு, இந்த இணைப்பைப் பார்வையிடவும்..
(**) இயக்க நேர அமர்வுகள்பற்றிய கூடுதல் தகவலுக்கு, இது எப்படி ஐப் பார்வையிடவும்.