<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def validate_wavetable(self):
 """Enforce monotonic, ascending wavelength array with no zero or negative values. Raises ------ pysynphot.exceptions.DuplicateWavelength Wavelength array contains duplicate entries. pysynphot.exceptions.UnsortedWavelength Wavelength array is not monotonic ascending or descending. pysynphot.exceptions.ZeroWavelength Wavelength array has zero or negative value(s). """

        # First check for invalid values
        wave = self._wavetable
        if N.any(wave <= 0):
            wrong = N.where(wave <= 0)[0]
            raise exceptions.ZeroWavelength(
                'Negative or Zero wavelength occurs in wavelength array',
                rows=wrong)

        # Now check for monotonicity & enforce ascending
        sorted = N.sort(wave)
        if not N.alltrue(sorted == wave):
            if N.alltrue(sorted[::-1] == wave):
                # monotonic descending is allowed
                pass
            else:
                wrong = N.where(sorted != wave)[0]
                raise exceptions.UnsortedWavelength(
                    'Wavelength array is not monotonic', rows=wrong)

        # Check for duplicate values
        dw = sorted[1:] - sorted[:-1]
        if N.any(dw == 0):
            wrong = N.where(dw == 0)[0]
            raise exceptions.DuplicateWavelength(
                "Wavelength array contains duplicate entries", rows=wrong)