Skip to main content
IBM Quantum Platform

QkComplex64

複素数の倍精度数値表現。 このデータ型はQiskit内で複素数を安全に使用するために使用されますが、必ずしもユーザー側で簡単に操作できるように設計されているわけではありません。 その代わりに、コンパイラー・ネイティブ表現(たとえば complex double GNUまたはClangコンパイラ用)、人間工学的な取り扱いを可能にし、Qiskitの QkComplex64 表現は、Qiskitの関数や構造体に渡すためのものです。

明示的に、QiskitはCのコンパイラネイティブ複素数型をWindows MSVCでは _Dcomplex_MSC_VER が定義されている場合)、そうでない場合は double _Complex 。 C++では( __cplusplus が定義されている場合)、複素数型は常に std::complex<double> となる。


データ・タイプ

QkComplex64

struct QkComplex64

複雑なダブル。

この構造体をコンパイラ固有の複素数表現に(または複素数表現から)変換するには、 qk_complex64_to_native および qk_complex64_from_native も参照してください。

ダブルリ

実体部分。

ダブル・アイム

虚数部。


関数

qk_complex64_to_native

static CMPLX_DOUBLE qk_complex64_to_native(QkComplex64 *value)

QkComplex64 をコンパイラ独自の複素数表現に変換する。 なお、 CMPLX_DOUBLE はコンパイラー・ネイティブの複素数型のプレースホルダーである。

GNU/clangコンパイラで complex double をネイティブ複素数と仮定すると、次のようになる

QkComplex64 qk_value = {1, 1}; // represents 1 + i
complex double value = qk_complex64_to_native(&qk_value);

安全

valueQkComplex64 への有効な非 null ポインタでない場合、動作は未定義となる。

パラメーター

value - 変換する QkComplex64 へのポインタ。

戻り値

複素数のネイティブ表現。

qk_complex64_from_native

static QkComplex64 qk_complex64_from_native(CMPLX_DOUBLE *value)

コンパイラネイティブな複素数を QkComplex64 に変換する。 なお、 CMPLX_DOUBLE はコンパイラー・ネイティブの複素数型のプレースホルダーである。

GNU/clangコンパイラで complex double をネイティブ複素数と仮定すると、次のようになる

complex double value = 1 + I;
QkComplex64 qk_value = qk_complex64_from_native(&value);

安全

valueQkComplex64 への有効な非 null ポインタでない場合、動作は未定義となる。

パラメーター

value - ネイティブ複素数へのポインタ.

戻り値

QkComplex64 複素数の表現。

このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。