The Quantum Exact Simulation Toolkit v4.1.0
Loading...
Searching...
No Matches

Functions for applying the individual one-qubit Pauli operators. More...

Functions

void applyControlledPauliX (Qureg qureg, int control, int target)
 
void applyControlledPauliY (Qureg qureg, int control, int target)
 
void applyControlledPauliZ (Qureg qureg, int control, int target)
 
void applyMultiControlledPauliX (Qureg qureg, int *controls, int numControls, int target)
 
void applyMultiControlledPauliY (Qureg qureg, int *controls, int numControls, int target)
 
void applyMultiControlledPauliZ (Qureg qureg, int *controls, int numControls, int target)
 
void applyMultiStateControlledPauliX (Qureg qureg, int *controls, int *states, int numControls, int target)
 
void applyMultiStateControlledPauliY (Qureg qureg, int *controls, int *states, int numControls, int target)
 
void applyMultiStateControlledPauliZ (Qureg qureg, int *controls, int *states, int numControls, int target)
 
void applyPauliX (Qureg qureg, int target)
 
void applyPauliY (Qureg qureg, int target)
 
void applyPauliZ (Qureg qureg, int target)
 
void multiplyPauliX (Qureg qureg, int target)
 
void multiplyPauliY (Qureg qureg, int target)
 
void multiplyPauliZ (Qureg qureg, int target)
 

Detailed Description

Functions for applying the individual one-qubit Pauli operators.

Function Documentation

◆ applyControlledPauliX()

void applyControlledPauliX ( Qureg qureg,
int control,
int target )
Note
Documentation for this function or struct is under construction!

Definition at line 911 of file operations.cpp.

911 {
912 validate_quregFields(qureg, __func__);
913 validate_controlAndTarget(qureg, control, target, __func__);
914
915 // harmlessly re-validates
916 applyMultiStateControlledPauliX(qureg, &control, nullptr, 1, target);
917}
void applyMultiStateControlledPauliX(Qureg qureg, int *controls, int *states, int numControls, int target)

◆ applyControlledPauliY()

void applyControlledPauliY ( Qureg qureg,
int control,
int target )
Note
Documentation for this function or struct is under construction!

Definition at line 919 of file operations.cpp.

919 {
920 validate_quregFields(qureg, __func__);
921 validate_controlAndTarget(qureg, control, target, __func__);
922
923 // harmlessly re-validates
924 applyMultiStateControlledPauliY(qureg, &control, nullptr, 1, target);
925}
void applyMultiStateControlledPauliY(Qureg qureg, int *controls, int *states, int numControls, int target)

◆ applyControlledPauliZ()

void applyControlledPauliZ ( Qureg qureg,
int control,
int target )
Note
Documentation for this function or struct is under construction!

Definition at line 927 of file operations.cpp.

927 {
928 validate_quregFields(qureg, __func__);
929 validate_controlAndTarget(qureg, control, target, __func__);
930
931 // harmlessly re-validates
932 applyMultiStateControlledPauliZ(qureg, &control, nullptr, 1, target);
933}
void applyMultiStateControlledPauliZ(Qureg qureg, int *controls, int *states, int numControls, int target)

◆ applyMultiControlledPauliX()

void applyMultiControlledPauliX ( Qureg qureg,
int * controls,
int numControls,
int target )
Note
Documentation for this function or struct is under construction!

Definition at line 935 of file operations.cpp.

935 {
936 validate_quregFields(qureg, __func__);
937 validate_controlsAndTarget(qureg, controls, numControls, target, __func__);
938
939 // harmlessly re-validates
940 applyMultiStateControlledPauliX(qureg, controls, nullptr, numControls, target);
941}

Referenced by applyMultiControlledPauliX().

◆ applyMultiControlledPauliY()

void applyMultiControlledPauliY ( Qureg qureg,
int * controls,
int numControls,
int target )
Note
Documentation for this function or struct is under construction!

Definition at line 943 of file operations.cpp.

943 {
944 validate_quregFields(qureg, __func__);
945 validate_controlsAndTarget(qureg, controls, numControls, target, __func__);
946
947 // harmlessly re-validates
948 applyMultiStateControlledPauliY(qureg, controls, nullptr, numControls, target);
949}

Referenced by applyMultiControlledPauliY().

◆ applyMultiControlledPauliZ()

void applyMultiControlledPauliZ ( Qureg qureg,
int * controls,
int numControls,
int target )
Note
Documentation for this function or struct is under construction!

Definition at line 951 of file operations.cpp.

951 {
952 validate_quregFields(qureg, __func__);
953 validate_controlsAndTarget(qureg, controls, numControls, target, __func__);
954
955 // harmlessly re-validates
956 applyMultiStateControlledPauliZ(qureg, controls, nullptr, numControls, target);
957}

Referenced by applyMultiControlledPauliZ().

◆ applyMultiStateControlledPauliX()

void applyMultiStateControlledPauliX ( Qureg qureg,
int * controls,
int * states,
int numControls,
int target )
Note
Documentation for this function or struct is under construction!
See also
applyMultiStateControlledCompMatr1()

Definition at line 959 of file operations.cpp.

959 {
960 validate_quregFields(qureg, __func__);
961 validate_controlsAndTarget(qureg, controls, numControls, target, __func__);
962 validate_controlStates(states, numControls, __func__); // permits states==nullptr
963
964 // harmlessly re-validates
965 applyMultiStateControlledPauliStr(qureg, controls, states, numControls, getPauliStr("X", {target}));
966}
void applyMultiStateControlledPauliStr(Qureg qureg, int *controls, int *states, int numControls, PauliStr str)
PauliStr getPauliStr(const char *paulis, int *indices, int numPaulis)
Definition paulis.cpp:306

Referenced by applyControlledPauliX(), applyMultiControlledPauliX(), applyMultiStateControlledPauliX(), and applyPauliX().

◆ applyMultiStateControlledPauliY()

void applyMultiStateControlledPauliY ( Qureg qureg,
int * controls,
int * states,
int numControls,
int target )
Note
Documentation for this function or struct is under construction!
See also
applyMultiStateControlledCompMatr1()

Definition at line 968 of file operations.cpp.

968 {
969 validate_quregFields(qureg, __func__);
970 validate_controlsAndTarget(qureg, controls, numControls, target, __func__);
971 validate_controlStates(states, numControls, __func__); // permits states==nullptr
972
973 // harmlessly re-validates
974 applyMultiStateControlledPauliStr(qureg, controls, states, numControls, getPauliStr("Y", {target}));
975}

Referenced by applyControlledPauliY(), applyMultiControlledPauliY(), applyMultiStateControlledPauliY(), and applyPauliY().

◆ applyMultiStateControlledPauliZ()

void applyMultiStateControlledPauliZ ( Qureg qureg,
int * controls,
int * states,
int numControls,
int target )
Note
Documentation for this function or struct is under construction!
See also
applyMultiStateControlledCompMatr1()

Definition at line 977 of file operations.cpp.

977 {
978 validate_quregFields(qureg, __func__);
979 validate_controlsAndTarget(qureg, controls, numControls, target, __func__);
980 validate_controlStates(states, numControls, __func__); // permits states==nullptr
981
982 // harmlessly re-validates
983 DiagMatr1 matr = getDiagMatr1({1, -1});
984 applyMultiStateControlledDiagMatr1(qureg, controls, states, numControls, target, matr);
985}
static DiagMatr1 getDiagMatr1(qcomp *in)
Definition matrices.h:378
void applyMultiStateControlledDiagMatr1(Qureg qureg, int *controls, int *states, int numControls, int target, DiagMatr1 matrix)

Referenced by applyControlledPauliZ(), applyMultiControlledPauliZ(), applyMultiStateControlledPauliZ(), and applyPauliZ().

◆ applyPauliX()

void applyPauliX ( Qureg qureg,
int target )
Note
Documentation for this function or struct is under construction!

Definition at line 887 of file operations.cpp.

887 {
888 validate_quregFields(qureg, __func__);
889 validate_target(qureg, target, __func__);
890
891 // harmlessly re-validates
892 applyMultiStateControlledPauliX(qureg, nullptr, nullptr, 0, target);
893}

◆ applyPauliY()

void applyPauliY ( Qureg qureg,
int target )
Note
Documentation for this function or struct is under construction!

Definition at line 895 of file operations.cpp.

895 {
896 validate_quregFields(qureg, __func__);
897 validate_target(qureg, target, __func__);
898
899 // harmlessly re-validates
900 applyMultiStateControlledPauliY(qureg, nullptr, nullptr, 0, target);
901}

◆ applyPauliZ()

void applyPauliZ ( Qureg qureg,
int target )
Note
Documentation for this function or struct is under construction!

Definition at line 903 of file operations.cpp.

903 {
904 validate_quregFields(qureg, __func__);
905 validate_target(qureg, target, __func__);
906
907 // harmlessly re-validates
908 applyMultiStateControlledPauliZ(qureg, nullptr, nullptr, 0, target);
909}

◆ multiplyPauliX()

void multiplyPauliX ( Qureg qureg,
int target )
Note
Documentation for this function or struct is under construction!
See also
multiplyCompMatr1()

◆ multiplyPauliY()

void multiplyPauliY ( Qureg qureg,
int target )
Note
Documentation for this function or struct is under construction!
See also
multiplyCompMatr1()

◆ multiplyPauliZ()

void multiplyPauliZ ( Qureg qureg,
int target )
Note
Documentation for this function or struct is under construction!
See also
multiplyCompMatr1()