def run(self):
args = (self.model.fcn, self.beta0, self.data.y, self.data.x)<EOL>kwds = {'<STR_LIT>': <NUM_LIT:1>}<EOL>kwd_l = ['<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>',<EOL>'<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>', '<STR_LIT>']<EOL>if self.delta0 is not None and self.job % <NUM_LIT:1000> // <NUM_LIT:10> == <NUM_LIT:1>:<EOL><INDENT>self._gen_work()<EOL>d0 = numpy.ravel(self.delta0)<EOL>self.work[:len(d0)] = d0<EOL><DEDENT>if self.model.fjacb is not None:<EOL><INDENT>kwds['<STR_LIT>'] = self.model.fjacb<EOL><DEDENT>if self.model.fjacd is not None:<EOL><INDENT>kwds['<STR_LIT>'] = self.model.fjacd<EOL><DEDENT>if self.data.we is not None:<EOL><INDENT>kwds['<STR_LIT>'] = self.data.we<EOL><DEDENT>if self.data.wd is not None:<EOL><INDENT>kwds['<STR_LIT>'] = self.data.wd<EOL><DEDENT>if self.model.extra_args is not None:<EOL><INDENT>kwds['<STR_LIT>'] = self.model.extra_args<EOL><DEDENT>for attr in kwd_l:<EOL><INDENT>obj = getattr(self, attr)<EOL>if obj is not None:<EOL><INDENT>kwds[attr] = obj<EOL><DEDENT><DEDENT>self.output = Output(odr(*args, **kwds))<EOL>return self.output<EOL>
Run the fitting routine with all of the information given.

        Returns
        -------
        output : Output instance
            This object is also assigned to the attribute .output .