Skip to main content
IBM Quantum Platform

QkQuantumRegister

typedef struct QkQuantumRegister QkQuantumRegister

一度に複数のビットをインスタンス化する一般的な方法は、レジスタを作成することである。 レジスタとは、名前の付いたビットの集まりである。 レジスタを作成することで、ビットの集まりに名前を付けることができ、回路内の特定のビットのメタデータとして使用できる。 この名前は、通常、回路を言語間で交換するためにエクスポートする際にも保存される。

例えば、 qk_quantum_register_new() を呼び出すことで、レジスタを作成することができる:

#include <qiskit.h>

QkQuantumRegister *qreg = qk_quantum_register_new(5, "my_qreg");

これにより、 "my_qreg" という新しい5量子ビット・レジスタが作成される。

そして、レジスタを回路に追加するには、 qk_circuit_add_quantum_register() 関数を使う:

QkCircuit *qc = qk_circuit_new(0, 0);
qk_circuit_add_quantum_register(qc, qreg);
uint32_t num_qubits = qk_circuit_num_qubits(qc); // 5

回路はレジスタを追跡するが、レジスタ自体は回路にほとんど動作の違いを与えない。


関数

qk_quantum_register_new

QkQuantumRegister *qk_quantum_register_new(uint32_t num_qubits, const char *name)

与えられた量子ビット数と名前で新しい量子レジスタを作成する

QkQuantumRegister *qr = qk_quantum_register_new(5, "five_qubits");

安全

name パラメーターは、文字列の末尾に有効なヌル・ターミネーターを含むメモリーへのポインターでなければならない。 また、ヌル・ターミネーターまでのバイト数のリードに対しても有効でなければならない。

パラメーター

  • num_qubits - レジスタを作成する量子ビットの数
  • name - 作成されるレジスタの名前文字列。 名前は UTF-8 の有効な文字で構成されなければならない。

戻り値

作成されたレジスタへのポインタ

qk_quantum_register_free

void qk_quantum_register_free(QkQuantumRegister *reg)

量子レジスターを解放

QkQuantumRegister *qr = qk_quantum_register_new(1024, "qreg");
qk_quantum_register_free(qr);

安全

reg が NULL または QkQuantumRegister への有効なポインタでない場合、動作は未定義となる。

パラメーター

  • reg - 解放するレジスタへのポインタ.
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。