<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def ifft(invec, outvec):
 """ Inverse fourier transform from invec to outvec. Perform an inverse fourier transform. The type of transform is determined by the dtype of invec and outvec. Parameters invec : TimeSeries or FrequencySeries The input vector. outvec : TimeSeries or FrequencySeries The output. """

    prec, itype, otype = _check_fft_args(invec, outvec)
    _check_inv_args(invec, itype, outvec, otype, 1, None)

    # The following line is where all the work is done:
    backend = get_backend()
    backend.ifft(invec, outvec, prec, itype, otype)
    # For an inverse FFT, the length of the *output* vector is the length
    # we should divide by, whether C2C or HC2R transform
    if isinstance(invec, _TimeSeries):
        outvec._epoch = invec._epoch
        outvec._delta_f = 1.0/(invec._delta_t * len(outvec))
        outvec *= invec._delta_t
    elif isinstance(invec,_FrequencySeries):
        outvec._epoch = invec._epoch
        outvec._delta_t = 1.0/(invec._delta_f * len(outvec))
        outvec *= invec._delta_f