예제 #1
0
 def test_sampled_pulse(self):
     """Test that we can convert to a sampled pulse."""
     gauss = Gaussian(duration=25, sigma=4, amp=0.5j)
     sample_pulse = gauss.get_sample_pulse()
     self.assertIsInstance(sample_pulse, SamplePulse)
     pulse_lib_gaus = pulse_lib.gaussian(duration=25,
                                         sigma=4,
                                         amp=0.5j,
                                         zero_ends=False).samples
     np.testing.assert_almost_equal(sample_pulse.samples, pulse_lib_gaus)
예제 #2
0
 def test_gauss_samples(self):
     """Test that the gaussian samples match the formula."""
     duration = 25
     sigma = 4
     amp = 0.5j
     # formulaic
     times = np.array(range(25), dtype=np.complex_)
     times = times - (duration / 2) + 0.5
     gauss = amp * np.exp(-(times / sigma)**2 / 2)
     # command
     command = Gaussian(duration=duration, sigma=sigma, amp=amp)
     samples = command.get_sample_pulse().samples
     np.testing.assert_almost_equal(samples, gauss)
예제 #3
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_sample_pulse().samples,
                                    gaus.get_sample_pulse().samples)
     gaus_square = GaussianSquare(duration=duration,
                                  sigma=sigma,
                                  amp=amp,
                                  width=121)
     const = ConstantPulse(duration=duration, amp=amp)
     np.testing.assert_almost_equal(
         gaus_square.get_sample_pulse().samples[2:-2],
         const.get_sample_pulse().samples[2:-2])