def new_linsolver(name,prop):
    """
    Creates a linear solver.

    Parameters
    ----------
    name : string
    prop : string
    
    Returns
    -------
    solver : :class:`LinSolver <optalg.lin_solver.LinSolver>`
    """
    
    if name == 'mumps':
        return LinSolverMUMPS(prop)
    elif name == 'superlu':
        return LinSolverSUPERLU(prop)
    elif name == 'umfpack':
        return LinSolverUMFPACK(prop)
    elif name == 'default':
        try:
            return new_linsolver('mumps',prop)
        except ImportError:
            return new_linsolver('superlu',prop)            
    else:
        raise ValueError('invalid linear solver name')
def new_linsolver ( name , prop ) : if name == 'mumps' : return LinSolverMUMPS ( prop ) elif name == 'superlu' : return LinSolverSUPERLU ( prop ) elif name == 'umfpack' : return LinSolverUMFPACK ( prop ) elif name == 'default' : try : return new_linsolver ( 'mumps' , prop ) except ImportError : return new_linsolver ( 'superlu' , prop ) else : raise ValueError ( 'invalid linear solver name' )
Creates a linear solver.

    Parameters
    ----------
    name : string
    prop : string
    
    Returns
    -------
    solver : :class:`LinSolver <optalg.lin_solver.LinSolver>`