แนะนำ options
คุณสามารถส่ง options ให้กับ primitives เพื่อปรับแต่งให้ตรงตามความต้องการ ส่วนนี้จะเน้นที่ options ของ Qiskit Runtime primitive แม้ว่า interface ของ method run() ของ primitives จะเหมือนกันทุก implementation แต่ options ของแต่ละตัวไม่เหมือนกัน ดู API references ที่เกี่ยวข้องสำหรับข้อมูลเกี่ยวกับ options ของ qiskit.primitives และ qiskit_aer.primitives
ภาพรวม
โครงสร้าง
เมื่อเรียก primitives คุณสามารถส่ง options โดยใช้ options class หรือ dictionary ก็ได้ Options ที่ใช้บ่อย เช่น resilience_level จะอยู่ในระดับแรก ส่วน options อื่นจะจัดกลุ่มไว้ในหมวดหมู่ต่างๆ เช่น execution ดูรายละเอียดทั้งหมดในส่วน ตั้งค่า primitive options
ค่าเริ่มต้น
ถ้าคุณไม่ระบุค่าสำหรับ option ใด มันจะได้ค่าพิเศษ Unset และจะใช้ค่า default ของเซิร์ฟเวอร์แทน ดังนั้นค่า default จะเหมือนกันไม่ว่าจะใช้ code version ไหน
ตารางในส่วน สรุป Options classes จะแสดงค่า default ไว้
ตั้งค่า options
สามารถกำหนด options ก่อนสร้าง primitive แล้วส่งให้กับ primitive ซึ่งจะสำเนาค่าเหล่านั้น ทำได้ทั้งในรูปแบบ nested dictionary หรือใช้ options classes นอกจากนี้ยังเปลี่ยน options ของ primitive ได้หลังจากสร้างแล้ว ใช้วิธีที่เหมาะกับแอปพลิเคชันของคุณ ดูรายละเอียดทั้งหมดในหน้า Specify options
สรุป Options classes
- Estimator
- Sampler
- Dynamical decoupling: Options สำหรับ dynamical decoupling
- Environment: Options สภาพแวดล้อมการรัน เช่น ระดับ logging ที่ตั้งและ job tags ที่เพิ่ม
- Execution: Options การรัน primitive รวมถึงการ initialize qubits และ repetition delay
- Resilience: Options ขั้นสูงสำหรับตั้งค่าวิธี error mitigation เช่น measurement error mitigation, ZNE และ PEC
- Simulator: Options ของ simulator เช่น basis gates, simulator seed และ coupling map ใช้ได้เฉพาะกับ local testing mode
- Twirling: Options ของ twirling เช่น การใช้ two-qubit gate twirling และจำนวน shots ต่อ random sample
- Dynamical decoupling: Options สำหรับ dynamical decoupling
- Environment: Options สภาพแวดล้อมการรัน เช่น ระดับ logging ที่ตั้งและ job tags ที่เพิ่ม
- Execution: Options การรัน primitive รวมถึงการ initialize qubits และ repetition delay
- Simulator: Options ของ simulator เช่น basis gates, simulator seed และ coupling map ใช้ได้เฉพาะกับ local testing mode
- Twirling: Options ของ twirling เช่น การใช้ two-qubit gate twirling และจำนวน shots ต่อ random sample
Options ที่ใช้ได้
ตารางต่อไปนี้แสดง options จาก qiskit-ibm-runtime เวอร์ชันล่าสุด หากต้องการดู options เวอร์ชันเก่า ให้ไปที่ API reference ของ qiskit-ibm-runtime แล้วเลือกเวอร์ชันก่อนหน้า
- Estimator
- Sampler
default_shots
default_shotsจำนวน shots ทั้งหมดที่ใช้ต่อ Circuit ต่อ configuration
ตัวเลือก: Integer >= 0
ค่าเริ่มต้น: None
default_precision
default_precisionความแม่นยำ default ที่ใช้กับ PUB หรือการเรียก run() ที่ไม่ระบุค่า
ตัวเลือก: Float > 0
ค่าเ ริ่มต้น: 0.015625 (1 / sqrt(4096))
dynamical_decoupling
dynamical_decouplingควบคุมการตั้งค่า error mitigation แบบ dynamical decoupling
เอกสาร API dynamical_decoupling
dynamical_decoupling.enable
dynamical_decoupling.enableตัวเลือก: True, False
ค่าเริ่มต้น: False
dynamical_decoupling.extra_slack_distribution
dynamical_decoupling.extra_slack_distributionตัวเลือก: middle, edges
ค่าเริ่มต้น: middle
dynamical_decoupling.scheduling_method
dynamical_decoupling.scheduling_methodตัวเลือก: asap, alap
ค่าเริ่มต้น: alap
dynamical_decoupling.sequence_type
dynamical_decoupling.sequence_typeตัวเลือก: XX, XpXm, XY4
ค่าเริ่มต้น: XX
dynamical_decoupling.skip_reset_qubits
dynamical_decoupling.skip_reset_qubitsตัวเลือก: True, False
ค่าเริ่มต้น: False
environment
environmentenvironment.callback
environment.callbackฟังก์ชัน callable ที่รับ Job ID และ Job result
ตัวเลือก: None
ค่าเริ่มต้น: None
environment.job_tags
environment.job_tagsรายการ tags
ตัวเลือก: None
ค่าเริ่มต้น: None
environment.log_level
environment.log_levelตัวเลือก: DEBUG, INFO, WARNING, ERROR, CRITICAL
ค่าเริ่มต้น: WARNING
environment.private
environment.privateตัวเลือก: True, False
ค่าเริ่มต้น: False
execution
executionmax_execution_time
max_execution_timeตัวเลือก: จำนวนวินาทีเป็น Integer ในช่วง [1, 10800]
ค่าเริ่มต้น: 10800 (3 ชั่วโมง)
resilience
resilienceตัวเลือก resilience ขั้นสูงสำหรับปรับแต่งกลยุทธ์ความทนทานต่อข้อผิดพลาด
resilience.layer_noise_learning
resilience.layer_noise_learningตัวเลือกสำหรับการเรียนรู้ noise ของ layer
resilience.layer_noise_learning.layer_pair_depths
resilience.layer_noise_learning.layer_pair_depthsตัวเลือก: list[int] ที่มี 2–10 ค่า ในช่วง [0, 200]
ค่าเริ่มต้น: (0, 1, 2, 4, 16, 32)
resilience.layer_noise_learning.max_layers_to_learn
resilience.layer_noise_learning.max_layers_to_learnตัวเลือก: None, Integer >= 1
ค่าเริ่มต้น: 4
resilience.layer_noise_learning.num_randomizations
resilience.layer_noise_learning.num_randomizationsตัวเลือก: Integer >= 1
ค่าเริ่มต้น: 32
resilience.layer_noise_learning.shots_per_randomization
resilience.layer_noise_learning.shots_per_randomizationตัวเลือก: Integer >= 1
ค่าเริ่มต้น: 128
resilience.layer_noise_model
resilience.layer_noise_modelตัวเลือก: NoiseLearnerResult, Sequence[LayerError]
ค่าเริ่มต้น: None
resilience.measure_mitigation
resilience.measure_mitigationตัวเลือก: True, False
ค่าเริ่มต้น: True
resilience.measure_noise_learning
resilience.measure_noise_learningตัวเลือกสำหรับการเรียนรู้ noise จากการวัดผล
resilience.measure_noise_learning.num_randomizations
resilience.measure_noise_learning.num_randomizationsตัวเลือก: Integer >= 1
ค่าเริ่มต้น: 32
resilience.measure_noise_learning.shots_per_randomization
resilience.measure_noise_learning.shots_per_randomizationตัวเลือก: Integer, auto
ค่าเริ่มต้น: auto
resilience.pec_mitigation
resilience.pec_mitigationตัวเลือก: True, False
ค่าเริ่มต้น: False
resilience.pec
resilience.pecตัวเลือกสำหรับการลด error แบบ probabilistic error cancellation
resilience.pec.max_overhead
resilience.pec.max_overheadตัวเลือก: None, Integer >= 1
ค่าเริ่มต้น: 100
resilience.pec.noise_gain
resilience.pec.noise_gainตัวเลือก: auto, float ในช่วง [0, 1]
ค่าเริ่มต้น: auto
resilience.zne_mitigation
resilience.zne_mitigationตัวเลือก: True, False
ค่าเริ่มต้น: False
resilience.zne
resilience.zneresilience.zne.amplifier
resilience.zne.amplifierตัวเลือก: gate_folding, gate_folding_front, gate_folding_back, pea
ค่าเริ่มต้น: gate_folding
resilience.zne.extrapolated_noise_factors
resilience.zne.extrapolated_noise_factorsตัวเลือก: รายการของ float
ค่าเริ่มต้น: [0, *noise_factors]
resilience.zne.extrapolator
resilience.zne.extrapolatorตัวเลือก: หนึ่งรายการขึ้นไปจาก: exponential, linear, double_exponential, polynomial_degree_(1 <= k <= 7), fallback
ค่าเริ่มต้น: (exponential, linear)
resilience.zne.noise_factors
resilience.zne.noise_factorsตัวเลือก: รายการของ float โดยแต่ละค่าต้อง >= 1
ค่าเริ่มต้น: (1, 1.5, 2) สำหรับ PEA และ (1, 3, 5) สำหรับกรณีอื่น
resilience_level
resilience_levelระดับความทนทานต่อ error ที่ต้องการสร้าง ระดับที่สูงกว่าจะได้ผลลัพธ์ที่แม่นยำกว่า แต่ต้องใช้เวลาประมวลผลนานกว่า
ตัวเลือก: 0, 1, 2
ค่าเริ่มต้น: 1
seed_estimator
seed_estimatorsimulator
simulatorตัวเลือกที่ใช้เมื่อจำลอง Backend
simulator.basis_gates
simulator.basis_gatesตัวเลือก: รายการชื่อ basis gate ที่จะ unroll ไปยัง
ค่าเริ่มต้น: ชุด basis gate ทั้งหมดที่รองรับโดย Qiskit Aer simulator
simulator.coupling_map
simulator.coupling_mapตัวเลือก: รายการ interaction แบบสองทิศทางระหว่าง Qubit สองตัว
ค่าเริ่มต้น: None ซึ่งหมายความว่าไม่มีข้อจำกัดด้านการเชื่อมต่อ (เชื่อมต่อได้ทุกคู่)
simulator.noise_model
simulator.noise_modelตัวเลือก: Qiskit Aer NoiseModel หรือการแทนค่าของมัน
ค่าเริ่มต้น: None
simulator.seed_simulator
simulator.seed_simulatorตัวเลือก: Integer
ค่าเริ่มต้น: None
twirling
twirlingตัวเลือกสำหรับ twirling
twirling.enable_gates
twirling.enable_gatesตัวเลือก: True, False
ค่าเ ริ่มต้น: False
twirling.enable_measure
twirling.enable_measureตัวเลือก: True, False
ค่าเริ่มต้น: True
twirling.num_randomizations
twirling.num_randomizationsตัวเลือก: auto, Integer >= 1
ค่าเริ่มต้น: auto
twirling.shots_per_randomization
twirling.shots_per_randomizationตัวเลือก: auto, Integer >= 1
ค่าเริ่มต้น: auto
twirling.strategy
twirling.strategyตัวเลือก: active, active-circuit, active-accum, all
ค่าเริ่มต้น: active-accum
experimental
experimentalตัวเลือกทดลอง เมื่อมีให้ใช้งาน
default_shots
default_shotsจำนวน shots ทั้งหมดที่จะใช้ต่อ Circuit ต่อการกำหนดค่าหนึ่งครั้ง
ตัวเลือก: จำนวนเต็ม >= 0
ค่าเริ่มต้น: None
dynamical_decoupling
dynamical_decouplingควบคุมการตั้งค่า error mitigation แบบ dynamical decoupling
dynamical_decoupling API documentation
dynamical_decoupling.enable
dynamical_decoupling.enableตัวเลือก: True, False
ค่าเริ่มต้น: False
dynamical_decoupling.extra_slack_distribution
dynamical_decoupling.extra_slack_distributionตัวเลือก: middle, edges
ค่าเริ่มต้น: middle
dynamical_decoupling.scheduling_method
dynamical_decoupling.scheduling_methodตัวเลือก: asap, alap
ค่าเริ่มต้น: alap
dynamical_decoupling.sequence_type
dynamical_decoupling.sequence_typeตัวเลือก: XX, XpXm, XY4
ค่าเริ่มต้น: XX
dynamical_decoupling.skip_reset_qubits
dynamical_decoupling.skip_reset_qubitsตัวเลือก: True, False
ค่าเริ่มต้น: False
environment
environmentexecution
executionexecution.init_qubits
execution.init_qubitsระบุว่าจะรีเซ็ต Qubit ให้กลับสู่ ground state ในแต่ละ shot หรือไม่
ตัวเลือก: True, False
ค่าเริ่มต้น: True
execution.rep_delay
execution.rep_delayช่วงเวลาหน่วงระหว่างการวัดผลและ Circuit ควอนตัมถัดไป
ตัวเลือก: ค่าอยู่ในช่วงที่ backend.rep_delay_range กำหนด
ค่าเริ่มต้น: ได้จาก backend.default_rep_delay
execution.meas_type
execution.meas_typeตัวเลือก: classified, kerneled, avg_kerneled
ค่าเริ่มต้น: classified
max_execution_time
max_execution_timeตัวเลือก: จำนวนเต็มหน่วยวินาทีในช่วง [1, 10800]
ค่าเริ่มต้น: 10800 (3 ชั่วโมง)
simulator
simulator