コード例 #1
0
 def test_gaussian_square_pulse(self):
     """Test that GaussianSquare sample pulse matches the pulse library."""
     gauss_sq = GaussianSquare(duration=125, sigma=4, amp=0.5j, width=100)
     sample_pulse = gauss_sq.get_waveform()
     self.assertIsInstance(sample_pulse, Waveform)
     pulse_lib_gauss_sq = gaussian_square(duration=125,
                                          sigma=4,
                                          amp=0.5j,
                                          width=100,
                                          zero_ends=True).samples
     np.testing.assert_almost_equal(sample_pulse.samples,
                                    pulse_lib_gauss_sq)
     gauss_sq = GaussianSquare(duration=125,
                               sigma=4,
                               amp=0.5j,
                               risefall_sigma_ratio=3.125)
     sample_pulse = gauss_sq.get_waveform()
     self.assertIsInstance(sample_pulse, Waveform)
     pulse_lib_gauss_sq = gaussian_square(duration=125,
                                          sigma=4,
                                          amp=0.5j,
                                          width=100,
                                          zero_ends=True).samples
     np.testing.assert_almost_equal(sample_pulse.samples,
                                    pulse_lib_gauss_sq)
コード例 #2
0
 def test_gauss_square_extremes(self):
     """Test that the gaussian square pulse can build a gaussian."""
     duration = 125
     sigma = 4
     amp = 0.5j
     gaus_square = GaussianSquare(duration=duration, sigma=sigma, amp=amp, width=0)
     gaus = Gaussian(duration=duration, sigma=sigma, amp=amp)
     np.testing.assert_almost_equal(gaus_square.get_waveform().samples,
                                    gaus.get_waveform().samples)
     gaus_square = GaussianSquare(duration=duration, sigma=sigma, amp=amp, width=121)
     const = Constant(duration=duration, amp=amp)
     np.testing.assert_almost_equal(gaus_square.get_waveform().samples[2:-2],
                                    const.get_waveform().samples[2:-2])
コード例 #3
0
 def test_gauss_square_samples(self):
     """Test that the gaussian square samples match the formula."""
     duration = 125
     sigma = 4
     amp = 0.5j
     # formulaic
     times = np.array(range(25), dtype=np.complex_)
     times = times - (25 / 2) + 0.5
     gauss = amp * np.exp(-(times / sigma)**2 / 2)
     # wf
     wf = GaussianSquare(duration=duration, sigma=sigma, amp=amp, width=100)
     samples = wf.get_waveform().samples
     np.testing.assert_almost_equal(samples[50], amp)
     np.testing.assert_almost_equal(samples[100], amp)
     np.testing.assert_almost_equal(samples[:10], gauss[:10])