Opflow இடம்பெயர்வு வழிகாட்டி#
TL; DR#
புதிய primitives
, quantum_info
தொகுதியுடன் இணைந்து, opflow
இன் செயல்பாடுகளை மீறியுள்ளது. இதனால், பிந்தையது கைவிடப்படுகிறது.
இந்த இடம்பெயர்வு வழிகாட்டியில், உங்கள் குறியீட்டை opflow
தொகுதியின் அடிப்படையில் primitives
மற்றும் quantum_info
தொகுதிகள்.
Note
opflow
இன் பயன்பாடு QuantumInstance
வகுப்போடு இறுக்கமாக இணைக்கப்பட்டது, இதுவும் நிராகரிக்கப்படுகிறது. QuantumInstance
ஐ நகர்த்துவது பற்றிய கூடுதல் தகவலுக்கு, குவாண்டம் நிகழ்வு இடம்பெயர்வு வழிகாட்டி ஐப் படிக்கவும்.
Attention
இந்த வழிகாட்டியில் உள்ள qiskit.primitives.Sampler
அல்லது qiskit.primitives.Estimator
பற்றிய பெரும்பாலான குறிப்புகள், எந்தவொரு பழமையான செயலாக்கத்தின் நிகழ்வுகளாலும் மாற்றப்படலாம். எடுத்துக்காட்டாக ஏர் ப்ரிமிடிவ்ஸ் (qiskit_aer.primitives.Sampler
/qiskit_aer.primitives.Estimator
) அல்லது IBMன் Qiskit இயக்க நேர ப்ரிமிடிவ்கள் (qiskit_ibm_runtime.Sampler
/sampler`/ ) பழமையான-இணக்கமான இடைமுகங்களையும் வழங்க, குறிப்பிட்ட பின்தளங்களை (qiskit.primitives.BackendSampler
, qiskit.primitives.BackendEstimator
) உடன் சுற்றலாம்.
சில வகுப்பு, :class:` ~ qiskit.opflow.opflow.expectations.AerPauliExpectation , can only be replaced by a specific primitive instance (in this case, :class: qiskit_aer.primitives.Estimator `), or தேவை ஒரு குறிப்பிட்ட தேர்வு வடிவமைப்பு. இது வழக்கமாக என்றால், அது ஒத்திசைவு பிரிவில் தெளிவாகக் குறிக்கப்படும்.
பின்னணி#
opflow
தொகுதியானது, குவாண்டம் அல்காரிதம் ஆராய்ச்சி மற்றும் மேம்பாட்டிற்கான ஒரு தொடர் கட்டுமானத் தொகுதிகள், சுற்றுகள் மற்றும் வழிமுறைகளுக்கு இடையேயான அடுக்காக முதலில் அறிமுகப்படுத்தப்பட்டது.
qiskit.primitives
இன் சமீபத்திய வெளியீடு பின்தளங்களுடன் தொடர்புகொள்வதற்கான புதிய முன்னுதாரணத்தை அறிமுகப்படுத்தியது. இப்போது, ``backend.run()`` வகை முறை மூலம் இயக்க ஒரு சர்க்யூட்டைத் தயாரிப்பதற்குப் பதிலாக, அல்காரிதம்கள் Sampler
மற்றும் Estimator
ப்ரிமிட்டிவ்களைப் பயன்படுத்தி, அளவுருப்படுத்தப்பட்ட சுற்றுகளை அனுப்பலாம் மற்றும் கவனிக்கக்கூடியவை, மற்றும் நேரடியாக அரை-நிகழ்தகவு விநியோகங்கள் அல்லது எதிர்பார்ப்பு மதிப்புகள் (முறையே) பெறுகின்றன. இந்த பணிப்பாய்வு, முன்னர் இந்த தொகுதியை நம்பியிருந்த முன் செயலாக்க மற்றும் பிந்தைய செயலாக்க படிகளை கணிசமாக எளிதாக்குகிறது; opflow
இலிருந்து விலகி, primitives
இடைமுகம் மற்றும் quantum_info
தொகுதியின் அடிப்படையில் அல்காரிதம்களை உருவாக்குவதற்கான புதிய பாதைகளைக் கண்டறிய எங்களை ஊக்குவிக்கிறது.
இந்த வழிகாட்டி opflow துணைமட்யூல்களைக் கடந்து ஒரு நேரடி மாற்று (அதாவது quantum_info
ஐப் பயன்படுத்துதல்) அல்லது அல்காரிதங்களில் அவற்றின் செயல்பாட்டை எவ்வாறு மாற்றுவது என்பது பற்றிய விளக்கத்தை வழங்குகிறது.
செயல்பாட்டு சமநிலையை தோராயமாக பின்வருமாறு சுருக்கமாகக் கூறலாம்:
Opflow தொகுதி |
மாற்று |
---|---|
ஆபரேட்டர்கள் ( |
` ` qiskit.quantum_info ` ` :ref: Operators <quantum_info_operators>` |
:mod:` qiskit.opflow.state_ fns ` |
` ` qiskit.quantum_info ` ` :ref: States <quantum_info_states>` |
:mod:` qiskit.opflow.converters ` |
:mod:` qiskit.primitives ` |
:mod:` qiskit.opflow.evolutions `. |
` ` qiskit.synthesis ` ` :ref: Evolution <evolution_synthesis>` |
:class:` qiskit.primitives.Estimator ` |
|
:mod:` qiskit.algorithms.gradients-action |
உள்ளடக்கம்#
இந்த ஆவணம் இந்த ஓப்ஃப்ளோ துணைத் தொகுதிகளிலிருந்து இடம்பெயர்வதை உள்ளடக்கியது:
ஆபரேட்டர்கள்
** மாற்றிகள்**
` மாற்றிகள் `_
** க்ரேடியன்ட்டுகள்**
ஆபரேட்டர் அடிப்படை வகுப்பு#
மீண்டும் உள்ளடக்கங்கள்
qiskit.quantum_info.BaseOperator
என்பதை மனதில் வைத்து, qiskit.opflow.OperatorBase
சுருக்க வகுப்பை qiskit.quantum_info.BaseOperator
உடன் மாற்றலாம்.
ஓப்ஃப்ளோ |
மாற்று |
---|---|
:class:` qiskit.opflow.OperatorBase ` |
:class:` qiskit.quantum_info.BaseOperator ` |
Attention
ஒரே மாதிரியான வகுப்புப் பெயர்கள் இருந்தாலும், qiskit.opflow.OperatorBase
மற்றும் qiskit.quantum_info.BaseOperator
ஆகியவை ஒன்றுக்கொன்று முற்றிலும் சமமானவை அல்ல, மேலும் மாற்றத்தைக் கவனமாகக் கையாள வேண்டும். அதாவது:
1. qiskit.opflow.OperatorBase
implements a broader algebra mixin. Some operator overloads that were
commonly used opflow
(for example ~
for .adjoint()
) are not defined for
qiskit.quantum_info.BaseOperator
. You might want to check the specific
quantum_info
subclass instead.
2. qiskit.opflow.OperatorBase
also implements methods such as .to_matrix()
or .to_spmatrix()
,
which are only found in some of the qiskit.quantum_info.BaseOperator
subclasses.
மேலும் தகவலுக்கு:class:~qiskit.opflow.OperatorBase மற்றும் BaseOperator
API குறிப்புகளைப் பார்க்கவும்.
ஆபரேட்டர் குளோபல்ஸ்#
மீண்டும் உள்ளடக்கங்கள்
Operator Globals தொகுதியில் பொதுவான ஒற்றை குவிட் நிலைகள், ஆபரேட்டர்கள் மற்றும் அளவுரு அல்லாத வாயில்களை வரையறுக்க Opflow குறுக்குவழிகளை வழங்கியது.
இவை முக்கியமாக செயற்கையான நோக்கங்களுக்காக அல்லது விரைவான முன்மாதிரிக்காகப் பயன்படுத்தப்பட்டன, மேலும் அவற்றுடன் தொடர்புடைய quantum_info
class: Pauli
, Clifford
அல்லது Statevector
.
1-Qubit Paulis#
மீண்டும் உள்ளடக்கங்கள்
1-குபிட் பாலிஸ் பொதுவாக அல்காரிதம்களின் விரைவான சோதனைக்காகப் பயன்படுத்தப்பட்டது, ஏனெனில் அவை மிகவும் சிக்கலான ஆபரேட்டர்களை உருவாக்குவதற்கு ஒருங்கிணைக்கப்படலாம் (உதாரணமாக, 0.39 * (I ^ Z) 0.5 * (X ^ X)
). இந்த செயல்பாடுகள் மறைமுகமாக PauliSumOp
வகையின் ஆபரேட்டர்களை உருவாக்கியது, மேலும் கீழே உள்ள உதாரணங்களில் காட்டப்பட்டுள்ளபடி, தொடர்புடைய SparsePauliOp
ஐ நேரடியாக உருவாக்குவதன் மூலம் மாற்றலாம்.
ஓப்ஃப்ளோ |
மாற்று |
---|---|
:class:` ~ qiskit.opflow.X , :class: ~ qiskit.opflow.Y , :class: ~ qiskit.opflow.Z , :class: ~ qiskit.opflow.I ` |
:class:` ~ qiskit.quantum_info.Pauli ` Tip
|
பொதுவான மற்ற வாயுக்கள் (Clifford)#
மீண்டும் உள்ளடக்கங்கள்
ஓப்ஃப்ளோ |
மாற்று |
---|---|
:class:` ~ qiskit.opflow.CX , :class: ~ qiskit.opflow.S , :class: ~ qiskit.opflow.H , :class: ~ qiskit.opflow.T , :class: ~ qiskit.opflow.CZ , :class: ~ qiskit.opflow.Swap ` |
தொடர்புடைய வாயிலை Note Constructing :mod:` ~ qiskit.quantum_info ` செயல்களில் இருந்து இயக்குவோர் திறமையாகக் கொள்ளப்படாது, இது ஒரு அடர்த்தி செயற்பாடு மற்றும் உருக்களின் அளவு கொண்டு செல்லும் அளவு, கவனத்துடன் பயன்படும். |
1-Qubit States#
மீண்டும் உள்ளடக்கங்கள்
ஓப்ஃப்ளோ |
மாற்று |
---|---|
:class:` ~ qiskit.opflow.Zero , :class: ~ qiskit.opflow.One , :class: ~ qiskit.opflow.Plus , :class: ~ qiskit.opflow.Minus ` |
:class:` ~ qiskit.quantum_info.Statevector ` or simply :class:` ~ qiskit.circuit.QuantumCircuit `. Note நிலைப்படுத்தி நிலைகளின் திறமையான உருவகப்படுத்துதலுக்கு, |
பழமையான மற்றும் பட்டியல் ஆப்ஸ்#
மீண்டும் உள்ளடக்கங்கள்
பெரும்பாலும் :mod:` ~ qiskit.opflow.primitive_ ops ` and :mod:` ~ qiskit.opflow.list_ ops ` can now leverage elements from :mod:` ~ qiskit.quiskit.quantum_info `tqiskit.quantum_info ` இவற்றில் சில வகுப்புகள் 1-1 மாற்றம் தேவைப்படுகிறது ஏனெனில் அவை மற்ற ஒளி பொருட்களுடன் இடைமுகத்துக்கு உருவாக்கப்பட்டன.
பழமையான Ops#
மீண்டும் உள்ளடக்கங்கள்
PrimitiveOp
என்பது primitive_ops
தொகுதியின் அடிப்படை வகுப்பு. இது தொடங்குவதற்குப் பயன்படுத்தப்படும் கணக்கீட்டு முதற்பொருளைப் பொறுத்து தொடர்புடைய துணை-வகுப்பை உடனடியாக உருவாக்குவதற்கான ஒரு தொழிற்சாலையாகவும் செயல்படுகிறது.
Tip
:class:` ~ qiskit.opflow.primitive_ops.PrimitiveOp ` ஒரு தொழில் வகுப்பு:
வகுப்பு: class:~qiskit.opflow.primitive_ops.PrimitiveOp க்கு அனுப்பப்பட்டது |
துணைப்பிரிவு திரும்பியது |
---|---|
:class:` ~ qiskit.quantum_info.Pauli ` |
:class:` ~ qiskit.opflow.primitive_ ops.PauliOp ` |
:class:` ~ qiskit.circuit.Instruction , :class: ~ qiskit.circuit.QuantumCircuit ` |
:class:` ~ qiskit.opflow.primitive_ ops.CircuitOp ` |
|
:class:` ~ qiskit.opflow.primitive_ ops.MatrixOp ` |
எனவே, ஓப்ஃப்ளோ குறியீட்டை நகர்த்தும்போது, அசல் குறியீட்டில் "ஹூட்டின் கீழ்" பயன்படுத்தப்படும் குறிப்பிட்ட துணைப்பிரிவுகளை மாற்றுவதற்கான மாற்றுகளைத் தேடுவது முக்கியம்:
ஓப்ஃப்ளோ |
மாற்று |
---|---|
:class:` ~ qiskit.opflow.primitive_ ops.PrimitiveOp ` |
மேலே குறிப்பிடப்பட்டிருப்பதால், இந்த வகுப்பு கீழே ஒரு வகுப்பின் ஒரு நிகழ்வை உருவாக்க பயன்படுகிறது, அதனால் நேரடியான மாற்றம் இல்லை. |
:class:` ~ qiskit.opflow.primitive_ ops.CircuitOp ` |
:class:` ~ qiskit.circuit.QuantumCircuit ` |
:class:` ~ qiskit.opflow.primitive_ ops.MatrixOp ` |
:class:` ~ qiskit.quantum_info.Operator ` |
:class:` ~ qiskit.opflow.primitive_ ops.PauliOp ` |
|
:class:` ~ qiskit.opflow.primitive_ ops.PauliSumOp ` |
|
:class:` ~ qiskit.opflow.primitive_ops.TaperedPauliSumOp ` |
இந்த வகுப்பு ஒரு பொருளில் அதன் அடையாளம் காணப்பட்ட சமச்சீர்களுடன் ஒரு |
:class:` qiskit.opflow.primitive_ops.Z2Symmetries ` |
|
ListOps#
மீண்டும் உள்ளடக்கங்கள்
list_ops
தொகுதியில் primitive_ops
அல்லது state_fns
பட்டியல்களை கையாளும் வகுப்புகள் உள்ளன. இந்தச் செயல்பாட்டிற்கான quantum_info
மாற்றுகள் PauliList
மற்றும் SparsePauliOp
(Pauli
s).
ஓப்ஃப்ளோ |
மாற்று |
---|---|
:class:` ~ qiskit.opflow.list_ops.ListOp ` |
நேரடியான மாற்றம் இல்லை. இது இயக்குநர் பட்டியலுக்கான அடிப்படை வகுப்பு. பொதுவாக, இவை பைதான் ` ` பட்டியல் ` ` ` பட்டியலுடன் மாற்றமுடியும். :class:` ~ qiskit.quantum_info.Pauli ` இயக்குநர்கள், உபயோகத்தைப் பொறுத்து, சில மாற்றங்கள் உள்ளன. ஒரு மாற்று :class:` ~ qiskit.quantum_info.PauliList `. |
:class:` ~ qiskit.opflow.list_ops.ComposedOp ` |
நேரடியான மாற்றம் இல்லை. தற்போதைய பணிபுரியும் மாநிலங்களின் தொகுப்பை தேவையிடுவதிலேயே ஒரு பொருள் (எல்லா மதிப்பீடுகள் இல்லை). |
:class:` ~ qiskit.opflow.list_ops.SummedOp ` |
நேரடியான மாற்றம் இல்லை. :class:` ~ qiskit.quantum_info.Pauli ` இயக்குநர்கள், :class:` ~ qiskit.quantum_info.SparsePauliOp `. |
:class:` ~ qiskit.opflow.list_ops.TensoredOp ` |
நேரடியான மாற்றம் இல்லை. :class:` ~ qiskit.quantum_info.Pauli ` இயக்குநர்கள், :class:` ~ qiskit.quantum_info.SparsePauliOp `. |
நிலை செயல்பாடுகள்#
மீண்டும் உள்ளடக்கங்கள்
:mod:` ~ qiskit.opflow.state_ fns ` module பொதுவாக :mod:` ~ qiskit.quantum_info 's :class: qiskit.quantum_info.QuantumState `.
அதே போல :class:` ~ qiskit.opflow.primitive_ ops.PrimitiveOp , :class: ~ qiskit.opflow.opflow.state_ fns.StateFn ` செயல்பாடு ஒரு தொழிற்சாலைகளாக செயல்படுகிறது.
Tip
:class:` ~ qiskit.opflow.opflow.state_ fns.StateFn ` ஒரு தொழில் வகுப்பு:
வகுப்பு :class:` ~ qiskit.opflow.state_ fns.StateFn |
துணை வகுப்பு திரும்பி |
---|---|
|
:class:` ~ qiskit.opflow.state_fns.DictStateFn ` |
|
:class:` ~ qiskit.opflow.state_ fns.VectorStateFn ` |
:class:` ~ qiskit.circuit.QuantumCircuit , :class: ~ qiskit.circuit.Instruction ` |
:class:` ~ qiskit.opflow.state_ fns.CircuitStateFn ` |
:class:` ~ qiskit.opflow.OperatorBase ` |
:class:` ~ qiskit.opflow.state_ fns.OperatorStateFn ` |
அதாவது:class:~qiskit.opflow.state_fns.StateFn க்கான குறிப்புகள் ஆப்ஃப்ளோ குறியீட்டில் பயன்படுத்தப்படும் துணைப்பிரிவை அடையாளம் காண, பின்னர் ஒரு மாற்றீட்டைத் தேட வேண்டும்.
ஓப்ஃப்ளோ |
மாற்று |
---|---|
:class:` ~ qiskit.opflow.state_ fns.StateFn ` |
பெரும்பாலான வழக்குகளில், |
:class:` ~ qiskit.opflow.state_ fns.CircuitStateFn ` |
:class:` ~ qiskit.quantum_info.Statevector ` |
:class:` ~ qiskit.opflow.state_fns.DictStateFn ` |
அரிதான அளவீட்டு முடிவுகளின் திறமையான பிரதிநிதித்துவங்களைச் சேமிக்க இந்த வகுப்பு பயன்படுத்தப்பட்டது. |
:class:` ~ qiskit.opflow.state_ fns.VectorStateFn ` |
இந்த வகுப்பை |
:class:` ~ qiskit.opflow.state_ fns.SparseVectorStateFn ` |
நேரடியான மாற்றம் இல்லை. இந்த வகுப்பு வெப்பமடைதலுக்கு பயன்படுத்தப்பட்டது. |
:class:` ~ qiskit.opflow.state_ fns.OperatorStateFn ` |
நேரடியான மாற்றம் இல்லை. இந்த வகுப்பு இயக்குநர்களுக்கு எதிரான அளவீடுகளைக் குறிக்கும். |
:class:` ~ qiskit.opflow.state_ fns.CVaRMeasurement ` |
|
எதிர்பார்ப்புகள் மற்றும் மாற்றிகள் ஆகியவற்றில் பயன்படுத்தப்பட்ட கூடுதல் எடுத்துக்காட்டுகளைப் பார்க்கவும்.
மாற்றிகள்#
மீண்டும் உள்ளடக்கங்கள்
qiskit.opflow.converters' துணைத் தொகுதியின் பங்கு, ஆபரேட்டர்களை மற்ற ஆப்ஃப்ளோ ஆபரேட்டர் வகுப்புகளாக மாற்றுவதாகும் (:class:`~qiskit.opflow.converters.TwoQubitReduction
, PauliBasisChange
...). CircuitSampler
விஷயத்தில், அது ஒரு ஆபரேட்டரைக் கடந்து குவாண்டம் பின்தளத்தைப் பயன்படுத்தி அதன் நிலை செயல்பாடுகளின் தோராயங்களை வெளியிட்டது. குறிப்பிடத்தக்க வகையில், இந்த செயல்பாடு primitives
மூலம் மாற்றப்பட்டது.
ஓப்ஃப்ளோ |
மாற்று |
---|---|
:class:` ~ qiskit.opflow.converters.CircuitSampler ` |
|
:class:` ~ qiskit.opflow.converters.AbelianGrouper ` |
பாலி ஆபரேட்டர்களின் தொகையை குழுவாக்க இந்த வகுப்பு அனுமதித்துள்ளது, அதேபோன்ற செயல்பாட்டை |
:class:` ~ qiskit.opflow.converters.DictToCircuitSum ` |
நேரடி மாற்றீடு இல்லை. இந்த வகுப்பு |
:class:` ~ qiskit.opflow.converters.PauliBasisChange ` |
நேரடி மாற்றீடு இல்லை. பாலிஸை மற்ற தளங்களாக மாற்ற இந்த வகுப்பு பயன்படுத்தப்பட்டது. |
:class:` ~ qiskit.opflow.converters.TwoQubitReduction ` |
நேரடி மாற்றீடு இல்லை. இந்த வகுப்பு |
பரிணாமங்கள்#
மீண்டும் உள்ளடக்கங்கள்
qiskit.opflow.evolutions' துணைத் தொகுதியானது ஹாமில்டோனியன் உருவகப்படுத்துதல் வழிமுறைகளுக்கான கட்டுமானத் தொகுதிகளை வழங்குவதற்காக உருவாக்கப்பட்டது, இதில் டிராட்டரைசேஷனுக்கான பல்வேறு முறைகளும் அடங்கும். ஹாமில்டோனியன் உருவகப்படுத்துதலுக்கான அசல் ஒப்ஃப்ளோ ஒர்க்ஃப்ளோ, கேட்களின் தாமதமான தொகுப்பு அல்லது சுற்றுகளின் திறமையான டிரான்ஸ்பிலேஷனை அனுமதிக்கவில்லை, எனவே இந்த செயல்பாடு ``qiskit.synthesis`
Evolution தொகுதிக்கு மாற்றப்பட்டது.
Note
qiskit.opflow.evolutions.PauliTrotterEvolution
வகுப்பு, இசட் அடிப்படையில் மாற்றி, RZ உடன் சுழற்றுதல், பின்னோக்கி மாற்றுதல் மற்றும் ட்ராட்டரைசிங் செய்வதன் மூலம் பாலிஸின் அதிவேகத் தொகைகளுக்கான பரிணாமங்களைக் கணக்கிடுகிறது. .convert()
என அழைக்கும் போது, வர்க்கமானது:class:~qiskit.opflow.evolutions.EvolvedOp ஒதுக்கிடங்களை உருவாக்கி, ஆபரேட்டர்களுக்காக, PauliEvolutionGate
களை உருவாக்குவதை உள்ளடக்கிய ஒரு சுழல்நிலை உத்தியைப் பின்பற்றுகிறது. ஆபரேட்டர் ப்ரிமிடிவ்ஸ், மற்றும் ட்ரொட்டரைசேஷன் செய்ய விரும்பிய தொகுப்பு முறைகளில் ஒன்றை வழங்குதல். முறைகளை ஸ்ட்ரிங்
மூலம் குறிப்பிடலாம், பின்னர் அது TrotterizationFactory
இல் உள்ளிடப்படும், அல்லது qiskit.opflow.evolutions.Trotter இன் முறை நிகழ்வை வழங்குவதன் மூலம் `, :class:`qiskit.opflow.evolutions.Suzuki
அல்லது qiskit.opflow.evolutions.QDrift
.
qiskit.opflow.evolutions.TrotterizationBase`ஐ நீட்டிக்கும் வெவ்வேறு ட்ரொட்டரைசேஷன் முறைகள் :mod:`qiskit.synthesis
க்கு நகர்த்தப்பட்டு, இப்போது qiskit.synthesis.ProductFormula
அடிப்படை வகுப்பை விரிவுபடுத்துகிறது. அவை இனி தனித்த பயன்பாட்டிற்கான .convert()
முறையைக் கொண்டிருக்காது, ஆனால் இப்போது PauliEvolutionGate
இல் செருகப்பட்டு .synthesize()
வழியாக அழைக்கப்படும் வகையில் வடிவமைக்கப்பட்டுள்ளது. இந்த சூழலில், qiskit.opflow.evolutions.PauliTrotterEvolution
வகுப்பின் வேலையை இப்போது அல்காரிதம்கள் மூலம் நேரடியாகக் கையாள முடியும் (உதாரணமாக, TrotterQRTE
) .
இதே முறையில், qiskit.opflow.evolutions.MatrixEvolution
வகுப்பு கிளாசிக்கல் மேட்ரிக்ஸ் எக்ஸ்போனென்ஷியேஷன் மூலம் பரிணாமத்தை செய்கிறது, UnitaryGate
s அல்லது HamiltonianGate
s உடன் ஒரு சுற்று உருவாக்குகிறது. ஆபரேட்டரின் விரிவாக்கம். இந்த வகுப்பு இனி தேவையில்லை, ஏனெனில் HamiltonianGate
s நேரடியாக அல்காரிதம்களால் கையாள முடியும்.
சுழற்றுகிறது#
மீண்டும் உள்ளடக்கங்கள்
ஓப்ஃப்ளோ |
மாற்று |
---|---|
:class:` ~ qiskit.opflow.evolutions.TrotterizationFactory ` |
நேரடியான மாற்றம் இல்லை. இந்த வகுப்பு கீழே பட்டியலிடப்பட்ட ஒரு வகுப்புகளின் நிகழ்வுகளைக் உருவாக்க பயன்படுகிறது. |
:class:` ~ qiskit.opflow.evolutions.Trotter ` |
:class:` qiskit.synthesis.SuzukiTrotter ` or :class:` qiskit.synthesis.LieTrotter ` |
:class:` ~ qiskit.opflow.evolutions.Suzuki ` |
:class:` qiskit.synthesis.SuzukiTrotter ` |
:class:` ~ qiskit.opflow.evolutions.QDrift ` |
:class:` qiskit.synthesis.QDrift ` |
பிற பரிணாம வகுப்புகள்#
மீண்டும் உள்ளடக்கங்கள்
ஓப்ஃப்ளோ |
மாற்று |
---|---|
:class:` ~ qiskit.opflow.evolutions.EvolutionFactory ` |
நேரடியான மாற்றம் இல்லை. இந்த வகுப்பு கீழே பட்டியலிடப்பட்ட ஒரு வகுப்புகளின் நிகழ்வுகளைக் உருவாக்க பயன்படுகிறது. |
:class:` ~ qiskit.opflow.evolutions.EvolvedOp ` |
நேரடியான மாற்றம் இல்லை. பணிபுறம் இல்லையெனில் ஒரு குறிப்பிட்ட இயக்குநர் தேவைப்படுகிறது. |
:class:` ~ qiskit.opflow.evolutions.MatrixEvolution ` |
:class:`. HamiltonianGate ` |
:class:` ~ qiskit.opflow.evolutions.PauliTrotterEvolution ` |
:class:`. PauliEvolutionGate ` |
எதிர்பார்ப்புகள்#
மீண்டும் உள்ளடக்கங்கள்
எதிர்பார்ப்புகள் என்பது சில நிலைச் செயல்பாட்டைப் பொறுத்தமட்டில் கவனிக்கத்தக்க ஒன்றின் எதிர்பார்ப்பு மதிப்பைக் கணக்கிடுவதற்கு உதவும் மாற்றிகள் ஆகும். இந்தச் செயல்பாட்டை இப்போது Estimator
primitive இல் காணலாம். இங்கு <attention_primitives>` குறிப்பிடப்பட்டுள்ளபடி வெவ்வேறு ``Estimator` செயலாக்கங்கள் உள்ளன என்பதை நினைவில் கொள்ளவும்
அல்காரிதம்-அக்னாஸ்டிக் எதிர்பார்ப்புகள்#
மீண்டும் உள்ளடக்கங்கள்
ஓப்ஃப்ளோ |
மாற்று |
---|---|
:class:` ~ qiskit.opflow.opflow.expectations.ExpectationFactory ` |
நேரடியான மாற்றம் இல்லை. இந்த வகுப்பு கீழே பட்டியலிடப்பட்ட ஒரு வகுப்புகளின் நிகழ்வுகளைக் உருவாக்க பயன்படுகிறது. |
:class:` ~ qiskit.opflow.opflow.expectations.AerPauliExpectation ` |
Use |
:class:` ~ qiskit.opflow.opflow.expectations.MatrixExpectation ` |
பயன்படுத்தவும் |
:class:` ~ qiskit.opflow.opflow.expectations.PauliExpectation ` |
எந்த மதிப்பீட்டாளரின் ப்ரிமிட்டிவ் ( |
CVaRExpectation#
மீண்டும் உள்ளடக்கங்கள்
ஓப்ஃப்ளோ |
மாற்று |
---|---|
:class:` ~ qiskit.opflow.opflow.expectations.CVaRExpectation ` |
செயல்பாடு புதிய VQE அல்காரிதத்திற்கு மாற்றப்பட்டது: |
க்ரேடியன்ட்டுகள்#
மீண்டும் உள்ளடக்கங்கள்
Opflow gradients
கட்டமைப்பானது புதிய qiskit.algorithms.gradients
தொகுதியால் மாற்றப்பட்டது. புதிய சாய்வுகள் முதன்மை அடிப்படையிலான சப்ரூட்டின்கள் பொதுவாக அல்காரிதம்கள் மற்றும் பயன்பாடுகளால் பயன்படுத்தப்படுகின்றன, இவை தனித்தனியாகவும் செயல்படுத்தப்படலாம். இந்த காரணத்திற்காக, அவர்கள் இப்போது qiskit.algorithms
கீழ் வசிக்கின்றனர்.
முந்தைய கிரேடியன்ட் கட்டமைப்பில் அடிப்படை வகுப்புகள், மாற்றிகள் மற்றும் வழித்தோன்றல்கள் இருந்தன. "வழித்தோன்றல்கள்" ஒரு தொழிற்சாலை வடிவமைப்பு முறையைப் பின்பற்றின, இந்த வகுப்புகள் ஒவ்வொன்றிற்கும் சரம் அடையாளங்காட்டிகள் மூலம் வெவ்வேறு முறைகள் வழங்கப்படலாம். புதிய கிரேடியன்ட் கட்டமைப்பில் சப்ரூட்டின்களின் இரண்டு முக்கிய குடும்பங்கள் உள்ளன: ** கிரேடியன்ட்** மற்றும் QGT/QFI. கிரேடியன்ட்ஸ் மாதிரி அல்லது மதிப்பீட்டின் அடிப்படையிலானதாக இருக்கலாம், அதே சமயம் தற்போதைய QGT/QFI செயலாக்கங்கள் மதிப்பீட்டின் அடிப்படையிலானவை.
இது பணிப்பாய்வு மாற்றத்திற்கு வழிவகுக்கிறது, அதற்குப் பதிலாக:
from qiskit.opflow import Gradient
grad = Gradient(method="param_shift")
# task based on expectation value computations + gradients
இலக்கு பழமையான (மாதிரி/மதிப்பீட்டாளர்) மற்றும் இலக்கு முறையைப் பொறுத்து, விரும்பிய வகுப்பை இப்போது வெளிப்படையாக இறக்குமதி செய்கிறோம்:
from qiskit.algorithms.gradients import ParamShiftEstimatorGradient
from qiskit.primitives import Estimator
grad = ParamShiftEstimatorGradient(Estimator())
# task based on expectation value computations + gradients
இது QFI வகுப்பிற்கும் இதேபோல் வேலை செய்கிறது, இங்குச் செய்வதற்கு பதிலாக:
from qiskit.opflow import QFI
qfi = QFI(method="lin_comb_full")
# task based on expectation value computations + QFI
வெவ்வேறு QGT (குவாண்டம் கிரேடியன்ட் டென்சர்) செயலாக்கங்களுடன் தொடங்கக்கூடிய பொதுவான QFI செயல்படுத்தல் இப்போது உங்களிடம் உள்ளது:
from qiskit.algorithms.gradients import LinCombQGT, QFI
from qiskit.primitives import Estimator
qgt = LinCombQGT(Estimator())
qfi = QFI(qgt)
# task based on expectation value computations + QFI
Note
மிகவும் பொதுவான சாய்வு அமைப்புகளை நகர்த்துவதற்கான விரைவான வழிகாட்டி இங்கே உள்ளது. அனைத்து புதிய சாய்வு இறக்குமதிகளும் வடிவமைப்பைப் பின்பற்றுகின்றன என்பதை நினைவில் கொள்ளவும்:
from qiskit.algorithms.gradients import MethodPrimitiveGradient, QFI
மரபு கிரேடியன்ட் கட்டமைப்பில் உள்ள பிற துணை வகுப்புகள் இப்போது நிராகரிக்கப்பட்டுள்ளன. முழு இடம்பெயர்வு பட்டியல் இங்கே:
ஓப்ஃப்ளோ |
மாற்று |
---|---|
:class:` ~ qiskit.opflow.gradients.DerivativeBase ` |
மாற்று இல்லை. இது கிரேடியன்ட், ஹெஸியன் மற்றும் QFI அடிப்படை வகுப்புகளுக்கான அடிப்படை வகுப்பாகும். |
|
|
:class:` .HessianBase ` மற்றும் :class:` ~ qiskit.opflow.gradients.Hessian ` |
மாற்று இல்லை. புதிய கிரேடென்ட் கட்டமைப்பானது ஹெஸ்ஸியன்களுடன் சுயாதீனமான பொருட்களாக வேலை செய்யாது. |
:class:` .QFIBase ` மற்றும் :class:` ~ qiskit.opflow.gradients.QFI ` |
புதிய |
:class:` ~ qiskit.opflow.gradients.CircuitGradient ` |
மாற்று இல்லை. சர்க்யூட் மற்றும் கிரேடியன்ட் |
:class:` ~ qiskit.opflow.gradients.CircuitQFI ` |
மாற்று இல்லை. சர்க்யூட் மற்றும் QFI |
:class:` ~ qiskit.opflow.gradients.NaturalGradient ` |
மாற்று இல்லை. அதே செயல்பாட்டை QFI தொகுதி மூலம் அடையலாம். |