Psi4
ciwave.h
Go to the documentation of this file.
1 /*
2  * @BEGIN LICENSE
3  *
4  * Psi4: an open-source quantum chemistry software package
5  *
6  * Copyright (c) 2007-2017 The Psi4 Developers.
7  *
8  * The copyrights for code used from other parties are included in
9  * the corresponding files.
10  *
11  * This program is free software; you can redistribute it and/or modify
12  * it under the terms of the GNU General Public License as published by
13  * the Free Software Foundation; either version 2 of the License, or
14  * (at your option) any later version.
15  *
16  * This program is distributed in the hope that it will be useful,
17  * but WITHOUT ANY WARRANTY; without even the implied warranty of
18  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19  * GNU General Public License for more details.
20  *
21  * You should have received a copy of the GNU General Public License along
22  * with this program; if not, write to the Free Software Foundation, Inc.,
23  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24  *
25  * @END LICENSE
26  */
27 
28 #ifndef CIWAVE_H
29 #define CIWAVE_H
30 
31  #include "psi4/pragma.h"
32  PRAGMA_WARNING_PUSH
33  PRAGMA_WARNING_IGNORE_DEPRECATED_DECLARATIONS
34  #include <memory>
38 
39 // From psi4
40 namespace psi {
41 class Options;
42 class JK;
43 class DFERI;
44 class IntegralTransform;
45 class MOSpace;
46 typedef std::shared_ptr<Matrix> SharedMatrix;
47 typedef std::shared_ptr<Matrix> SharedMatrix;
48 class SOMCSCF;
49 
50 // Well this is not ideal
53 }
54 
55 // From the detci module
56 namespace psi { namespace detci {
57 class CIvect;
58 class SlaterDeterminant;
59 struct calcinfo;
60 struct params;
61 struct stringwr;
62 struct ci_blks;
63 struct olsen_graph;
64 struct graph_set;
65 struct H_zero_block;
66 struct detci_timings;
67 struct mcscf_params;
68 typedef std::shared_ptr<psi::detci::CIvect> SharedCIVector;
69 }}
70 
71 namespace psi { namespace detci {
72 
73 
75 {
76 
77 public:
78  CIWavefunction(std::shared_ptr<Wavefunction> reference_wavefunction);
79  CIWavefunction(std::shared_ptr<Wavefunction> reference_wavefunction, Options &options);
80  virtual ~CIWavefunction();
81 
82 
83  double compute_energy();
84 
86  size_t ndet();
87 
94  SharedMatrix get_orbitals(const std::string &orbital_name);
95 
102  void set_orbitals(const std::string& orbital_name, SharedMatrix orbitals);
103 
109  Dimension get_dimension(const std::string& orbital_name);
110 
114  void transform_ci_integrals(void);
115 
119  void transform_mcscf_integrals(bool approx_only);
120 
128  SharedVector twoel_out);
129 
137 
145 
156  SharedMatrix get_opdm(int Iroot=-1, int Jroot=-1, const std::string& spin="SUM",
157  bool full_space=false);
158 
167  std::vector<SharedMatrix> opdm(SharedCIVector Ivec, SharedCIVector Jvec,
168  int Iroot, int Jroot);
169 
178  SharedMatrix get_tpdm(const std::string& spin = "SUM", bool symmetrize=true);
179 
188  std::vector<SharedMatrix> tpdm(SharedCIVector Ivec, SharedCIVector Jvec, int Iroot,
189  int Jroot);
190 
199  SharedCIVector new_civector(int maxnvect, int filenum, bool use_disk=true,
200  bool buf_init=true);
206 
218  SharedCIVector Hd_vector(int hd_type = -1);
219 
227  void sigma(SharedCIVector C, SharedCIVector S, int cvec, int svec);
228 
238  void sigma(SharedCIVector C, SharedCIVector S, int cvec, int svec,
239  SharedVector oei, SharedVector tei);
240 
246  void print_vector(SharedCIVector vec, int root);
247 
251  void compute_state_transfer(SharedCIVector ref, int ref_vec,
252  SharedMatrix prop, SharedCIVector ret);
253 
254  // Compute functions
255  void compute_cc();
256  int diag_h(double econv = -1.0, double rconv = -1.0);
257  void compute_mpn();
258 
259  // Build CI quantities
260 
264  void form_opdm();
265 
269  void form_tpdm();
270 
274  void ci_nat_orbs();
275 
276  // Cleanup Functions
277 
281  void cleanup_ci();
282 
286  void cleanup_dpd();
287 
292  void set_ci_guess(std::string guess);
293 
294  // Returns a new SOMCSCF object
295  std::shared_ptr<SOMCSCF> mcscf_object();
296 
298 
305  SharedMatrix hamiltonian(size_t hsize = 0);
306 
307 private:
308 
310 
312  void get_mo_info();
313  void get_parameters(Options &options);
314  void print_parameters();
315  void set_ras_parameters();
316  void print_ras_parameters();
317 
318  // General setup
319  void title(bool is_mcscf);
320  void form_strings();
321  void set_ciblks();
322  void convergence_death();
323 
325  void common_init();
327 
329  void orbital_locations(const std::string& orbital_name, int* start, int* end);
330 
333 
339  std::shared_ptr<IntegralTransform> ints_; // Non-DF
340  std::shared_ptr<MOSpace> rot_space_;
341  std::shared_ptr<MOSpace> act_space_;
342  std::shared_ptr<DFERI> dferi_; // DF
343  std::shared_ptr<JK> jk_;
344  std::shared_ptr<SOMCSCF> somcscf_;
345 
347  void init_mcscf_object();
348  void tf_onel_ints(SharedVector onel, SharedVector twoel, SharedVector output);
349  void form_gmat(SharedVector onel, SharedVector twoel, SharedVector output);
350  void onel_ints_from_jk();
351  double get_twoel(int i, int j, int k, int l);
352  double get_onel(int i, int j);
353 
355  void setup_mcscf_ints();
356  void transform_mcscf_ints(bool approx_only = false);
357  void read_dpd_ci_ints();
359 
361  void setup_dfmcscf_ints();
362  void transform_dfmcscf_ints(bool approx_only = false);
364 
367  void transform_mcscf_ints_ao(bool approx_only = false);
368  void setup_mcscf_ints_ao();
371 
373  struct stringwr **alplist_;
374  struct stringwr **betlist_;
377  struct ci_blks *CIblks_;
382  int ***OV_;
383  unsigned char ***Occs_;
384 
386  void H0block_init(unsigned int size);
387  void H0block_free(void);
388  void H0block_print(void);
389  int H0block_calc(double E);
390  void H0block_gather(double **mat, int al, int bl, int cscode, int mscode, int phase);
391  void H0block_xy(double *x, double *y, double E);
392  void H0block_setup(int num_blocks, int *Ia_code, int *Ib_code);
393  void H0block_pairup(int guess);
394  void H0block_spin_cpl_chk(void);
395  void H0block_filter_setup(void);
396  void H0block_fill(void);
397  void H0block_coupling_calc(double E);
398  std::string print_config(int nbf, int num_alp_el, int num_bet_el,
399  struct stringwr *stralp, struct stringwr *strbet, int num_drc_orbs);
400 
407  int **I_diff_, **J_diff_;
408 
410  void mitrush_iter(CIvect &Hd, struct stringwr **alplist, struct stringwr
411  **betlist, int nroots, double *evals, double conv_rms, double conv_e,
412  double enuc, double edrc, int maxiter, int maxnvect);
413  void olsen_update(CIvect &C, CIvect &S, CIvect &Hd, double E, double E_est,
414  double *norm, double *c1norm, double *ovrlap, double *buffer1,
415  double *buffer2,
416  int curr, int next, std::string out, int iter, struct stringwr **alplist,
417  struct stringwr **betlist);
418  void olsen_iter_xy(CIvect &C, CIvect &S, CIvect &Hd, double *x, double *y,
419  double *buffer1, double *buffer2, double E, int curvect, int L,
420  double **alpha, struct stringwr **alplist, struct stringwr **betlist);
421  void mitrush_update(CIvect &C, CIvect &S, double norm, double acur,
422  double alast, double *buffer1, double *buffer2, int curr, int next);
423 
424  void sem_iter(CIvect &Hd, struct stringwr **alplist, struct stringwr
425  **betlist, double *evals, double conv_e,
426  double conv_rms, double enuc, double edrc,
427  int nroots, int maxiter, int maxnvect);
428  void parse_import_vector(SlaterDetSet *sdset, int *ialplist, int *ialpidx,
429  int *ibetlist, int *ibetidx, int *blknums);
430  void sem_test(double **A, int N, int M, int L, double **evecs, double *evals,
431  double **b, double conv_e, double conv_rms, int maxiter, double offst,
432  int *vu, int maxnvect);
433 
436  void sigma_init(CIvect& C, CIvect &S);
437  void sigma_free(void);
438  void sigma(CIvect& C, CIvect& S, double *oei, double *tei, int ivec);
439 
440  void sigma_a(struct stringwr **alplist, struct stringwr **betlist,
441  CIvect& C, CIvect& S, double *oei, double *tei, int fci, int ivec);
442  void sigma_b(struct stringwr **alplist, struct stringwr **betlist,
443  CIvect& C, CIvect& S, double *oei, double *tei, int fci, int ivec);
444  void sigma_c(struct stringwr **alplist, struct stringwr **betlist,
445  CIvect& C, CIvect& S, double *oei, double *tei, int fci, int ivec);
446 
447  void sigma_block(struct stringwr **alplist, struct stringwr **betlist,
448  double **cmat, double **smat, double *oei, double *tei, int fci,
449  int cblock, int sblock, int nas, int nbs, int sac, int sbc,
450  int cac, int cbc, int cnas, int cnbs, int cnac, int cnbc,
451  int sbirr, int cbirr, int Ms0);
452  void sigma_get_contrib(struct stringwr **alplist, struct stringwr **betlist,
453  CIvect &C, CIvect &S, int **s1_contrib, int **s2_contrib,
454  int **s3_contrib);
455  void form_ov();
457  int **s1_contrib, int **s2_contrib, int **s3_contrib,
458  int *Cnt[2], int **Ij[2], int **Oij[2], int **Ridx[2],
459  signed char **Sgn[2], unsigned char **Toccs);
460 
461  void print_vec(unsigned int nprint, int *Ialist, int *Iblist,
462  int *Iaidx, int *Ibidx, double *coeff);
463 
465 
466 
468  void mpn_generator(CIvect &Hd);
469 
471  std::vector<std::vector<SharedMatrix> > opdm(SharedCIVector Ivec, SharedCIVector Jvec,
472  std::vector<std::tuple<int, int> > states_vec);
473  SharedMatrix opdm_add_inactive(SharedMatrix opdm, double value, bool virt=false);
474  void opdm_block(struct stringwr **alplist, struct stringwr **betlist,
475  double **onepdm_a, double **onepdm_b, double **CJ, double **CI, int Ja_list,
476  int Jb_list, int Jnas, int Jnbs, int Ia_list, int Ib_list,
477  int Inas, int Inbs);
478 
479  // OPDM holders, opdm_map holds lots of active-active opdms
480  // opdm_, opdm_a_, etc are for "the" current OPDM
482  std::map<std::string, SharedMatrix> opdm_map_;
486 
487  std::vector<SharedMatrix> tpdm(SharedCIVector Ivec, SharedCIVector Jvec,
488  std::vector<std::tuple<int, int, double> > states_vec);
489  void tpdm_block(struct stringwr **alplist, struct stringwr **betlist,
490  int nbf, int nalplists, int nbetlists,
491  double *twopdm_aa, double *twopdm_bb, double *twopdm_ab, double **CJ, double **CI, int Ja_list,
492  int Jb_list, int Jnas, int Jnbs, int Ia_list, int Ib_list,
493  int Inas, int Inbs, double weight);
494 
500 
501 }; // End CIWavefunction
502 
503 }}
504 
505 #endif // CIWAVE_H
void olsen_iter_xy(CIvect &C, CIvect &S, CIvect &Hd, double *x, double *y, double *buffer1, double *buffer2, double E, int curvect, int L, double **alpha, struct stringwr **alplist, struct stringwr **betlist)
Definition: mitrush_iter.cc:636
void print_vec(unsigned int nprint, int *Ialist, int *Iblist, int *Iaidx, int *Ibidx, double *coeff)
Definition: printing.cc:69
void rotate_mcscf_integrals(SharedMatrix K, SharedVector onel_out, SharedVector twoel_out)
Definition: ints.cc:157
Definition: ciwave.h:74
void cleanup_ci()
Definition: ciwave.cc:449
Options & options() const
Definition: wavefunction.cc:400
std::map< std::string, SharedMatrix > opdm_map_
Definition: ciwave.h:482
SharedMatrix S() const
Returns the overlap matrix.
Definition: wavefunction.h:367
double get_onel(int i, int j)
Definition: ints.cc:884
struct params * Parameters_
Definition: ciwave.h:376
void set_ci_guess(std::string guess)
Definition: ciwave.cc:496
Definition: civect.h:62
struct stringwr ** betlist_
Definition: ciwave.h:374
struct ci_blks * CIblks_
Definition: ciwave.h:377
void sigma_free(void)
Definition: sigma.cc:264
SharedMatrix tei_aaaa_
Definition: ciwave.h:370
SharedCIVector D_vector()
Definition: ciwave.cc:539
void get_mo_info()
=&gt; General Helper Functions &lt;= ///
Definition: get_mo_info.cc:67
void opdm_block(struct stringwr **alplist, struct stringwr **betlist, double **onepdm_a, double **onepdm_b, double **CJ, double **CI, int Ja_list, int Jb_list, int Jnas, int Jnbs, int Ia_list, int Ib_list, int Inas, int Inbs)
Definition: detci/opdm.cc:512
void H0block_print(void)
Definition: h0block.cc:144
bool opdm_called_
Definition: ciwave.h:481
int ** s1_contrib_
Definition: ciwave.h:381
void sigma_block(struct stringwr **alplist, struct stringwr **betlist, double **cmat, double **smat, double *oei, double *tei, int fci, int cblock, int sblock, int nas, int nbs, int sac, int sbc, int cac, int cbc, int cnas, int cnbs, int cnac, int cnbc, int sbirr, int cbirr, int Ms0)
Definition: sigma.cc:666
void form_opdm()
Definition: detci/opdm.cc:54
void orbital_locations(const std::string &orbital_name, int *start, int *end)
Find out which orbitals belong hwere.
Definition: ciwave.cc:174
void sigma(SharedCIVector C, SharedCIVector S, int cvec, int svec)
Definition: sigma.cc:317
int H0block_calc(double E)
Definition: h0block.cc:161
Dimension get_dimension(const std::string &orbital_name)
Definition: ciwave.cc:319
void H0block_pairup(int guess)
Definition: h0block.cc:427
struct stringwr ** alplist_
=&gt; Globals &lt;= //
Definition: ciwave.h:373
void transform_mcscf_integrals(bool approx_only)
Definition: ints.cc:147
int ** s3_contrib_
Definition: ciwave.h:381
void H0block_free(void)
Definition: h0block.cc:109
void H0block_fill(void)
Definition: h0block.cc:658
void parse_import_vector(SlaterDetSet *sdset, int *ialplist, int *ialpidx, int *ibetlist, int *ibetidx, int *blknums)
Definition: import_vector.cc:70
Definition: structs.h:324
int * common_docc_
Definition: ciwave.h:405
int init_nalp_
Definition: ciwave.h:406
int * common_bet_socc_
Definition: ciwave.h:405
Definition: structs.h:280
SharedMatrix get_opdm(int Iroot=-1, int Jroot=-1, const std::string &spin="SUM", bool full_space=false)
Definition: ciwave.cc:336
void compute_state_transfer(SharedCIVector ref, int ref_vec, SharedMatrix prop, SharedCIVector ret)
Definition: ciwave.cc:687
void form_tpdm()
Definition: tpdm.cc:53
void transform_ci_integrals(void)
Definition: ints.cc:74
void setup_mcscf_ints_ao()
Definition: ints.cc:384
void transform_mcscf_ints_ao(bool approx_only=false)
Definition: ints.cc:418
void rotate_dfmcscf_twoel_ints(SharedMatrix K, SharedVector twoel_out)
Definition: ints.cc:722
Definition: structs.h:649
SharedMatrix opdm_add_inactive(SharedMatrix opdm, double value, bool virt=false)
Definition: detci/opdm.cc:167
SharedMatrix tei_raaa_
Definition: ciwave.h:369
Definition: structs.h:627
int ** I_diff_
Definition: ciwave.h:407
void setup_dfmcscf_ints()
DF integral functions.
Definition: ints.cc:126
void form_gmat(SharedVector onel, SharedVector twoel, SharedVector output)
Definition: ints.cc:955
Definition: pointgrp.h:105
void sigma_get_contrib_rotf(CIvect &C, CIvect &S, int **s1_contrib, int **s2_contrib, int **s3_contrib, int *Cnt[2], int **Ij[2], int **Oij[2], int **Ridx[2], signed char **Sgn[2], unsigned char **Toccs)
Definition: sigma.cc:914
void onel_ints_from_jk()
Definition: ints.cc:1001
double compute_energy()
Compute energy. Subclasses override this function to compute its energy.
Definition: ciwave.cc:136
SharedMatrix symm_block(SharedMatrix x, Dimension dim1, Dimension dim2)
Symmetry block a matrix.
bool fzc_fock_computed_
Definition: ciwave.h:338
int diag_h(double econv=-1.0, double rconv=-1.0)
Definition: diag_h.cc:57
std::shared_ptr< IntegralTransform > ints_
Definition: ciwave.h:339
SharedMatrix tpdm_
Definition: ciwave.h:496
double get_twoel(int i, int j, int k, int l)
Definition: ints.cc:896
void mitrush_update(CIvect &C, CIvect &S, double norm, double acur, double alast, double *buffer1, double *buffer2, int curr, int next)
Definition: mitrush_iter.cc:709
bool cleaned_up_ci_
Definition: ciwave.h:326
std::shared_ptr< MOSpace > rot_space_
Definition: ciwave.h:340
void sem_test(double **A, int N, int M, int L, double **evecs, double *evals, double **b, double conv_e, double conv_rms, int maxiter, double offst, int *vu, int maxnvect)
Definition: sem_test.cc:126
unsigned char *** Occs_
Definition: ciwave.h:383
void H0block_filter_setup(void)
Definition: h0block.cc:601
void compute_mpn()
Definition: compute_mpn.cc:68
void setup_mcscf_ints()
Non-DF integral functions.
Definition: ints.cc:312
void set_ras_parameters()
Definition: params.cc:964
void ci_nat_orbs()
Definition: detci/opdm.cc:574
void init_mcscf_object()
General transforms.
Definition: ciwave.cc:624
bool tpdm_called_
Definition: ciwave.h:495
int ** J_diff_
Definition: ciwave.h:407
size_t ndet()
Simple accessors.
Definition: ciwave.cc:134
SharedMatrix tpdm_ab_
Definition: ciwave.h:498
void set_orbitals(const std::string &orbital_name, SharedMatrix orbitals)
Definition: ciwave.cc:292
void sigma_get_contrib(struct stringwr **alplist, struct stringwr **betlist, CIvect &C, CIvect &S, int **s1_contrib, int **s2_contrib, int **s3_contrib)
Definition: sigma.cc:807
std::shared_ptr< SOMCSCF > somcscf_
Definition: ciwave.h:344
double matrix_element(SlaterDeterminant *I, SlaterDeterminant *J)
=&gt; Slater Matrix Elements &lt;= //
Definition: slater_matel.cc:52
void pitzer_to_ci_order_twoel(SharedMatrix src, SharedVector dest)
Definition: ints.cc:1094
void H0block_coupling_calc(double E)
Definition: h0block.cc:733
struct H_zero_block * H0block_
Definition: ciwave.h:380
void convergence_death()
Definition: ciwave.cc:378
void H0block_spin_cpl_chk(void)
Definition: h0block.cc:486
SharedMatrix opdm_a_
Definition: ciwave.h:484
std::shared_ptr< DFERI > dferi_
Definition: ciwave.h:342
SharedMatrix tpdm_bb_
Definition: ciwave.h:499
SharedMatrix opdm_b_
Definition: ciwave.h:485
std::shared_ptr< MOSpace > act_space_
Definition: ciwave.h:341
int sme_first_call_
Definition: ciwave.h:403
std::vector< SharedMatrix > opdm(SharedCIVector Ivec, SharedCIVector Jvec, int Iroot, int Jroot)
Definition: detci/opdm.cc:203
SharedWavefunction detci(SharedWavefunction, Options &)
Definition: detci.cc:64
void print_parameters()
Definition: params.cc:733
SharedMatrix get_tpdm(const std::string &spin="SUM", bool symmetrize=true)
Definition: ciwave.cc:384
PRAGMA_WARNING_PUSH PRAGMA_WARNING_IGNORE_DEPRECATED_DECLARATIONS PRAGMA_WARNING_POP
Definition: integraliter.cc:42
std::shared_ptr< psi::detci::CIvect > SharedCIVector
Definition: civect.h:45
std::shared_ptr< SOMCSCF > mcscf_object()
Definition: ciwave.cc:659
SharedCIVector new_civector(int maxnvect, int filenum, bool use_disk=true, bool buf_init=true)
Definition: ciwave.cc:532
Definition: dimension.h:39
void sigma_c(struct stringwr **alplist, struct stringwr **betlist, CIvect &C, CIvect &S, double *oei, double *tei, int fci, int ivec)
Definition: sigma.cc:556
bool df_ints_init_
Definition: ciwave.h:336
Definition: liboptions.h:359
void get_parameters(Options &options)
Definition: params.cc:61
void print_ras_parameters()
Definition: params.cc:1412
void common_init()
Sets the ciwavefunction object.
Definition: ciwave.cc:70
void H0block_setup(int num_blocks, int *Ia_code, int *Ib_code)
Definition: h0block.cc:370
void H0block_xy(double *x, double *y, double E)
Definition: h0block.cc:329
void H0block_gather(double **mat, int al, int bl, int cscode, int mscode, int phase)
Definition: h0block.cc:294
void mitrush_iter(CIvect &Hd, struct stringwr **alplist, struct stringwr **betlist, int nroots, double *evals, double conv_rms, double conv_e, double enuc, double edrc, int maxiter, int maxnvect)
=&gt; CI Iterators &lt;= //
Definition: mitrush_iter.cc:80
void olsen_update(CIvect &C, CIvect &S, CIvect &Hd, double E, double E_est, double *norm, double *c1norm, double *ovrlap, double *buffer1, double *buffer2, int curr, int next, std::string out, int iter, struct stringwr **alplist, struct stringwr **betlist)
Definition: mitrush_iter.cc:543
Definition: structs.h:149
void sigma_b(struct stringwr **alplist, struct stringwr **betlist, CIvect &C, CIvect &S, double *oei, double *tei, int fci, int ivec)
Definition: sigma.cc:472
SharedCIVector Hd_vector(int hd_type=-1)
Definition: ciwave.cc:543
std::shared_ptr< Matrix > SharedMatrix
Definition: adc.h:50
int init_nbet_
Definition: ciwave.h:406
bool ints_init_
=&gt; Integrals &lt;= ///
Definition: ciwave.h:335
void set_ciblks()
Definition: set_ciblks.cc:46
std::string print_config(int nbf, int num_alp_el, int num_bet_el, struct stringwr *stralp, struct stringwr *strbet, int num_drc_orbs)
Definition: printing.cc:122
CIWavefunction(std::shared_ptr< Wavefunction > reference_wavefunction)
Definition: ciwave.cc:48
std::shared_ptr< Wavefunction > reference_wavefunction() const
Returns the reference wavefunction.
Definition: wavefunction.cc:453
int * same_alpha_
Definition: ciwave.h:404
Simple wavefunction base class.
Definition: wavefunction.h:85
bool mcscf_object_init_
Definition: ciwave.h:337
Definition: slaterdset.h:82
void tpdm_block(struct stringwr **alplist, struct stringwr **betlist, int nbf, int nalplists, int nbetlists, double *twopdm_aa, double *twopdm_bb, double *twopdm_ab, double **CJ, double **CI, int Ja_list, int Jb_list, int Jnas, int Jnbs, int Ia_list, int Ib_list, int Inas, int Inbs, double weight)
Definition: tpdm.cc:455
struct sigma_data * SigmaData_
=&gt; Sigma Calculations &lt;= //
Definition: ciwave.h:435
SharedMatrix tpdm_aa_
Definition: ciwave.h:497
struct olsen_graph * BetaG_
Definition: ciwave.h:379
SharedMatrix hamiltonian(size_t hsize=0)
Functions below this line should be used for debug use only.
Definition: ciwave.cc:554
struct olsen_graph * AlphaG_
Definition: ciwave.h:378
void sigma_a(struct stringwr **alplist, struct stringwr **betlist, CIvect &C, CIvect &S, double *oei, double *tei, int fci, int ivec)
Definition: sigma.cc:353
SharedMatrix get_orbitals(const std::string &orbital_name)
Definition: ciwave.cc:263
_SlaterDetSet SlaterDetSet
Definition: ciwave.h:51
virtual ~CIWavefunction()
Definition: ciwave.cc:65
EXTERN struct Params params
Definition: ccdensity/globals.h:53
void print_vector(SharedCIVector vec, int root)
Definition: ciwave.cc:667
Definition: pointgrp.h:105
void sem_iter(CIvect &Hd, struct stringwr **alplist, struct stringwr **betlist, double *evals, double conv_e, double conv_rms, double enuc, double edrc, int nroots, int maxiter, int maxnvect)
Definition: sem.cc:61
Definition: structs.h:424
void rotate_mcscf_twoel_ints(SharedMatrix K, SharedVector twoel_out)
Definition: ints.cc:786
void H0block_init(unsigned int size)
=&gt; H0block functions &lt;= //
Definition: h0block.cc:60
void transform_dfmcscf_ints(bool approx_only=false)
Definition: ints.cc:218
std::vector< SharedMatrix > tpdm(SharedCIVector Ivec, SharedCIVector Jvec, int Iroot, int Jroot)
Definition: tpdm.cc:81
void title(bool is_mcscf)
Definition: ciwave.cc:508
void sigma_init(CIvect &C, CIvect &S)
Definition: sigma.cc:135
Definition: PsiFileImpl.h:38
void transform_mcscf_ints(bool approx_only=false)
Definition: ints.cc:601
void mpn_generator(CIvect &Hd)
=&gt; MCSCF helpers &lt;= //
Definition: compute_mpn.cc:174
int * same_beta_
Definition: ciwave.h:404
SharedMatrix opdm_
Definition: ciwave.h:483
std::shared_ptr< JK > jk_
Definition: ciwave.h:343
void form_ov()
Definition: form_ov.cc:51
struct calcinfo * CalcInfo_
Definition: ciwave.h:375
void pitzer_to_ci_order_onel(SharedMatrix src, SharedVector dest)
Definition: ints.cc:1067
void read_dpd_ci_ints()
Definition: ints.cc:644
Definition: slaterd.h:65
void cleanup_dpd()
Definition: ciwave.cc:485
void compute_cc()
Definition: compute_cc.cc:59
int *** OV_
Definition: ciwave.h:382
std::shared_ptr< Vector > SharedVector
Definition: adc.h:52
int ** s2_contrib_
Definition: ciwave.h:381
void form_strings()
Definition: olsengraph.cc:85
void tf_onel_ints(SharedVector onel, SharedVector twoel, SharedVector output)
Definition: ints.cc:912
int * common_alp_socc_
Definition: ciwave.h:405
Definition: structs.h:184