C++ API Reference¶
Class Hierarchy¶
-
- Class AdamOptimizer
- Class BooleanFormula
- Class BooleanOptimizationProblem
- Class CausalConeSimulator
- Class ClassificationProblem
- Class ClsNoisyEvolution
- Class ClsNoisyEvolution_auto
- Class ClsNoisyEvolution_fast
- Class ClsNpairQubitGate
- Class ClsOneControlOneTargetGate
- Class ClsOneQubitGate
- Class ClsOneQubitRotationGate
- Class ClsParametricPauliRotationGate
- Class ClsParametricRXGate
- Class ClsParametricRYGate
- Class ClsParametricRZGate
- Class ClsPauliGate
- Class ClsPauliRotationGate
- Class ClsReversibleBooleanGate
- Class ClsStateReflectionGate
- Class ClsTwoQubitGate
- Class ControlQubitInfo
- Class DensityMatrixCpu
- Class DiagonalizationEnergyMinimizationSolver
- Class DuplicatedQubitIndexException
- Class EnergyMinimizationProblem
- Class GateIndexOutOfRangeException
- Class GeneralQuantumOperator
- Class GradCalculator
- Class GradientBasedOptimizer
- Class GradientByHalfPi
- Class GradientDecentOptimizer
- Class GradientFreeOptimizer
- Class HermitianQuantumOperator
- Class InoperatableQuantumStateTypeException
- Class InvalidCoefListException
- Class InvalidControlQubitException
- Class InvalidMatrixGateSizeException
- Class InvalidNoiseTypeIdentifierException
- Class InvalidObservableException
- Class InvalidOpenfermionFormatException
- Class InvalidPauliIdentifierException
- Class InvalidProbabilityDistributionException
- Class InvalidQuantumOperatorException
- Class InvalidQubitCountException
- Class InvalidStateVectorSizeException
- Class IOException
- Class KAK_data
- Class MatrixIndexOutOfRangeException
- Class MPIRuntimeException
- Class MPISizeException
- Class NoiseSimulator
- Struct NoiseSimulator::Result
- Struct NoiseSimulator::SamplingRequest
- Class NonHermitianException
- Class NotImplementedException
- Class OperatorIndexOutOfRangeException
- Class Optimizer
- Class ParameterIndexOutOfRangeException
- Class ParametricCircuitBuilder
- Class ParametricQuantumCircuit
- Class ParametricQuantumCircuitSimulator
- Class PauliOperator
- Class QuantumCircuit
- Class QuantumCircuitBuilder
- Class QuantumCircuitEnergyMinimizationSolver
- Class QuantumCircuitGradientDifferentiation
- Class QuantumCircuitOptimizer
- Class QuantumCircuitSimulator
- Class QuantumGate_Adaptive
- Class QuantumGate_CP
- Class QuantumGate_CPTP
- Class QuantumGate_LinearCombination
- Class QuantumGate_Probabilistic
- Class QuantumGate_SingleParameter
- Class QuantumGate_SingleParameterOneQubitRotation
- Class QuantumGateBase
- Class QuantumGateDiagonalMatrix
- Class QuantumGateMatrix
- Class QuantumGateSparseMatrix
- Class QuantumStateBase
- Class QuantumStateCpu
- Class QuantumStateProcessorException
- Class QubitIndexOutOfRangeException
- Class QubitInfo
- Class QubitTable
- Class Random
- Class RegressionProblem
- Class SinglePauliOperator
- Class TargetQubitInfo
- Class Timer
- Class UndefinedUpdateFuncException
- Class UnionFind
- Class UnknownPTreePropertyValueException
File Hierarchy¶
-
- Directory src
- Directory cppsim
- File circuit.hpp
- File circuit_builder.hpp
- File circuit_optimizer.hpp
- File exception.hpp
- File gate.hpp
- File gate_factory.hpp
- File gate_general.hpp
- File gate_linear_combination.hpp
- File gate_matrix.hpp
- File gate_matrix_diagonal.hpp
- File gate_matrix_sparse.hpp
- File gate_merge.hpp
- File gate_named_npair.hpp
- File gate_named_one.hpp
- File gate_named_pauli.hpp
- File gate_named_two.hpp
- File gate_noisy_evolution.hpp
- File gate_reflect.hpp
- File gate_reversible.hpp
- File gate_to_gqo.hpp
- File general_quantum_operator.hpp
- File matrix_decomposition.hpp
- File noisesimulator.hpp
- File observable.hpp
- File pauli_operator.hpp
- File qubit_info.hpp
- File qubit_table.hpp
- File simulator.hpp
- File state.hpp
- File state_dm.hpp
- File state_gpu.hpp
- File type.hpp
- File utility.hpp
- Directory vqcsim
- File boolean_formula.hpp
- File causalcone_simulator.hpp
- File differential.hpp
- File GradCalculator.hpp
- File loss_function.hpp
- File optimizer.hpp
- File parametric_circuit.hpp
- File parametric_circuit_builder.hpp
- File parametric_gate.hpp
- File parametric_gate_factory.hpp
- File parametric_simulator.hpp
- File parser.hpp
- File problem.hpp
- File solver.hpp
- Directory cppsim
- Directory src
Full API¶
Namespaces¶
Classes and Structs¶
- Class ClsOneQubitGate
- Inheritance Relationships
- Class Documentation
ClsOneQubitGateClsOneQubitGate()update_quantum_state()copy()set_matrix()IGateinit()XGateinit()YGateinit()ZGateinit()HGateinit()SGateinit()SdagGateinit()TGateinit()TdagGateinit()sqrtXGateinit()sqrtXdagGateinit()sqrtYGateinit()sqrtYdagGateinit()P0Gateinit()P1Gateinit()to_ptree()get_inverse()UpdateFuncUpdateFuncGpuUpdateFuncMpi_update_func_update_func_dm_update_func_gpu_update_func_mpi_matrix_element
- Class DensityMatrixCpu
- Inheritance Relationships
- Class Documentation
DensityMatrixCpuDensityMatrixCpu()~DensityMatrixCpu()set_zero_state()set_zero_norm_state()set_computational_basis()set_Haar_random_state()set_Haar_random_state()get_zero_probability()get_marginal_probability()get_entropy()get_squared_norm()get_squared_norm_single_thread()normalize()normalize_single_thread()allocate_buffer()copy()load()load()load()load()load()get_device_name()data()data_cpp()data_c()duplicate_data_c()duplicate_data_cpp()add_state()add_state_with_coef()add_state_with_coef_single_thread()multiply_coef()multiply_elementwise_function()sampling()sampling()to_string()to_ptree()
- Class GeneralQuantumOperator
- Inheritance Relationships
- Class Documentation
GeneralQuantumOperatorGeneralQuantumOperator()GeneralQuantumOperator()~GeneralQuantumOperator()is_hermitian()add_operator()add_operator_move()add_operator_copy()add_operator()add_operator()get_qubit_count()get_state_dim()get_term_count()get_term()get_terms()get_dagger()to_string()get_expectation_value()get_expectation_value_single_thread()get_transition_amplitude()add_random_operator()add_random_operator()solve_ground_state_eigenvalue_by_arnoldi_method()solve_ground_state_eigenvalue_by_power_method()apply_to_state()apply_to_state()apply_to_state_single_thread()copy()get_matrix()to_ptree()operator+()operator+()operator+=()operator+=()operator-()operator-()operator-=()operator-=()operator*()operator*()operator*()operator*=()operator*=()operator*=()_apply_pauli_to_state()_apply_pauli_to_state_single_thread()calculate_default_mu()
- Class ParametricQuantumCircuit
- Inheritance Relationships
- Class Documentation
ParametricQuantumCircuitParametricQuantumCircuit()copy()add_parametric_gate()add_parametric_gate()add_parametric_gate_copy()add_parametric_gate_copy()get_parameter_count()get_parameter()set_parameter()get_parametric_gate_position()add_gate()add_gate()add_gate_copy()add_gate_copy()remove_gate()merge_circuit()to_string()add_parametric_RX_gate()add_parametric_RY_gate()add_parametric_RZ_gate()add_parametric_multi_Pauli_rotation_gate()backprop()backprop_inner_product()to_ptree()operator<<operator<<
- Class PauliOperator
- Class Documentation
PauliOperatorget_index_list()get_qubit_count()get_pauli_id_list()PauliOperator()PauliOperator()PauliOperator()PauliOperator()PauliOperator()PauliOperator()get_coef()get_x_bits()get_z_bits()~PauliOperator()add_single_Pauli()get_expectation_value()get_expectation_value_single_thread()get_transition_amplitude()copy()change_coef()get_pauli_string()to_ptree()operator*()operator*()operator*=()operator*=()
- Class Documentation
- Class QuantumCircuit
- Inheritance Relationships
- Class Documentation
QuantumCircuitQuantumCircuit()copy()~QuantumCircuit()add_gate()add_gate()add_gate_copy()add_gate_copy()add_noise_gate()add_noise_gate_copy()remove_gate()move_gate()merge_circuit()update_quantum_state()update_quantum_state()update_quantum_state()update_quantum_state()is_Clifford()is_Gaussian()calculate_depth()to_string()add_X_gate()add_Y_gate()add_Z_gate()add_H_gate()add_S_gate()add_Sdag_gate()add_T_gate()add_Tdag_gate()add_sqrtX_gate()add_sqrtXdag_gate()add_sqrtY_gate()add_sqrtYdag_gate()add_P0_gate()add_P1_gate()add_CNOT_gate()add_CZ_gate()add_SWAP_gate()add_FusedSWAP_gate()add_RX_gate()add_RY_gate()add_RZ_gate()add_RotInvX_gate()add_RotInvY_gate()add_RotInvZ_gate()add_RotX_gate()add_RotY_gate()add_RotZ_gate()add_U1_gate()add_U2_gate()add_U3_gate()add_multi_Pauli_gate()add_multi_Pauli_gate()add_multi_Pauli_rotation_gate()add_multi_Pauli_rotation_gate()add_diagonal_observable_rotation_gate()add_observable_rotation_gate()add_dense_matrix_gate()add_dense_matrix_gate()add_random_unitary_gate()add_random_unitary_gate()to_ptree()get_inverse()qubit_countgate_listQuantumCircuit()operator=()_gate_list_qubit_countoperator<<operator<<
- Class QuantumGate_Probabilistic
- Inheritance Relationships
- Class Documentation
QuantumGate_ProbabilisticQuantumGate_Probabilistic()QuantumGate_Probabilistic()~QuantumGate_Probabilistic()update_quantum_state()copy()set_matrix()to_ptree()set_seed()get_cumulative_distribution()get_distribution()get_gate_list()optimize_ProbablisticGate()is_noise()random_distribution_cumulative_distribution_gate_listis_instrument_classical_register_address
- Class QuantumGateBase
- Inheritance Relationships
- Class Documentation
QuantumGateBase~QuantumGateBase()get_target_index_list()get_control_index_list()get_control_value_list()get_control_index_value_list()update_quantum_state()copy()set_matrix()is_commute()is_Pauli()is_Clifford()is_Gaussian()is_parametric()is_diagonal()get_property_value()commute_Pauli_at()get_name()to_string()to_ptree()is_noise()set_seed()create_gate_whose_qubit_indices_are_replaced()get_inverse()target_qubit_listcontrol_qubit_listQuantumGateBase()QuantumGateBase()operator=()_target_qubit_list_control_qubit_list_gate_property_nameoperator<<operator<<
- Class QuantumGateDiagonalMatrix
- Inheritance Relationships
- Class Documentation
QuantumGateDiagonalMatrixQuantumGateDiagonalMatrix()QuantumGateDiagonalMatrix()QuantumGateDiagonalMatrix()QuantumGateDiagonalMatrix()~QuantumGateDiagonalMatrix()add_control_qubit()multiply_scalar()set_gate_property()update_quantum_state()copy()get_inverse()set_matrix()to_string()to_ptree()operator<<operator<<
- Class QuantumStateBase
- Inheritance Relationships
- Class Documentation
QuantumStateBaseQuantumStateBase()QuantumStateBase()QuantumStateBase()~QuantumStateBase()is_state_vector()set_zero_state()set_zero_norm_state()set_computational_basis()set_Haar_random_state()set_Haar_random_state()get_zero_probability()get_marginal_probability()get_entropy()get_squared_norm()get_squared_norm_single_thread()normalize()normalize_single_thread()allocate_buffer()copy()load()load()load()get_device_name()data()data_cpp()data_c()duplicate_data_cpp()duplicate_data_c()add_state()add_state_with_coef()add_state_with_coef_single_thread()multiply_coef()multiply_elementwise_function()get_classical_value()set_classical_value()get_classical_register()sampling()sampling()to_ptree()to_string()get_cuda_stream()qubit_countinner_qcouter_qcdimclassical_registerdevice_number_dim_qubit_count_inner_qc_outer_qc_is_state_vector_classical_register_device_number_cuda_streamoperator<<operator<<
- Class QuantumStateCpu
- Inheritance Relationships
- Class Documentation
QuantumStateCpuQuantumStateCpu()QuantumStateCpu()~QuantumStateCpu()set_zero_state()set_zero_norm_state()set_computational_basis()set_Haar_random_state()set_Haar_random_state()get_zero_probability()get_marginal_probability()get_entropy()get_squared_norm()get_squared_norm_single_thread()normalize()normalize_single_thread()allocate_buffer()copy()load()load()load()get_device_name()data()data_cpp()data_c()duplicate_data_c()duplicate_data_cpp()add_state()add_state_with_coef()add_state_with_coef_single_thread()multiply_coef()multiply_elementwise_function()sampling()sampling()to_ptree()