'Andrew\'s wave weighting function for the IRLS algorithm
The psi function scaled by z
Parameters
z : array-like
1d array
Returns
weights : array
weights(z) = sin(z/a)/(z/a)     for \|z\| <= a*pi
weights(z) = 0                  for \|z\| > a*pi'

def weights(self, z):

    a = self.a
    z = np.asarray(z)
    test = self._subset(z)
    return ((test * np.sin((z / a))) / (z / a))
