def inner_solve(u, lu):
        """Solve Au=b for one-dimensional u

        On entry u is the rhs b, on exit it contains the solution.

        Parameters
        ----------
        u : array 1D
            rhs on entry and solution on exit
        lu : LU-decomposition
            Can be either a 2-tuple with (output from splu, dtype), or a scipy
            dia-matrix containing the L and U matrices. The latter is used in
            subclasses.

        """
        lu, dtype = lu
        s = slice(0, lu.shape[0])
        if u.dtype.char in 'fdg' or dtype in 'FDG':
            u[s] = lu.solve(u[s])

        else:
            u.real[s] = lu.solve(u.real[s])
            u.imag[s] = lu.solve(u.imag[s])