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-2018 The Psi4 Developers.
7  *
8  * The copyrights for code used from other parties are included in
9  * the corresponding files.
10  *
11  * This file is part of Psi4.
12  *
13  * Psi4 is free software; you can redistribute it and/or modify
14  * it under the terms of the GNU Lesser General Public License as published by
15  * the Free Software Foundation, version 3.
16  *
17  * Psi4 is distributed in the hope that it will be useful,
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20  * GNU Lesser General Public License for more details.
21  *
22  * You should have received a copy of the GNU Lesser General Public License along
23  * with Psi4; if not, write to the Free Software Foundation, Inc.,
24  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
25  *
26  * @END LICENSE
27  */
28 
29 #ifndef CIWAVE_H
30 #define CIWAVE_H
31 
32 #include "psi4/pragma.h"
33 PRAGMA_WARNING_PUSH
34 PRAGMA_WARNING_IGNORE_DEPRECATED_DECLARATIONS
35 #include <memory>
39 
40 // From psi4
41 namespace psi {
42 class Options;
43 class JK;
44 class IntegralTransform;
45 class MOSpace;
46 typedef std::shared_ptr<Matrix> SharedMatrix;
47 class SOMCSCF;
48 class DFHelper;
49 
50 // Well this is not ideal
53 } // namespace psi
54 
55 // From the detci module
56 namespace psi {
57 namespace detci {
58 class CIvect;
59 class SlaterDeterminant;
60 struct calcinfo;
61 struct params;
62 struct stringwr;
63 struct ci_blks;
64 struct olsen_graph;
65 struct H_zero_block;
66 typedef std::shared_ptr<psi::detci::CIvect> SharedCIVector;
67 } // namespace detci
68 } // namespace psi
69 
70 namespace psi {
71 namespace detci {
72 
73 class CIWavefunction : public Wavefunction {
74  public:
75  CIWavefunction(std::shared_ptr<Wavefunction> reference_wavefunction, Options &options);
76  explicit CIWavefunction(std::shared_ptr<Wavefunction> reference_wavefunction);
77  virtual ~CIWavefunction();
78 
79  double compute_energy();
80 
82  size_t ndet();
83 
90  SharedMatrix get_orbitals(const std::string &orbital_name);
91 
98  void set_orbitals(const std::string &orbital_name, SharedMatrix orbitals);
99 
105  Dimension get_dimension(const std::string &orbital_name);
106 
110  void transform_ci_integrals();
111 
115  void transform_mcscf_integrals(bool approx_only);
116 
123  void rotate_mcscf_integrals(SharedMatrix K, SharedVector onel_out, SharedVector twoel_out);
124 
132 
140 
151  SharedMatrix get_opdm(int Iroot = -1, int Jroot = -1, const std::string &spin = "SUM", bool full_space = false);
152 
161  std::vector<SharedMatrix> opdm(SharedCIVector Ivec, SharedCIVector Jvec, int Iroot, int Jroot);
162 
172  SharedMatrix get_tpdm(const std::string &spin = "SUM", bool symmetrize = true);
173 
182  std::vector<SharedMatrix> tpdm(SharedCIVector Ivec, SharedCIVector Jvec, int Iroot, int Jroot);
183 
192  SharedCIVector new_civector(int maxnvect, int filenum, bool use_disk = true, bool buf_init = true);
198 
210  SharedCIVector Hd_vector(int hd_type = -1);
211 
219  void sigma(SharedCIVector C, SharedCIVector S, int cvec, int svec);
220 
230  void sigma(SharedCIVector C, SharedCIVector S, int cvec, int svec, SharedVector oei, SharedVector tei);
231 
237  void print_vector(SharedCIVector vec, int root);
238 
242  void compute_state_transfer(SharedCIVector ref, int ref_vec, SharedMatrix prop, SharedCIVector ret);
243 
244  // Compute functions
245  void compute_cc();
246  int diag_h(double econv = -1.0, double rconv = -1.0);
247  void compute_mpn();
248 
249  // Build CI quantities
250 
254  void form_opdm();
255 
259  void form_tpdm();
260 
264  void ci_nat_orbs();
265 
269  void semicanonical_orbs();
270 
271  // Cleanup Functions
272 
276  void cleanup_ci();
277 
281  void cleanup_dpd();
282 
287  void set_ci_guess(std::string guess);
288 
289  // Returns a new SOMCSCF object
290  std::shared_ptr<SOMCSCF> mcscf_object();
291 
293 
300  SharedMatrix hamiltonian(size_t hsize = 0);
301 
302  private:
304 
306  void get_mo_info();
307  void get_parameters(Options &options);
308  void print_parameters();
309  void set_ras_parameters();
310  void print_ras_parameters();
311 
312  // General setup
313  void title(bool is_mcscf);
314  void form_strings();
315  void set_ciblks();
316  void convergence_death();
317 
319  void common_init();
321 
323  void orbital_locations(const std::string &orbital_name, int *start, int *end);
324 
327 
333  std::shared_ptr<IntegralTransform> ints_; // Non-DF
334  std::shared_ptr<MOSpace> rot_space_;
335  std::shared_ptr<MOSpace> act_space_;
336  std::shared_ptr<DFHelper> dfh_; // DF
337  std::shared_ptr<JK> jk_;
338  std::shared_ptr<SOMCSCF> somcscf_;
339 
341  void init_mcscf_object();
342  void tf_onel_ints(SharedVector onel, SharedVector twoel, SharedVector output);
343  void form_gmat(SharedVector onel, SharedVector twoel, SharedVector output);
344  void onel_ints_from_jk();
345  double get_twoel(int i, int j, int k, int l);
346  double get_onel(int i, int j);
347 
349  void setup_mcscf_ints();
350  void transform_mcscf_ints(bool approx_only = false);
351  void read_dpd_ci_ints();
353 
355  void setup_dfmcscf_ints();
356  void transform_dfmcscf_ints(bool approx_only = false);
358 
361  void transform_mcscf_ints_ao(bool approx_only = false);
362  void setup_mcscf_ints_ao();
365 
367  struct stringwr **alplist_;
368  struct stringwr **betlist_;
371  struct ci_blks *CIblks_;
376  int ***OV_;
377  unsigned char ***Occs_;
378 
380  void H0block_init(size_t size);
381  void H0block_free();
382  void H0block_print();
383  int H0block_calc(double E);
384  void H0block_gather(double **mat, int al, int bl, int cscode, int mscode, int phase);
385  void H0block_xy(double *x, double *y, double E);
386  void H0block_setup(int num_blocks, int *Ia_code, int *Ib_code);
387  void H0block_pairup(int guess);
388  void H0block_spin_cpl_chk();
389  void H0block_filter_setup();
390  void H0block_fill();
391  void H0block_coupling_calc(double E);
392  std::string print_config(int nbf, int num_alp_el, int num_bet_el, struct stringwr *stralp, struct stringwr *strbet,
393  int num_drc_orbs);
394 
401  int **I_diff_, **J_diff_;
402 
404  void mitrush_iter(CIvect &Hd, struct stringwr **alplist, struct stringwr **betlist, int nroots, double *evals,
405  double conv_rms, double conv_e, double enuc, double edrc, int maxiter, int maxnvect);
406  void olsen_update(CIvect &C, CIvect &S, CIvect &Hd, double E, double E_est, double *norm, double *c1norm,
407  double *ovrlap, double *buffer1, double *buffer2, int curr, int next, std::string out, int iter,
408  struct stringwr **alplist, struct stringwr **betlist);
409  void olsen_iter_xy(CIvect &C, CIvect &S, CIvect &Hd, double *x, double *y, double *buffer1, double *buffer2,
410  double E, int curvect, int L, double **alpha, struct stringwr **alplist,
411  struct stringwr **betlist);
412  void mitrush_update(CIvect &C, CIvect &S, double norm, double acur, double alast, double *buffer1, double *buffer2,
413  int curr, int next);
414 
415  void sem_iter(CIvect &Hd, struct stringwr **alplist, struct stringwr **betlist, double *evals, double conv_e,
416  double conv_rms, double enuc, double edrc, int nroots, int maxiter, int maxnvect);
417  void parse_import_vector(SlaterDetSet *sdset, int *ialplist, int *ialpidx, int *ibetlist, int *ibetidx,
418  int *blknums);
419  void sem_test(double **A, int N, int M, int L, double **evecs, double *evals, double **b, double conv_e,
420  double conv_rms, int maxiter, double offst, int *vu, int maxnvect);
421 
424  void sigma_init(CIvect &C, CIvect &S);
425  void sigma_free();
426  void sigma(CIvect &C, CIvect &S, double *oei, double *tei, int ivec);
427 
428  void sigma_a(struct stringwr **alplist, struct stringwr **betlist, CIvect &C, CIvect &S, double *oei, double *tei,
429  int fci, int ivec);
430  void sigma_b(struct stringwr **alplist, struct stringwr **betlist, CIvect &C, CIvect &S, double *oei, double *tei,
431  int fci, int ivec);
432  void sigma_c(struct stringwr **alplist, struct stringwr **betlist, CIvect &C, CIvect &S, double *oei, double *tei,
433  int fci, int ivec);
434 
435  void sigma_block(struct stringwr **alplist, struct stringwr **betlist, double **cmat, double **smat, double *oei,
436  double *tei, int fci, int cblock, int sblock, int nas, int nbs, int sac, int sbc, int cac, int cbc,
437  int cnas, int cnbs, int cnac, int cnbc, int sbirr, int cbirr, int Ms0);
438  void sigma_get_contrib(struct stringwr **alplist, struct stringwr **betlist, CIvect &C, CIvect &S, int **s1_contrib,
439  int **s2_contrib, int **s3_contrib);
440  void form_ov();
441  void sigma_get_contrib_rotf(CIvect &C, CIvect &S, int **s1_contrib, int **s2_contrib, int **s3_contrib, int *Cnt[2],
442  int **Ij[2], int **Oij[2], int **Ridx[2], signed char **Sgn[2], unsigned char **Toccs);
443 
444  void print_vec(size_t nprint, int *Ialist, int *Iblist, int *Iaidx, int *Ibidx, double *coeff);
445 
447 
449  void mpn_generator(CIvect &Hd);
450 
452  std::vector<std::vector<SharedMatrix> > opdm(SharedCIVector Ivec, SharedCIVector Jvec,
453  std::vector<std::tuple<int, int> > states_vec);
454  SharedMatrix opdm_add_inactive(SharedMatrix opdm, double value, bool virt = false);
455  void opdm_block(struct stringwr **alplist, struct stringwr **betlist, double **onepdm_a, double **onepdm_b,
456  double **CJ, double **CI, int Ja_list, int Jb_list, int Jnas, int Jnbs, int Ia_list, int Ib_list,
457  int Inas, int Inbs);
458 
459  // OPDM holders, opdm_map holds lots of active-active opdms
460  // opdm_, opdm_a_, etc are for "the" current OPDM
462  std::map<std::string, SharedMatrix> opdm_map_;
466 
467  std::vector<SharedMatrix> tpdm(SharedCIVector Ivec, SharedCIVector Jvec,
468  std::vector<std::tuple<int, int, double> > states_vec);
469  void tpdm_block(struct stringwr **alplist, struct stringwr **betlist, int nbf, int nalplists, int nbetlists,
470  double *twopdm_aa, double *twopdm_bb, double *twopdm_ab, double **CJ, double **CI, int Ja_list,
471  int Jb_list, int Jnas, int Jnbs, int Ia_list, int Ib_list, int Inas, int Inbs, double weight);
472 
478 
479 }; // End CIWavefunction
480 
481 } // namespace detci
482 } // namespace psi
483 
484 #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:619
void H0block_print()
Definition: h0block.cc:148
void rotate_mcscf_integrals(SharedMatrix K, SharedVector onel_out, SharedVector twoel_out)
Definition: ints.cc:170
void H0block_filter_setup()
Definition: h0block.cc:595
Definition: ciwave.h:73
void cleanup_ci()
Definition: ciwave.cc:445
Options & options() const
Definition: wavefunction.cc:572
std::map< std::string, SharedMatrix > opdm_map_
Definition: ciwave.h:462
void H0block_fill()
Definition: h0block.cc:652
SharedMatrix S() const
Returns the overlap matrix.
Definition: wavefunction.h:407
double get_onel(int i, int j)
Definition: ints.cc:841
struct params * Parameters_
Definition: ciwave.h:370
void set_ci_guess(std::string guess)
Definition: ciwave.cc:488
Definition: civect.h:64
struct stringwr ** betlist_
Definition: ciwave.h:368
struct ci_blks * CIblks_
Definition: ciwave.h:371
SharedMatrix tei_aaaa_
Definition: ciwave.h:364
SharedCIVector D_vector()
Definition: ciwave.cc:528
void get_mo_info()
=&gt; General Helper Functions &lt;= ///
Definition: get_mo_info.cc:68
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:497
bool opdm_called_
Definition: ciwave.h:461
int ** s1_contrib_
Definition: ciwave.h:375
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:612
void form_opdm()
Definition: detci/opdm.cc:60
void orbital_locations(const std::string &orbital_name, int *start, int *end)
Find out which orbitals belong hwere.
Definition: ciwave.cc:171
void sigma(SharedCIVector C, SharedCIVector S, int cvec, int svec)
Definition: sigma.cc:280
int H0block_calc(double E)
Definition: h0block.cc:163
Dimension get_dimension(const std::string &orbital_name)
Definition: ciwave.cc:312
void H0block_pairup(int guess)
Definition: h0block.cc:425
struct stringwr ** alplist_
=&gt; Globals &lt;= //
Definition: ciwave.h:367
void transform_mcscf_integrals(bool approx_only)
Definition: ints.cc:161
int ** s3_contrib_
Definition: ciwave.h:375
void sigma_free()
Definition: sigma.cc:228
void parse_import_vector(SlaterDetSet *sdset, int *ialplist, int *ialpidx, int *ibetlist, int *ibetidx, int *blknums)
Definition: import_vector.cc:70
Definition: structs.h:309
int * common_docc_
Definition: ciwave.h:399
int init_nalp_
Definition: ciwave.h:400
int * common_bet_socc_
Definition: ciwave.h:399
Definition: structs.h:266
SharedMatrix get_opdm(int Iroot=-1, int Jroot=-1, const std::string &spin="SUM", bool full_space=false)
Definition: ciwave.cc:329
void compute_state_transfer(SharedCIVector ref, int ref_vec, SharedMatrix prop, SharedCIVector ret)
Definition: ciwave.cc:673
void form_tpdm()
Definition: tpdm.cc:55
void setup_mcscf_ints_ao()
Definition: ints.cc:378
void transform_mcscf_ints_ao(bool approx_only=false)
Definition: ints.cc:406
void rotate_dfmcscf_twoel_ints(SharedMatrix K, SharedVector twoel_out)
Definition: ints.cc:699
Definition: structs.h:631
SharedMatrix opdm_add_inactive(SharedMatrix opdm, double value, bool virt=false)
Definition: detci/opdm.cc:171
SharedMatrix tei_raaa_
Definition: ciwave.h:363
Definition: structs.h:609
int ** I_diff_
Definition: ciwave.h:401
void setup_dfmcscf_ints()
DF integral functions.
Definition: ints.cc:133
void form_gmat(SharedVector onel, SharedVector twoel, SharedVector output)
Definition: ints.cc:910
Definition: pointgrp.h:104
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:827
void onel_ints_from_jk()
Definition: ints.cc:955
double compute_energy()
Compute energy. Subclasses override this function to compute its energy.
Definition: ciwave.cc:134
SharedMatrix symm_block(SharedMatrix x, Dimension dim1, Dimension dim2)
Symmetry block a matrix.
bool fzc_fock_computed_
Definition: ciwave.h:332
int diag_h(double econv=-1.0, double rconv=-1.0)
Definition: diag_h.cc:60
std::shared_ptr< IntegralTransform > ints_
Definition: ciwave.h:333
SharedMatrix tpdm_
Definition: ciwave.h:474
double get_twoel(int i, int j, int k, int l)
Definition: ints.cc:853
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:687
bool cleaned_up_ci_
Definition: ciwave.h:320
std::shared_ptr< MOSpace > rot_space_
Definition: ciwave.h:334
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:377
void compute_mpn()
Definition: compute_mpn.cc:69
void setup_mcscf_ints()
Non-DF integral functions.
Definition: ints.cc:313
void set_ras_parameters()
Definition: params.cc:899
void ci_nat_orbs()
Definition: detci/opdm.cc:557
void init_mcscf_object()
General transforms.
Definition: ciwave.cc:612
bool tpdm_called_
Definition: ciwave.h:473
int ** J_diff_
Definition: ciwave.h:401
size_t ndet()
Simple accessors.
Definition: ciwave.cc:132
SharedMatrix tpdm_ab_
Definition: ciwave.h:476
void set_orbitals(const std::string &orbital_name, SharedMatrix orbitals)
Definition: ciwave.cc:287
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:722
std::shared_ptr< SOMCSCF > somcscf_
Definition: ciwave.h:338
void H0block_spin_cpl_chk()
Definition: h0block.cc:487
double matrix_element(SlaterDeterminant *I, SlaterDeterminant *J)
=&gt; Slater Matrix Elements &lt;= //
Definition: slater_matel.cc:52
void print_vec(size_t nprint, int *Ialist, int *Iblist, int *Iaidx, int *Ibidx, double *coeff)
Definition: printing.cc:70
void H0block_free()
Definition: h0block.cc:109
void pitzer_to_ci_order_twoel(SharedMatrix src, SharedVector dest)
Definition: ints.cc:1043
void H0block_coupling_calc(double E)
Definition: h0block.cc:716
struct H_zero_block * H0block_
Definition: ciwave.h:374
void convergence_death()
Definition: ciwave.cc:375
SharedMatrix opdm_a_
Definition: ciwave.h:464
SharedMatrix tpdm_bb_
Definition: ciwave.h:477
SharedMatrix opdm_b_
Definition: ciwave.h:465
std::shared_ptr< MOSpace > act_space_
Definition: ciwave.h:335
int sme_first_call_
Definition: ciwave.h:397
std::vector< SharedMatrix > opdm(SharedCIVector Ivec, SharedCIVector Jvec, int Iroot, int Jroot)
Definition: detci/opdm.cc:206
std::shared_ptr< DFHelper > dfh_
Definition: ciwave.h:336
SharedWavefunction detci(SharedWavefunction, Options &)
Definition: detci.cc:65
void print_parameters()
Definition: params.cc:680
SharedMatrix get_tpdm(const std::string &spin="SUM", bool symmetrize=true)
Definition: ciwave.cc:380
PRAGMA_WARNING_PUSH PRAGMA_WARNING_IGNORE_DEPRECATED_DECLARATIONS PRAGMA_WARNING_POP
Definition: integraliter.cc:43
std::shared_ptr< psi::detci::CIvect > SharedCIVector
Definition: civect.h:46
std::shared_ptr< SOMCSCF > mcscf_object()
Definition: ciwave.cc:647
SharedCIVector new_civector(int maxnvect, int filenum, bool use_disk=true, bool buf_init=true)
Definition: ciwave.cc:523
Definition: dimension.h:40
void sigma_c(struct stringwr **alplist, struct stringwr **betlist, CIvect &C, CIvect &S, double *oei, double *tei, int fci, int ivec)
Definition: sigma.cc:510
bool df_ints_init_
Definition: ciwave.h:330
Definition: liboptions.h:353
void get_parameters(Options &options)
Definition: params.cc:66
void print_ras_parameters()
Definition: params.cc:1294
void common_init()
Sets the ciwavefunction object.
Definition: ciwave.cc:67
void H0block_setup(int num_blocks, int *Ia_code, int *Ib_code)
Definition: h0block.cc:371
void H0block_xy(double *x, double *y, double E)
Definition: h0block.cc:331
void H0block_gather(double **mat, int al, int bl, int cscode, int mscode, int phase)
Definition: h0block.cc:298
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:82
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:527
Definition: structs.h:142
CIWavefunction(std::shared_ptr< Wavefunction > reference_wavefunction, Options &options)
Definition: ciwave.cc:54
void sigma_b(struct stringwr **alplist, struct stringwr **betlist, CIvect &C, CIvect &S, double *oei, double *tei, int fci, int ivec)
Definition: sigma.cc:430
SharedCIVector Hd_vector(int hd_type=-1)
Definition: ciwave.cc:532
std::shared_ptr< Matrix > SharedMatrix
Definition: adc.h:49
int init_nbet_
Definition: ciwave.h:400
void semicanonical_orbs()
Definition: ciwave.cc:733
bool ints_init_
=&gt; Integrals &lt;= ///
Definition: ciwave.h:329
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:115
std::shared_ptr< Wavefunction > reference_wavefunction() const
Returns the reference wavefunction.
Definition: wavefunction.cc:608
int * same_alpha_
Definition: ciwave.h:398
Simple wavefunction base class.
Definition: wavefunction.h:85
bool mcscf_object_init_
Definition: ciwave.h:331
Definition: slaterdset.h:81
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:435
struct sigma_data * SigmaData_
=&gt; Sigma Calculations &lt;= //
Definition: ciwave.h:423
SharedMatrix tpdm_aa_
Definition: ciwave.h:475
struct olsen_graph * BetaG_
Definition: ciwave.h:373
SharedMatrix hamiltonian(size_t hsize=0)
Functions below this line should be used for debug use only.
Definition: ciwave.cc:542
struct olsen_graph * AlphaG_
Definition: ciwave.h:372
void H0block_init(size_t size)
=&gt; H0block functions &lt;= //
Definition: h0block.cc:61
void sigma_a(struct stringwr **alplist, struct stringwr **betlist, CIvect &C, CIvect &S, double *oei, double *tei, int fci, int ivec)
Definition: sigma.cc:315
SharedMatrix get_orbitals(const std::string &orbital_name)
Definition: ciwave.cc:259
_SlaterDetSet SlaterDetSet
Definition: ciwave.h:51
virtual ~CIWavefunction()
Definition: ciwave.cc:62
EXTERN struct Params params
Definition: cc/ccdensity/globals.h:55
void print_vector(SharedCIVector vec, int root)
Definition: ciwave.cc:654
Definition: pointgrp.h:104
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:64
Definition: structs.h:407
void rotate_mcscf_twoel_ints(SharedMatrix K, SharedVector twoel_out)
Definition: ints.cc:750
void transform_dfmcscf_ints(bool approx_only=false)
Definition: ints.cc:223
std::vector< SharedMatrix > tpdm(SharedCIVector Ivec, SharedCIVector Jvec, int Iroot, int Jroot)
Definition: tpdm.cc:83
void title(bool is_mcscf)
Definition: ciwave.cc:499
void sigma_init(CIvect &C, CIvect &S)
Definition: sigma.cc:110
void transform_ci_integrals()
Definition: ints.cc:81
void transform_mcscf_ints(bool approx_only=false)
Definition: ints.cc:580
void mpn_generator(CIvect &Hd)
=&gt; MCSCF helpers &lt;= //
Definition: compute_mpn.cc:169
int * same_beta_
Definition: ciwave.h:398
SharedMatrix opdm_
Definition: ciwave.h:463
std::shared_ptr< JK > jk_
Definition: ciwave.h:337
void form_ov()
Definition: form_ov.cc:53
struct calcinfo * CalcInfo_
Definition: ciwave.h:369
void pitzer_to_ci_order_onel(SharedMatrix src, SharedVector dest)
Definition: ints.cc:1018
void read_dpd_ci_ints()
Definition: ints.cc:623
Definition: slaterd.h:69
void cleanup_dpd()
Definition: ciwave.cc:478
void compute_cc()
Definition: compute_cc.cc:61
int *** OV_
Definition: ciwave.h:376
std::shared_ptr< Vector > SharedVector
Definition: adc.h:51
int ** s2_contrib_
Definition: ciwave.h:375
void form_strings()
Definition: olsengraph.cc:80
void tf_onel_ints(SharedVector onel, SharedVector twoel, SharedVector output)
Definition: ints.cc:868
int * common_alp_socc_
Definition: ciwave.h:399
Definition: structs.h:175