utility.cpp File Reference
#include "utility.hpp"

Functions

void get_Pauli_matrix (ComplexMatrix &matrix, const std::vector< UINT > &pauli_id_list)
 
std::vector< std::string > split (const std::string &s, const std::string &delim)
 
void chfmt (std::string &ops)
 

Function Documentation

◆ chfmt()

void chfmt ( std::string &  ops)

引数にとった文字列を、PauliOperatorで渡すことができる形に整形します。この関数は第一引数に与えた文字列に破壊的な変更を加えます。

Parameters
[in]ops演算子と添字が隣り合った文字列。(example: "X12 Y13 Z5" に対して, "X 12 Y 13 Z 5"のように変更を加えます。)

◆ get_Pauli_matrix()

void get_Pauli_matrix ( ComplexMatrix matrix,
const std::vector< UINT > &  pauli_id_list 
)

pauli_id_listからパウリ行列をmatrix生成する。

Parameters
[out]matrix作成する行列を格納する行列の参照
[in]pauli_id_list生成するパウリ演算子のIDのリスト。 \({I,X,Y,Z}\)が \({0,1,2,3}\)に対応する。

◆ split()

std::vector<std::string> split ( const std::string &  s,
const std::string &  delim 
)

第一引数の文字列を第二引数の文字列で区切ったリストを返します。この関数は第一引数に対して非破壊です。

Parameters
[in]s分割したい文字列。
[in]delim区切り文字列。
Returns
第一引数に含まれる区切り文字列で区切った文字列。(example: split("aabcaaca", "bc") -> {"aa", "aa", "a"}