def METHOD_NAME(vec_x):
    xw = vec_x[iw]
    xg = vec_x[ig]
    xl = vec_x[il]
    subsd = {}
    for ii, key in enumerate(w_names):
        subsd[key] = xw[ii]
    md = eval_matrix(m['D'], **subsd)
    sn = eval_matrix(m['sn'], **subsd).squeeze()
    ma = nm.zeros((xl.shape[0], nx), dtype=nm.float64)
    ma[:,iw] = - fc * nm.sign(sn)[:,None] * md
    ma[:,ig] = nm.sign(xg)[:,None] * m['C']
    return -sps.csr_matrix(ma)