'Run the fitting routine with all of the information given and with ``full_output=1``.
Returns
output : Output instance
This object is also assigned to the attribute .output .'

def run(self):

    args = (self.model.fcn, self.beta0, self.data.y, self.data.x)
    kwds = {'full_output': 1}
    kwd_l = ['ifixx', 'ifixb', 'job', 'iprint', 'errfile', 'rptfile', 'ndigit', 'taufac', 'sstol', 'partol', 'maxit', 'stpb', 'stpd', 'sclb', 'scld', 'work', 'iwork']
    if ((self.delta0 is not None) and (((self.job % 1000) // 10) == 1)):
        self._gen_work()
        d0 = numpy.ravel(self.delta0)
        self.work[:len(d0)] = d0
    if (self.model.fjacb is not None):
        kwds['fjacb'] = self.model.fjacb
    if (self.model.fjacd is not None):
        kwds['fjacd'] = self.model.fjacd
    if (self.data.we is not None):
        kwds['we'] = self.data.we
    if (self.data.wd is not None):
        kwds['wd'] = self.data.wd
    if (self.model.extra_args is not None):
        kwds['extra_args'] = self.model.extra_args
    for attr in kwd_l:
        obj = getattr(self, attr)
        if (obj is not None):
            kwds[attr] = obj
    self.output = Output(odr(*args, **kwds))
    return self.output
