示例#1
0
def pyRHSc(t,psi):
    h_func_data=odeconfig.h_funcs(t,odeconfig.h_func_args).data
    h_func_term=-1.0j*spmv1d(h_func_data.data,h_func_data.indices,h_func_data.indptr,psi)
    const_col_term=0
    if len(odeconfig.c_const_inds)>0:    
        const_col_term=spmv1d(odeconfig.h_data,odeconfig.h_ind,odeconfig.h_ptr,psi)
    return h_func_term+const_col_term
示例#2
0
def pyRHSc(t, psi):
    h_func_data = odeconfig.h_funcs(t, odeconfig.h_func_args).data
    h_func_term = -1.0j * spmv1d(h_func_data.data, h_func_data.indices,
                                 h_func_data.indptr, psi)
    const_col_term = 0
    if len(odeconfig.c_const_inds) > 0:
        const_col_term = spmv1d(odeconfig.h_data, odeconfig.h_ind,
                                odeconfig.h_ptr, psi)
    return h_func_term + const_col_term
示例#3
0
def tdRHStd(t, psi):
    const_term = spmv1d(odeconfig.h_data, odeconfig.h_ind, odeconfig.h_ptr,
                        psi)
    h_func_term = array([
        odeconfig.h_funcs[j](t, odeconfig.h_func_args) *
        spmv1d(odeconfig.h_td_data[j], odeconfig.h_td_ind[j],
               odeconfig.h_td_ptr[j], psi) for j in odeconfig.h_td_inds
    ])
    col_func_terms = array([
        abs(odeconfig.c_funcs[j](t, odeconfig.c_func_args))**2 *
        spmv1d(odeconfig.n_ops_data[j], odeconfig.n_ops_ind[j],
               odeconfig.n_ops_ptr[j], psi) for j in odeconfig.c_td_inds
    ])
    return const_term - 1.0j * sum(h_func_term, 0) - 0.5 * sum(
        col_func_terms, 0)
示例#4
0
def cRHStd(t, psi):
    sys = cyq_ode_rhs(t, psi, odeconfig.h_data, odeconfig.h_ind,
                      odeconfig.h_ptr)
    col = array([
        abs(odeconfig.c_funcs[j](t, odeconfig.c_func_args))**2 *
        spmv1d(odeconfig.n_ops_data[j], odeconfig.n_ops_ind[j],
               odeconfig.n_ops_ptr[j], psi) for j in odeconfig.c_td_inds
    ])
    return sys - 0.5 * sum(col, 0)
示例#5
0
def tdRHStd(t,psi):
    const_term=spmv1d(odeconfig.h_data,odeconfig.h_ind,odeconfig.h_ptr,psi)
    h_func_term=array([odeconfig.h_funcs[j](t,odeconfig.h_func_args)*spmv1d(odeconfig.h_td_data[j],odeconfig.h_td_ind[j],odeconfig.h_td_ptr[j],psi) for j in odeconfig.h_td_inds])
    col_func_terms=array([abs(odeconfig.c_funcs[j](t,odeconfig.c_func_args))**2*spmv1d(odeconfig.n_ops_data[j],odeconfig.n_ops_ind[j],odeconfig.n_ops_ptr[j],psi) for j in odeconfig.c_td_inds])
    return const_term-1.0j*sum(h_func_term,0)-0.5*sum(col_func_terms,0)
示例#6
0
def cRHStd(t,psi):
    sys=cyq_ode_rhs(t,psi,odeconfig.h_data,odeconfig.h_ind,odeconfig.h_ptr)
    col=array([abs(odeconfig.c_funcs[j](t,odeconfig.c_func_args))**2*spmv1d(odeconfig.n_ops_data[j],odeconfig.n_ops_ind[j],odeconfig.n_ops_ptr[j],psi) for j in odeconfig.c_td_inds])
    return sys-0.5*sum(col,0)
示例#7
0
def tdRHS(t,psi):
    h_data=odeconfig.h_func(t,odeconfig.h_func_args).data
    return spmv1d(-1.0j*h_data.data,h_data.indices,h_data.indptr,psi)
示例#8
0
def tdRHS(t, psi):
    h_data = odeconfig.h_func(t, odeconfig.h_func_args).data
    return spmv1d(-1.0j * h_data.data, h_data.indices, h_data.indptr, psi)