Skip to main content
IBM Quantum Platform

정렬 함수

qf_ferm_op_canonical_order

QfFermionOperator *qf_ferm_op_canonical_order(const QfFermionOperator *op)

각 항이 표준 순서로 배열된 페르미온 연산자의 복사본을 반환합니다.

항들은 계수가 아닌, 각 항의 구조(그 항이 나타내는 연산자 문자열)에만 의존하는 표준 순서대로 정렬됩니다. 따라서 연산자가 어떻게 조합되었는지에 관계없이, 주어진 항의 집합에 대해서는 그 순서가 결정론적이다. 항 자체는 그대로 유지됩니다. 이는 단지 항의 순서만 바꾸는 것이지, 연산자를 단순화하거나 정규 순서로 바꾸는 것은 아닙니다.

 1QfFermionOperator *op = qf_ferm_op_zero();
 2bool actions[2] = {true, false};
 3uint32_t modes_a[2] = {1, 0};
 4QkComplex64 coeff_a = {1.0, 0.0};
 5qf_ferm_op_add_term(op, 2, actions, modes_a, &coeff_a);
 6uint32_t modes_b[2] = {0, 1};
 7QkComplex64 coeff_b = {2.0, 0.0};
 8qf_ferm_op_add_term(op, 2, actions, modes_b, &coeff_b);
 9
10QfFermionOperator *ordered = qf_ferm_op_canonical_order(op);
참고

모든 그룹 인덱스(참조 qf_ferm_op_get_groups())는 보존됩니다. 그룹 인덱스는 항의 순서와 무관한 항별 태그이므로, 각 항은 이동할 때 해당 그룹 인덱스를 그대로 유지합니다. 같은 그룹에 속한 용어들은 그 이후로는 더 이상 연속적으로 나타나지 않습니다. 입력에 그룹이 없다면, 결과에도 그룹이 없습니다.

매개변수

  • op – 순서가 재조정될 연산자의 항을 가리키는 포인터.

리턴

생성된 연산자에 대한 포인터.

qf_maj_op_canonical_order

QfMajoranaOperator *qf_maj_op_canonical_order(const QfMajoranaOperator *op)

항들이 표준 순서로 정렬된 마요라나 연산자의 복사본을 반환합니다.

항들은 계수가 아닌, 각 항의 구조(그 항이 나타내는 연산자 문자열)에만 의존하는 표준 순서대로 정렬됩니다. 따라서 연산자가 어떻게 조합되었는지에 관계없이, 주어진 항의 집합에 대해서는 그 순서가 결정론적이다. 항 자체는 그대로 유지됩니다. 이는 단지 항의 순서만 바꾸는 것이지, 연산자를 단순화하는 것은 아닙니다.

1QfMajoranaOperator *op = qf_maj_op_zero();
2uint32_t modes_a[2] = {1, 0};
3QkComplex64 coeff_a = {1.0, 0.0};
4qf_maj_op_add_term(op, 2, modes_a, &coeff_a);
5uint32_t modes_b[2] = {0, 1};
6QkComplex64 coeff_b = {2.0, 0.0};
7qf_maj_op_add_term(op, 2, modes_b, &coeff_b);
8
9QfMajoranaOperator *ordered = qf_maj_op_canonical_order(op);
참고

모든 그룹 인덱스(참조 qf_maj_op_get_groups())는 보존됩니다. 그룹 인덱스는 항의 순서와 무관한 항별 태그이므로, 각 항은 이동할 때 해당 그룹 인덱스를 그대로 유지합니다. 같은 그룹에 속한 용어들은 그 이후로는 더 이상 연속적으로 나타나지 않습니다. 입력에 그룹이 없다면, 결과에도 그룹이 없습니다.

매개변수

  • op – 순서가 재조정될 연산자의 항을 가리키는 포인터.

리턴

생성된 연산자에 대한 포인터.

이 페이지가 도움이 되었습니까?
GitHub에서 버그, 오타를 보고하거나 컨텐츠를 요청하십시오.