Psi4
Classes | Typedefs | Functions | Variables
psi::detci Namespace Reference

Classes

class  CIvect
 
class  CIWavefunction
 
class  Odometer
 
class  SlaterDeterminant
 
struct  stringwr
 
struct  level
 
struct  stringgraph
 
struct  olsen_graph
 
struct  fastgraph
 
struct  graph_set
 
struct  H_zero_block
 
struct  calcinfo
 
struct  params
 
struct  ci_blks
 
struct  sigma_data
 

Typedefs

typedef std::shared_ptr
< psi::detci::CIvect
SharedCIVector
 

Functions

SharedWavefunction detci (SharedWavefunction, Options &)
 
int subgr_lex_addr (struct level *head, int *occs, int nel, int norb)
 
void b2brepl (unsigned char **occs, int *Jcnt, int **Jij, int **Joij, int **Jridx, signed char **Jsgn, struct olsen_graph *Graph, int Ilist, int Jlist, int len, struct calcinfo *Cinfo)
 
void b2bgen1 (unsigned char **occs, int *Jcnt, int **Jij, int **Joij, int **Jridx, signed char **Jsgn, struct level *subgr_head, int len, int ijsym, int nel, int ras1_lvl, int ras3_lvl, int ras4_lvl, struct calcinfo *Cinfo)
 
void b2bgen2 (unsigned char **occs, int *Jcnt, int **Jij, int **Joij, int **Jridx, signed char **Jsgn, struct level *subgr_head, int up, int down, int len, int ijsym, int nel, int ras1_lvl, int ras3_lvl, int ras4_lvl, struct calcinfo *Cinfo)
 
void b2brepl_test (unsigned char ***occs, int *Jcnt, int **Jij, int **Joij, int **Jridx, signed char **Jsgn, struct olsen_graph *Graph, struct calcinfo *Cinfo)
 
double calc_d2 (double *target, double lambda, double *Hd, int size, int precon)
 
double calc_mpn_vec (double *target, double energy, double *Hd, int size, double sign1, double sign2, int precon)
 
void transp_sigma (double **a, int rows, int cols, int phase)
 
void xey (double *x, double *y, int size)
 
void xeay (double *x, double a, double *y, int size)
 
void xpeay (double *x, double a, double *y, int size)
 
void xpey (double *x, double *y, int size)
 
void xeax (double *x, double a, int size)
 
void xexmy (double *x, double *y, int size)
 
void xeaxmy (double *x, double *y, double a, int size)
 
void xeaxpby (double *x, double *y, double a, double b, int size)
 
void xexy (double *x, double *y, int size)
 
int calc_orb_diff (int cnt, unsigned char *I, unsigned char *J, int *I_alpha_diff, int *J_alpha_diff, int *sign, int *same, int extended)
 
void print_vec (size_t nprint, int *Iacode, int *Ibcode, int *Iaidx, int *Ibidx, double *coeff, struct olsen_graph *AlphaG, struct olsen_graph *BetaG, struct stringwr **alplist, struct stringwr **betlist, std::string)
 
int og_lex_addr (struct olsen_graph *Graph, int *occs, int nel, int *listnum)
 
void stringset_translate_addr (StringSet *sset, int new_nel, int new_ndrc, int *pitz2corr, struct olsen_graph *Graph, int *new_list, int *new_idx)
 
void set_row_ptrs (int rows, int cols, double **matrix)
 
void buf_ols_denom (double *a, double *hd, double E, int len)
 
void buf_ols_updt (double *a, double *c, double *norm, double *ovrlap, double *c1norm, int len)
 
double buf_xy1 (double *c, double *hd, double E, int len)
 
void str_abs2rel (int absidx, int *relidx, int *listnum, struct olsen_graph *Graph)
 
int str_rel2abs (int relidx, int listnum, struct olsen_graph *Graph)
 
void stringlist (struct olsen_graph *Graph, struct stringwr **slist, int repl_otf, unsigned char ***Occs)
 
void print_ci_space (struct stringwr *strlist, int num_strings, int nirreps, int strtypes, int nel, int repl_otf)
 
void olsengraph (struct olsen_graph *Graph, int ci_orbs, int num_el, int nirreps, int *orbsym, int ras1_lvl, int ras1_min, int ras1_max, int ras3_lvl, int ras3_max, int num_drc_orbs, int num_expl_cor_orbs, int ras4_lvl, int ras4_max, int ras34_max, struct params *CIparams)
 
void og_add_walk (int ras1_idx, int ras3_num, int ras4_num, int *occs, int nel_expl, int norb, int nirreps, int num_drc_orbs, struct olsen_graph *Graph)
 
int og_calc_y (struct level *lvl, int ci_orbs)
 
void og_fill (int num_el, int norb, int nirreps, int num_drc_orbs, struct olsen_graph *Graph)
 
void og_print (struct olsen_graph *Graph)
 
std::string _concat_dim (std::string label, size_t spacer1, Dimension dim, size_t spacer2, size_t spacer3)
 
std::string orb2lbl (int orbnum, struct calcinfo *Cinfo, int *orbs_per_irr)
 
void s1_block_vfci (struct stringwr **alplist, struct stringwr **betlist, double **C, double **S, double *oei, double *tei, double *F, int nlists, int nas, int nbs, int Ib_list, int Jb_list, int Jb_list_nbs)
 
void s1_block_vras (struct stringwr **alplist, struct stringwr **betlist, double **C, double **S, double *oei, double *tei, double *F, int nlists, int nas, int nbs, int Ib_list, int Jb_list, int Jb_list_nbs)
 
void s1_block_vras_rotf (int *Cnt[2], int **Ij[2], int **Oij[2], int **Ridx[2], signed char **Sgn[2], unsigned char **Toccs, double **C, double **S, double *oei, double *tei, double *F, int nlists, int nas, int nbs, int Ib_list, int Jb_list, int Jb_list_nbs, struct olsen_graph *BetaG, struct calcinfo *CIinfo, unsigned char ***Occs)
 
void s2_block_vfci (struct stringwr **alplist, struct stringwr **betlist, double **C, double **S, double *oei, double *tei, double *F, int nlists, int nas, int nbs, int Ia_list, int Ja_list, int Ja_list_nas)
 
void s2_block_vras (struct stringwr **alplist, struct stringwr **betlist, double **C, double **S, double *oei, double *tei, double *F, int nlists, int nas, int nbs, int Ia_list, int Ja_list, int Ja_list_nas)
 
void s2_block_vras_rotf (int *Cnt[2], int **Ij[2], int **Oij[2], int **Ridx[2], signed char **Sgn[2], unsigned char **Toccs, double **C, double **S, double *oei, double *tei, double *F, int nlists, int nas, int nbs, int Ia_list, int Ja_list, int Ja_list_nas, struct olsen_graph *AlphaG, struct olsen_graph *BetaG, struct calcinfo *CIinfo, unsigned char ***Occs)
 
void s3_block_bz (int Ialist, int Iblist, int Jalist, int Jblist, int nas, int nbs, int cnas, double *tei, double **C, double **S, double **Cprime, double **Sprime, struct calcinfo *CInfo, int ***OV)
 
int form_ilist (struct stringwr *alplist, int Ja_list, int nas, int kl, int *L, int *R, double *Sgn)
 
int form_ilist_rotf (int *Cnt, int **Ridx, signed char **Sn, int **Ij, int nas, int kl, int *L, int *R, double *Sgn)
 
void s3_block_vdiag (struct stringwr *alplist, struct stringwr *betlist, double **C, double **S, double *tei, int nas, int nbs, int cnas, int Ib_list, int Ja_list, int Jb_list, int Ib_sym, int Jb_sym, double **Cprime, double *F, double *V, double *Sgn, int *L, int *R, int norbs, int *orbsym)
 
void s3_block_v (struct stringwr *alplist, struct stringwr *betlist, double **C, double **S, double *tei, int nas, int nbs, int cnas, int Ib_list, int Ja_list, int Jb_list, int Ib_sym, int Jb_sym, double **Cprime, double *F, double *V, double *Sgn, int *L, int *R, int norbs, int *orbsym)
 
void s3_block_vdiag_rotf (int *Cnt[2], int **Ij[2], int **Ridx[2], signed char **Sn[2], double **C, double **S, double *tei, int nas, int nbs, int cnas, int Ib_list, int Ja_list, int Jb_list, int Ib_sym, int Jb_sym, double **Cprime, double *F, double *V, double *Sgn, int *L, int *R, int norbs, int *orbsym)
 
void s3_block_vrotf (int *Cnt[2], int **Ij[2], int **Ridx[2], signed char **Sn[2], double **C, double **S, double *tei, int nas, int nbs, int cnas, int Ib_list, int Ja_list, int Jb_list, int Ib_sym, int Jb_sym, double **Cprime, double *F, double *V, double *Sgn, int *L, int *R, int norbs, int *orbsym)
 
void print_ciblk_summary (std::string out)
 
void common_orbs (int *same_alpha, int *same_beta, int cnt_alpha, int cnt_beta, int *common_docc, int *common_alpha_socc, int *common_beta_socc, int *cnt_docc, int *cnt_alpha_socc, int *cnt_beta_socc)
 
double get_twoel (int i, int j, int k, int l)
 
double get_onel (int i, int j)
 
int operator== (SlaterDeterminant &s1, SlaterDeterminant &s2)
 
void subgr_trav_init (struct level *head, int ci_orbs, int **outarr, int walks)
 
void subgr_traverse (int i, int j)
 
void form_stringwr (struct stringwr *strlist, int *occs, int N, int num_ci_orbs, struct stringgraph *subgraph, struct olsen_graph *Graph, int first_orb_active, int repl_otf)
 
void og_form_repinfo (struct stringwr *string, int num_ci_orbs, struct olsen_graph *Graph, int first_orb_active)
 
void init_stringwr_temps (int nel, int num_ci_orbs, int nsym)
 
void free_stringwr_temps (int nsym)
 

Variables

struct levelsbgr_tr_head
 
int sbgr_tr_orbs
 
int ** sbgr_tr_out
 
int sbgr_tr_walks
 
int * sbgr_tr_alist
 
int * O
 
int * U
 
int * T
 
int ** Tij
 
int ** Toij
 
int * Tcnt
 
size_t ** Tidx
 
signed char ** Tsgn
 

Typedef Documentation

typedef std::shared_ptr< psi::detci::CIvect > psi::detci::SharedCIVector

Function Documentation

std::string psi::detci::_concat_dim ( std::string  label,
size_t  spacer1,
Dimension  dim,
size_t  spacer2,
size_t  spacer3 
)
void psi::detci::b2bgen1 ( unsigned char **  occs,
int *  Jcnt,
int **  Jij,
int **  Joij,
int **  Jridx,
signed char **  Jsgn,
struct level *  subgr_head,
int  len,
int  ijsym,
int  nel,
int  ras1_lvl,
int  ras3_lvl,
int  ras4_lvl,
struct calcinfo *  Cinfo 
)
void psi::detci::b2bgen2 ( unsigned char **  occs,
int *  Jcnt,
int **  Jij,
int **  Joij,
int **  Jridx,
signed char **  Jsgn,
struct level *  subgr_head,
int  up,
int  down,
int  len,
int  ijsym,
int  nel,
int  ras1_lvl,
int  ras3_lvl,
int  ras4_lvl,
struct calcinfo *  Cinfo 
)
void psi::detci::b2brepl ( unsigned char **  occs,
int *  Jcnt,
int **  Jij,
int **  Joij,
int **  Jridx,
signed char **  Jsgn,
struct olsen_graph *  Graph,
int  Ilist,
int  Jlist,
int  len,
struct calcinfo *  Cinfo 
)
void psi::detci::b2brepl_test ( unsigned char ***  occs,
int *  Jcnt,
int **  Jij,
int **  Joij,
int **  Jridx,
signed char **  Jsgn,
struct olsen_graph *  Graph,
struct calcinfo *  Cinfo 
)
void psi::detci::buf_ols_denom ( double *  a,
double *  hd,
double  E,
int  len 
)
void psi::detci::buf_ols_updt ( double *  a,
double *  c,
double *  norm,
double *  ovrlap,
double *  c1norm,
int  len 
)
double psi::detci::buf_xy1 ( double *  c,
double *  hd,
double  E,
int  len 
)
double psi::detci::calc_d2 ( double *  target,
double  lambda,
double *  Hd,
int  size,
int  precon 
)
double psi::detci::calc_mpn_vec ( double *  target,
double  energy,
double *  Hd,
int  size,
double  sign1,
double  sign2,
int  precon 
)
int psi::detci::calc_orb_diff ( int  cnt,
unsigned char *  I,
unsigned char *  J,
int *  I_alpha_diff,
int *  J_alpha_diff,
int *  sign,
int *  same,
int  extended 
)
void psi::detci::common_orbs ( int *  same_alpha,
int *  same_beta,
int  cnt_alpha,
int  cnt_beta,
int *  common_docc,
int *  common_alpha_socc,
int *  common_beta_socc,
int *  cnt_docc,
int *  cnt_alpha_socc,
int *  cnt_beta_socc 
)
SharedWavefunction psi::detci::detci ( SharedWavefunction  ref_wfn,
Options &  options 
)
int psi::detci::form_ilist ( struct stringwr *  alplist,
int  Ja_list,
int  nas,
int  kl,
int *  L,
int *  R,
double *  Sgn 
)
int psi::detci::form_ilist_rotf ( int *  Cnt,
int **  Ridx,
signed char **  Sn,
int **  Ij,
int  nas,
int  kl,
int *  L,
int *  R,
double *  Sgn 
)
void psi::detci::form_stringwr ( struct stringwr *  strlist,
int *  occs,
int  N,
int  num_ci_orbs,
struct stringgraph *  subgraph,
struct olsen_graph *  Graph,
int  first_orb_active,
int  repl_otf 
)
void psi::detci::free_stringwr_temps ( int  nsym)
double psi::detci::get_onel ( int  i,
int  j 
)
double psi::detci::get_twoel ( int  i,
int  j,
int  k,
int  l 
)
void psi::detci::init_stringwr_temps ( int  nel,
int  num_ci_orbs,
int  nsym 
)
void psi::detci::og_add_walk ( int  ras1_idx,
int  ras3_num,
int  ras4_num,
int *  occs,
int  nel_expl,
int  norb,
int  nirreps,
int  num_drc_orbs,
struct olsen_graph *  Graph 
)
int psi::detci::og_calc_y ( struct level *  lvl,
int  ci_orbs 
)
void psi::detci::og_fill ( int  num_el,
int  norb,
int  nirreps,
int  num_drc_orbs,
struct olsen_graph *  Graph 
)
void psi::detci::og_form_repinfo ( struct stringwr *  string,
int  num_ci_orbs,
struct olsen_graph *  Graph,
int  first_orb_active 
)
int psi::detci::og_lex_addr ( struct olsen_graph *  Graph,
int *  occs,
int  nel,
int *  listnum 
)
void psi::detci::og_print ( struct olsen_graph *  Graph)
void psi::detci::olsengraph ( struct olsen_graph *  Graph,
int  ci_orbs,
int  num_el,
int  nirreps,
int *  orbsym,
int  ras1_lvl,
int  ras1_min,
int  ras1_max,
int  ras3_lvl,
int  ras3_max,
int  num_drc_orbs,
int  num_expl_cor_orbs,
int  ras4_lvl,
int  ras4_max,
int  ras34_max,
struct params *  CIparams 
)
int psi::detci::operator== ( SlaterDeterminant &  s1,
SlaterDeterminant &  s2 
)
std::string psi::detci::orb2lbl ( int  orbnum,
struct calcinfo *  Cinfo,
int *  orbs_per_irr 
)
void psi::detci::print_ci_space ( struct stringwr *  strlist,
int  num_strings,
int  nirreps,
int  strtypes,
int  nel,
int  repl_otf 
)
void psi::detci::print_ciblk_summary ( std::string  out)
void psi::detci::print_vec ( size_t  nprint,
int *  Iacode,
int *  Ibcode,
int *  Iaidx,
int *  Ibidx,
double *  coeff,
struct olsen_graph *  AlphaG,
struct olsen_graph *  BetaG,
struct stringwr **  alplist,
struct stringwr **  betlist,
std::string   
)
void psi::detci::s1_block_vfci ( struct stringwr **  alplist,
struct stringwr **  betlist,
double **  C,
double **  S,
double *  oei,
double *  tei,
double *  F,
int  nlists,
int  nas,
int  nbs,
int  Ib_list,
int  Jb_list,
int  Jb_list_nbs 
)
void psi::detci::s1_block_vras ( struct stringwr **  alplist,
struct stringwr **  betlist,
double **  C,
double **  S,
double *  oei,
double *  tei,
double *  F,
int  nlists,
int  nas,
int  nbs,
int  Ib_list,
int  Jb_list,
int  Jb_list_nbs 
)
void psi::detci::s1_block_vras_rotf ( int *  Cnt[2],
int **  Ij[2],
int **  Oij[2],
int **  Ridx[2],
signed char **  Sgn[2],
unsigned char **  Toccs,
double **  C,
double **  S,
double *  oei,
double *  tei,
double *  F,
int  nlists,
int  nas,
int  nbs,
int  Ib_list,
int  Jb_list,
int  Jb_list_nbs,
struct olsen_graph *  BetaG,
struct calcinfo *  CIinfo,
unsigned char ***  Occs 
)
void psi::detci::s2_block_vfci ( struct stringwr **  alplist,
struct stringwr **  betlist,
double **  C,
double **  S,
double *  oei,
double *  tei,
double *  F,
int  nlists,
int  nas,
int  nbs,
int  Ia_list,
int  Ja_list,
int  Ja_list_nas 
)
void psi::detci::s2_block_vras ( struct stringwr **  alplist,
struct stringwr **  betlist,
double **  C,
double **  S,
double *  oei,
double *  tei,
double *  F,
int  nlists,
int  nas,
int  nbs,
int  Ia_list,
int  Ja_list,
int  Ja_list_nas 
)
void psi::detci::s2_block_vras_rotf ( int *  Cnt[2],
int **  Ij[2],
int **  Oij[2],
int **  Ridx[2],
signed char **  Sgn[2],
unsigned char **  Toccs,
double **  C,
double **  S,
double *  oei,
double *  tei,
double *  F,
int  nlists,
int  nas,
int  nbs,
int  Ia_list,
int  Ja_list,
int  Ja_list_nas,
struct olsen_graph *  AlphaG,
struct olsen_graph *  BetaG,
struct calcinfo *  CIinfo,
unsigned char ***  Occs 
)
void psi::detci::s3_block_bz ( int  Ialist,
int  Iblist,
int  Jalist,
int  Jblist,
int  nas,
int  nbs,
int  cnas,
double *  tei,
double **  C,
double **  S,
double **  Cprime,
double **  Sprime,
struct calcinfo *  CInfo,
int ***  OV 
)
void psi::detci::s3_block_v ( struct stringwr *  alplist,
struct stringwr *  betlist,
double **  C,
double **  S,
double *  tei,
int  nas,
int  nbs,
int  cnas,
int  Ib_list,
int  Ja_list,
int  Jb_list,
int  Ib_sym,
int  Jb_sym,
double **  Cprime,
double *  F,
double *  V,
double *  Sgn,
int *  L,
int *  R,
int  norbs,
int *  orbsym 
)
void psi::detci::s3_block_vdiag ( struct stringwr *  alplist,
struct stringwr *  betlist,
double **  C,
double **  S,
double *  tei,
int  nas,
int  nbs,
int  cnas,
int  Ib_list,
int  Ja_list,
int  Jb_list,
int  Ib_sym,
int  Jb_sym,
double **  Cprime,
double *  F,
double *  V,
double *  Sgn,
int *  L,
int *  R,
int  norbs,
int *  orbsym 
)
void psi::detci::s3_block_vdiag_rotf ( int *  Cnt[2],
int **  Ij[2],
int **  Ridx[2],
signed char **  Sn[2],
double **  C,
double **  S,
double *  tei,
int  nas,
int  nbs,
int  cnas,
int  Ib_list,
int  Ja_list,
int  Jb_list,
int  Ib_sym,
int  Jb_sym,
double **  Cprime,
double *  F,
double *  V,
double *  Sgn,
int *  L,
int *  R,
int  norbs,
int *  orbsym 
)
void psi::detci::s3_block_vrotf ( int *  Cnt[2],
int **  Ij[2],
int **  Ridx[2],
signed char **  Sn[2],
double **  C,
double **  S,
double *  tei,
int  nas,
int  nbs,
int  cnas,
int  Ib_list,
int  Ja_list,
int  Jb_list,
int  Ib_sym,
int  Jb_sym,
double **  Cprime,
double *  F,
double *  V,
double *  Sgn,
int *  L,
int *  R,
int  norbs,
int *  orbsym 
)
void psi::detci::set_row_ptrs ( int  rows,
int  cols,
double **  matrix 
)
void psi::detci::str_abs2rel ( int  absidx,
int *  relidx,
int *  listnum,
struct olsen_graph *  Graph 
)
int psi::detci::str_rel2abs ( int  relidx,
int  listnum,
struct olsen_graph *  Graph 
)
void psi::detci::stringlist ( struct olsen_graph *  Graph,
struct stringwr **  slist,
int  repl_otf,
unsigned char ***  Occs 
)
void psi::detci::stringset_translate_addr ( StringSet *  sset,
int  new_nel,
int  new_ndrc,
int *  pitz2corr,
struct olsen_graph *  Graph,
int *  new_list,
int *  new_idx 
)
int psi::detci::subgr_lex_addr ( struct level *  head,
int *  occs,
int  nel,
int  norb 
)
void psi::detci::subgr_trav_init ( struct level *  head,
int  ci_orbs,
int **  outarr,
int  walks 
)
void psi::detci::subgr_traverse ( int  i,
int  j 
)
void psi::detci::transp_sigma ( double **  a,
int  rows,
int  cols,
int  phase 
)
void psi::detci::xeax ( double *  x,
double  a,
int  size 
)
void psi::detci::xeaxmy ( double *  x,
double *  y,
double  a,
int  size 
)
void psi::detci::xeaxpby ( double *  x,
double *  y,
double  a,
double  b,
int  size 
)
void psi::detci::xeay ( double *  x,
double  a,
double *  y,
int  size 
)
void psi::detci::xexmy ( double *  x,
double *  y,
int  size 
)
void psi::detci::xexy ( double *  x,
double *  y,
int  size 
)
void psi::detci::xey ( double *  x,
double *  y,
int  size 
)
void psi::detci::xpeay ( double *  x,
double  a,
double *  y,
int  size 
)
void psi::detci::xpey ( double *  x,
double *  y,
int  size 
)

Variable Documentation

int* psi::detci::O
int* psi::detci::sbgr_tr_alist
struct level* psi::detci::sbgr_tr_head
int psi::detci::sbgr_tr_orbs
int** psi::detci::sbgr_tr_out
int psi::detci::sbgr_tr_walks
int * psi::detci::T
int * psi::detci::Tcnt
size_t** psi::detci::Tidx
int** psi::detci::Tij
int ** psi::detci::Toij
signed char** psi::detci::Tsgn
int * psi::detci::U