pulse_calibration.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:Auspex 作者: BBN-Q 项目源码 文件源码
def run(self, norm_pts = None):
        self.exp.run_sweeps()
        data = {}
        var = {}
        for buff in self.exp.buffers:
            if self.exp.writer_to_qubit[buff.name][0] in self.qubit_names:
                dataset, descriptor = buff.get_data(), buff.get_descriptor()
                qubit_name = self.exp.writer_to_qubit[buff.name][0]
                if norm_pts:
                    buff_data = normalize_data(dataset, zero_id = norm_pts[qubit_name][0], one_id = norm_pts[qubit_name][1])
                else:
                    buff_data = dataset['Data']
                data[qubit_name] = self.quad_fun(buff_data)
                if 'Variance' in dataset.dtype.names:
                    if self.quad in ['real', 'imag']:
                        var[qubit_name] = self.quad_fun(dataset['Variance'])/descriptor.metadata["num_averages"]
                    else:
                        raise Exception('Variance of {} not available. Choose real or imag'.format(self.quad))
                else:
                    var[qubit_name] = None

        # Return data and variance of the mean
        if len(data) == 1:
            # if single qubit, get rid of dictionary
            data = list(data.values())[0]
            var = list(var.values())[0]
        return data, var
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号