"""
Quadratic eigenvalue problem solvers.
"""
from __future__ import absolute_import
import time

import numpy as nm
import scipy.sparse as sps

from sfepy.base.base import output, get_default
from sfepy.linalg.utils import max_diff_csr
from sfepy.solvers.solvers import QuadraticEVPSolver

def standard_call(call):
    """
    Decorator handling argument preparation and timing for quadratic
    eigensolvers.
    """
    def _standard_call(self, mtx_m, mtx_d, mtx_k, n_eigs=None,
                       eigenvectors=None, status=None, conf=None, **kwargs):
        timer = Timer(start=True)

        conf = get_default(conf, self.conf)
        mtx_m = get_default(mtx_m, self.mtx_m)
        mtx_d = 
get_default(mtx_d, self.mtx_d)