docs: def redshift(self, z):
          """Apply :ref:`redshift <pysynphot-redshift>` to the spectrum.
  
          Redshifted spectrum is never analytic even if the input
          spectrum is. Output units are always Angstrom and PHOTLAM
          regardless of user units.
  
          Parameters
          ----------
          z : number
              Redshift value.
  
          Returns
          -------
          copy : `ArraySourceSpectrum`
              Redshifted spectrum.
  
          """
          # By default, apply only the doppler shift.
  
          waveunits = self.waveunits
          fluxunits = self.fluxunits
          self.convert('angstrom')
          self.convert('photlam')
          newwave = self.wave.astype(N.float64) * (1.0 + z)
          copy = ArraySourceSpectrum(wave=newwave,
                                     flux=self.flux,
                                     waveunits=self.waveunits,
                                     fluxunits=self.fluxunits,
                                     name="%s at z=%g" % (self.name, z))
  
          self.convert(waveunits)
          self.convert(fluxunits)
          return copy