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 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 DFERI;
45 class IntegralTransform;
46 class MOSpace;
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 H_zero_block;
65 typedef std::shared_ptr<psi::detci::CIvect> SharedCIVector;
66 }}
67 
68 namespace psi { namespace detci {
69 
70 
72 {
73 
74 public:
75  CIWavefunction(std::shared_ptr<Wavefunction> reference_wavefunction);
76  CIWavefunction(std::shared_ptr<Wavefunction> reference_wavefunction, Options &options);
77  virtual ~CIWavefunction();
78 
79 
80  double compute_energy();
81 
83  size_t ndet();
84 
91  SharedMatrix get_orbitals(const std::string &orbital_name);
92 
99  void set_orbitals(const std::string& orbital_name, SharedMatrix orbitals);
100 
106  Dimension get_dimension(const std::string& orbital_name);
107 
111  void transform_ci_integrals(void);
112 
116  void transform_mcscf_integrals(bool approx_only);
117 
125  SharedVector twoel_out);
126 
134 
142 
153  SharedMatrix get_opdm(int Iroot=-1, int Jroot=-1, const std::string& spin="SUM",
154  bool full_space=false);
155 
164  std::vector<SharedMatrix> opdm(SharedCIVector Ivec, SharedCIVector Jvec,
165  int Iroot, int Jroot);
166 
175  SharedMatrix get_tpdm(const std::string& spin = "SUM", bool symmetrize=true);
176 
185  std::vector<SharedMatrix> tpdm(SharedCIVector Ivec, SharedCIVector Jvec, int Iroot,
186  int Jroot);
187 
196  SharedCIVector new_civector(int maxnvect, int filenum, bool use_disk=true,
197  bool buf_init=true);
203 
215  SharedCIVector Hd_vector(int hd_type = -1);
216 
224  void sigma(SharedCIVector C, SharedCIVector S, int cvec, int svec);
225 
235  void sigma(SharedCIVector C, SharedCIVector S, int cvec, int svec,
236  SharedVector oei, SharedVector tei);
237 
243  void print_vector(SharedCIVector vec, int root);
244 
248  void compute_state_transfer(SharedCIVector ref, int ref_vec,
249  SharedMatrix prop, SharedCIVector ret);
250 
251  // Compute functions
252  void compute_cc();
253  int diag_h(double econv = -1.0, double rconv = -1.0);
254  void compute_mpn();
255 
256  // Build CI quantities
257 
261  void form_opdm();
262 
266  void form_tpdm();
267 
271  void ci_nat_orbs();
272 
276  void semicanonical_orbs();
277 
278  // Cleanup Functions
279 
283  void cleanup_ci();
284 
288  void cleanup_dpd();
289 
294  void set_ci_guess(std::string guess);
295 
296  // Returns a new SOMCSCF object
297  std::shared_ptr<SOMCSCF> mcscf_object();
298 
300 
307  SharedMatrix hamiltonian(size_t hsize = 0);
308 
309 private:
310 
312 
314  void get_mo_info();
315  void get_parameters(Options &options);
316  void print_parameters();
317  void set_ras_parameters();
318  void print_ras_parameters();
319 
320  // General setup
321  void title(bool is_mcscf);
322  void form_strings();
323  void set_ciblks();
324  void convergence_death();
325 
327  void common_init();
329 
331  void orbital_locations(const std::string& orbital_name, int* start, int* end);
332 
335 
341  std::shared_ptr<IntegralTransform> ints_; // Non-DF
342  std::shared_ptr<MOSpace> rot_space_;
343  std::shared_ptr<MOSpace> act_space_;
344  std::shared_ptr<DFERI> dferi_; // DF
345  std::shared_ptr<JK> jk_;
346  std::shared_ptr<SOMCSCF> somcscf_;
347 
349  void init_mcscf_object();
350  void tf_onel_ints(SharedVector onel, SharedVector twoel, SharedVector output);
351  void form_gmat(SharedVector onel, SharedVector twoel, SharedVector output);
352  void onel_ints_from_jk();
353  double get_twoel(int i, int j, int k, int l);
354  double get_onel(int i, int j);
355 
357  void setup_mcscf_ints();
358  void transform_mcscf_ints(bool approx_only = false);
359  void read_dpd_ci_ints();
361 
363  void setup_dfmcscf_ints();
364  void transform_dfmcscf_ints(bool approx_only = false);
366 
369  void transform_mcscf_ints_ao(bool approx_only = false);
370  void setup_mcscf_ints_ao();
373 
375  struct stringwr **alplist_;
376  struct stringwr **betlist_;
379  struct ci_blks *CIblks_;
384  int ***OV_;
385  unsigned char ***Occs_;
386 
388  void H0block_init(size_t size);
389  void H0block_free(void);
390  void H0block_print(void);
391  int H0block_calc(double E);
392  void H0block_gather(double **mat, int al, int bl, int cscode, int mscode, int phase);
393  void H0block_xy(double *x, double *y, double E);
394  void H0block_setup(int num_blocks, int *Ia_code, int *Ib_code);
395  void H0block_pairup(int guess);
396  void H0block_spin_cpl_chk(void);
397  void H0block_filter_setup(void);
398  void H0block_fill(void);
399  void H0block_coupling_calc(double E);
400  std::string print_config(int nbf, int num_alp_el, int num_bet_el,
401  struct stringwr *stralp, struct stringwr *strbet, int num_drc_orbs);
402 
409  int **I_diff_, **J_diff_;
410 
412  void mitrush_iter(CIvect &Hd, struct stringwr **alplist, struct stringwr
413  **betlist, int nroots, double *evals, double conv_rms, double conv_e,
414  double enuc, double edrc, int maxiter, int maxnvect);
415  void olsen_update(CIvect &C, CIvect &S, CIvect &Hd, double E, double E_est,
416  double *norm, double *c1norm, double *ovrlap, double *buffer1,
417  double *buffer2,
418  int curr, int next, std::string out, int iter, struct stringwr **alplist,
419  struct stringwr **betlist);
420  void olsen_iter_xy(CIvect &C, CIvect &S, CIvect &Hd, double *x, double *y,
421  double *buffer1, double *buffer2, double E, int curvect, int L,
422  double **alpha, struct stringwr **alplist, struct stringwr **betlist);
423  void mitrush_update(CIvect &C, CIvect &S, double norm, double acur,
424  double alast, double *buffer1, double *buffer2, int curr, int next);
425 
426  void sem_iter(CIvect &Hd, struct stringwr **alplist, struct stringwr
427  **betlist, double *evals, double conv_e,
428  double conv_rms, double enuc, double edrc,
429  int nroots, int maxiter, int maxnvect);
430  void parse_import_vector(SlaterDetSet *sdset, int *ialplist, int *ialpidx,
431  int *ibetlist, int *ibetidx, int *blknums);
432  void sem_test(double **A, int N, int M, int L, double **evecs, double *evals,
433  double **b, double conv_e, double conv_rms, int maxiter, double offst,
434  int *vu, int maxnvect);
435 
438  void sigma_init(CIvect& C, CIvect &S);
439  void sigma_free(void);
440  void sigma(CIvect& C, CIvect& S, double *oei, double *tei, int ivec);
441 
442  void sigma_a(struct stringwr **alplist, struct stringwr **betlist,
443  CIvect& C, CIvect& S, double *oei, double *tei, int fci, int ivec);
444  void sigma_b(struct stringwr **alplist, struct stringwr **betlist,
445  CIvect& C, CIvect& S, double *oei, double *tei, int fci, int ivec);
446  void sigma_c(struct stringwr **alplist, struct stringwr **betlist,
447  CIvect& C, CIvect& S, double *oei, double *tei, int fci, int ivec);
448 
449  void sigma_block(struct stringwr **alplist, struct stringwr **betlist,
450  double **cmat, double **smat, double *oei, double *tei, int fci,
451  int cblock, int sblock, int nas, int nbs, int sac, int sbc,
452  int cac, int cbc, int cnas, int cnbs, int cnac, int cnbc,
453  int sbirr, int cbirr, int Ms0);
454  void sigma_get_contrib(struct stringwr **alplist, struct stringwr **betlist,
455  CIvect &C, CIvect &S, int **s1_contrib, int **s2_contrib,
456  int **s3_contrib);
457  void form_ov();
459  int **s1_contrib, int **s2_contrib, int **s3_contrib,
460  int *Cnt[2], int **Ij[2], int **Oij[2], int **Ridx[2],
461  signed char **Sgn[2], unsigned char **Toccs);
462 
463  void print_vec(size_t nprint, int *Ialist, int *Iblist,
464  int *Iaidx, int *Ibidx, double *coeff);
465 
467 
468 
470  void mpn_generator(CIvect &Hd);
471 
473  std::vector<std::vector<SharedMatrix> > opdm(SharedCIVector Ivec, SharedCIVector Jvec,
474  std::vector<std::tuple<int, int> > states_vec);
475  SharedMatrix opdm_add_inactive(SharedMatrix opdm, double value, bool virt=false);
476  void opdm_block(struct stringwr **alplist, struct stringwr **betlist,
477  double **onepdm_a, double **onepdm_b, double **CJ, double **CI, int Ja_list,
478  int Jb_list, int Jnas, int Jnbs, int Ia_list, int Ib_list,
479  int Inas, int Inbs);
480 
481  // OPDM holders, opdm_map holds lots of active-active opdms
482  // opdm_, opdm_a_, etc are for "the" current OPDM
484  std::map<std::string, SharedMatrix> opdm_map_;
488 
489  std::vector<SharedMatrix> tpdm(SharedCIVector Ivec, SharedCIVector Jvec,
490  std::vector<std::tuple<int, int, double> > states_vec);
491  void tpdm_block(struct stringwr **alplist, struct stringwr **betlist,
492  int nbf, int nalplists, int nbetlists,
493  double *twopdm_aa, double *twopdm_bb, double *twopdm_ab, double **CJ, double **CI, int Ja_list,
494  int Jb_list, int Jnas, int Jnbs, int Ia_list, int Ib_list,
495  int Inas, int Inbs, double weight);
496 
502 
503 }; // End CIWavefunction
504 
505 }}
506 
507 #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:641
void rotate_mcscf_integrals(SharedMatrix K, SharedVector onel_out, SharedVector twoel_out)
Definition: ints.cc:162
Definition: ciwave.h:71
void cleanup_ci()
Definition: ciwave.cc:455
Options & options() const
Definition: wavefunction.cc:412
std::map< std::string, SharedMatrix > opdm_map_
Definition: ciwave.h:484
SharedMatrix S() const
Returns the overlap matrix.
Definition: wavefunction.h:364
double get_onel(int i, int j)
Definition: ints.cc:886
struct params * Parameters_
Definition: ciwave.h:378
void set_ci_guess(std::string guess)
Definition: ciwave.cc:502
Definition: civect.h:62
struct stringwr ** betlist_
Definition: ciwave.h:376
struct ci_blks * CIblks_
Definition: ciwave.h:379
void sigma_free(void)
Definition: sigma.cc:265
SharedMatrix tei_aaaa_
Definition: ciwave.h:372
SharedCIVector D_vector()
Definition: ciwave.cc:545
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:517
void H0block_print(void)
Definition: h0block.cc:148
bool opdm_called_
Definition: ciwave.h:483
int ** s1_contrib_
Definition: ciwave.h:383
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:667
void form_opdm()
Definition: detci/opdm.cc:59
void orbital_locations(const std::string &orbital_name, int *start, int *end)
Find out which orbitals belong hwere.
Definition: ciwave.cc:180
void sigma(SharedCIVector C, SharedCIVector S, int cvec, int svec)
Definition: sigma.cc:318
int H0block_calc(double E)
Definition: h0block.cc:163
Dimension get_dimension(const std::string &orbital_name)
Definition: ciwave.cc:325
void H0block_pairup(int guess)
Definition: h0block.cc:436
struct stringwr ** alplist_
=&gt; Globals &lt;= //
Definition: ciwave.h:375
void transform_mcscf_integrals(bool approx_only)
Definition: ints.cc:152
int ** s3_contrib_
Definition: ciwave.h:383
void H0block_free(void)
Definition: h0block.cc:109
void H0block_fill(void)
Definition: h0block.cc:667
void parse_import_vector(SlaterDetSet *sdset, int *ialplist, int *ialpidx, int *ibetlist, int *ibetidx, int *blknums)
Definition: import_vector.cc:71
Definition: structs.h:317
int * common_docc_
Definition: ciwave.h:407
int init_nalp_
Definition: ciwave.h:408
int * common_bet_socc_
Definition: ciwave.h:407
Definition: structs.h:273
SharedMatrix get_opdm(int Iroot=-1, int Jroot=-1, const std::string &spin="SUM", bool full_space=false)
Definition: ciwave.cc:342
void compute_state_transfer(SharedCIVector ref, int ref_vec, SharedMatrix prop, SharedCIVector ret)
Definition: ciwave.cc:695
void form_tpdm()
Definition: tpdm.cc:54
void transform_ci_integrals(void)
Definition: ints.cc:78
void setup_mcscf_ints_ao()
Definition: ints.cc:389
void transform_mcscf_ints_ao(bool approx_only=false)
Definition: ints.cc:422
void rotate_dfmcscf_twoel_ints(SharedMatrix K, SharedVector twoel_out)
Definition: ints.cc:724
Definition: structs.h:642
SharedMatrix opdm_add_inactive(SharedMatrix opdm, double value, bool virt=false)
Definition: detci/opdm.cc:172
SharedMatrix tei_raaa_
Definition: ciwave.h:371
Definition: structs.h:620
int ** I_diff_
Definition: ciwave.h:409
void setup_dfmcscf_ints()
DF integral functions.
Definition: ints.cc:130
void form_gmat(SharedVector onel, SharedVector twoel, SharedVector output)
Definition: ints.cc:957
Definition: pointgrp.h:106
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:915
void onel_ints_from_jk()
Definition: ints.cc:1003
double compute_energy()
Compute energy. Subclasses override this function to compute its energy.
Definition: ciwave.cc:142
SharedMatrix symm_block(SharedMatrix x, Dimension dim1, Dimension dim2)
Symmetry block a matrix.
bool fzc_fock_computed_
Definition: ciwave.h:340
int diag_h(double econv=-1.0, double rconv=-1.0)
Definition: diag_h.cc:60
std::shared_ptr< IntegralTransform > ints_
Definition: ciwave.h:341
SharedMatrix tpdm_
Definition: ciwave.h:498
double get_twoel(int i, int j, int k, int l)
Definition: ints.cc:898
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:716
bool cleaned_up_ci_
Definition: ciwave.h:328
std::shared_ptr< MOSpace > rot_space_
Definition: ciwave.h:342
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:127
unsigned char *** Occs_
Definition: ciwave.h:385
void H0block_filter_setup(void)
Definition: h0block.cc:610
void compute_mpn()
Definition: compute_mpn.cc:71
void setup_mcscf_ints()
Non-DF integral functions.
Definition: ints.cc:317
void set_ras_parameters()
Definition: params.cc:968
void ci_nat_orbs()
Definition: detci/opdm.cc:579
void init_mcscf_object()
General transforms.
Definition: ciwave.cc:630
bool tpdm_called_
Definition: ciwave.h:497
int ** J_diff_
Definition: ciwave.h:409
size_t ndet()
Simple accessors.
Definition: ciwave.cc:140
SharedMatrix tpdm_ab_
Definition: ciwave.h:500
void set_orbitals(const std::string &orbital_name, SharedMatrix orbitals)
Definition: ciwave.cc:298
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:808
std::shared_ptr< SOMCSCF > somcscf_
Definition: ciwave.h:346
double matrix_element(SlaterDeterminant *I, SlaterDeterminant *J)
=&gt; Slater Matrix Elements &lt;= //
Definition: slater_matel.cc:55
void print_vec(size_t nprint, int *Ialist, int *Iblist, int *Iaidx, int *Ibidx, double *coeff)
Definition: printing.cc:70
void pitzer_to_ci_order_twoel(SharedMatrix src, SharedVector dest)
Definition: ints.cc:1096
void H0block_coupling_calc(double E)
Definition: h0block.cc:742
struct H_zero_block * H0block_
Definition: ciwave.h:382
void convergence_death()
Definition: ciwave.cc:384
void H0block_spin_cpl_chk(void)
Definition: h0block.cc:495
SharedMatrix opdm_a_
Definition: ciwave.h:486
std::shared_ptr< DFERI > dferi_
Definition: ciwave.h:344
SharedMatrix tpdm_bb_
Definition: ciwave.h:501
SharedMatrix opdm_b_
Definition: ciwave.h:487
std::shared_ptr< MOSpace > act_space_
Definition: ciwave.h:343
int sme_first_call_
Definition: ciwave.h:405
std::vector< SharedMatrix > opdm(SharedCIVector Ivec, SharedCIVector Jvec, int Iroot, int Jroot)
Definition: detci/opdm.cc:208
SharedWavefunction detci(SharedWavefunction, Options &)
Definition: detci.cc:65
void print_parameters()
Definition: params.cc:737
SharedMatrix get_tpdm(const std::string &spin="SUM", bool symmetrize=true)
Definition: ciwave.cc:390
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:45
std::shared_ptr< SOMCSCF > mcscf_object()
Definition: ciwave.cc:667
SharedCIVector new_civector(int maxnvect, int filenum, bool use_disk=true, bool buf_init=true)
Definition: ciwave.cc:538
Definition: dimension.h:38
void sigma_c(struct stringwr **alplist, struct stringwr **betlist, CIvect &C, CIvect &S, double *oei, double *tei, int fci, int ivec)
Definition: sigma.cc:557
bool df_ints_init_
Definition: ciwave.h:338
Definition: liboptions.h:355
void get_parameters(Options &options)
Definition: params.cc:65
void print_ras_parameters()
Definition: params.cc:1418
void common_init()
Sets the ciwavefunction object.
Definition: ciwave.cc:75
void H0block_setup(int num_blocks, int *Ia_code, int *Ib_code)
Definition: h0block.cc:379
void H0block_xy(double *x, double *y, double E)
Definition: h0block.cc:336
void H0block_gather(double **mat, int al, int bl, int cscode, int mscode, int phase)
Definition: h0block.cc:301
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:84
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:547
Definition: structs.h:142
void sigma_b(struct stringwr **alplist, struct stringwr **betlist, CIvect &C, CIvect &S, double *oei, double *tei, int fci, int ivec)
Definition: sigma.cc:473
SharedCIVector Hd_vector(int hd_type=-1)
Definition: ciwave.cc:549
std::shared_ptr< Matrix > SharedMatrix
Definition: adc.h:49
int init_nbet_
Definition: ciwave.h:408
void semicanonical_orbs()
Definition: ciwave.cc:759
bool ints_init_
=&gt; Integrals &lt;= ///
Definition: ciwave.h:337
void set_ciblks()
Definition: set_ciblks.cc:47
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:123
CIWavefunction(std::shared_ptr< Wavefunction > reference_wavefunction)
Definition: ciwave.cc:53
std::shared_ptr< Wavefunction > reference_wavefunction() const
Returns the reference wavefunction.
Definition: wavefunction.cc:465
int * same_alpha_
Definition: ciwave.h:406
Simple wavefunction base class.
Definition: wavefunction.h:84
bool mcscf_object_init_
Definition: ciwave.h:339
Definition: slaterdset.h:83
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:459
struct sigma_data * SigmaData_
=&gt; Sigma Calculations &lt;= //
Definition: ciwave.h:437
SharedMatrix tpdm_aa_
Definition: ciwave.h:499
struct olsen_graph * BetaG_
Definition: ciwave.h:381
SharedMatrix hamiltonian(size_t hsize=0)
Functions below this line should be used for debug use only.
Definition: ciwave.cc:560
struct olsen_graph * AlphaG_
Definition: ciwave.h:380
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:354
SharedMatrix get_orbitals(const std::string &orbital_name)
Definition: ciwave.cc:269
_SlaterDetSet SlaterDetSet
Definition: ciwave.h:51
virtual ~CIWavefunction()
Definition: ciwave.cc:70
EXTERN struct Params params
Definition: ccdensity/globals.h:55
void print_vector(SharedCIVector vec, int root)
Definition: ciwave.cc:675
Definition: pointgrp.h:106
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:417
void rotate_mcscf_twoel_ints(SharedMatrix K, SharedVector twoel_out)
Definition: ints.cc:788
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:82
void title(bool is_mcscf)
Definition: ciwave.cc:514
void sigma_init(CIvect &C, CIvect &S)
Definition: sigma.cc:136
void transform_mcscf_ints(bool approx_only=false)
Definition: ints.cc:603
void mpn_generator(CIvect &Hd)
=&gt; MCSCF helpers &lt;= //
Definition: compute_mpn.cc:177
int * same_beta_
Definition: ciwave.h:406
SharedMatrix opdm_
Definition: ciwave.h:485
std::shared_ptr< JK > jk_
Definition: ciwave.h:345
void form_ov()
Definition: form_ov.cc:52
struct calcinfo * CalcInfo_
Definition: ciwave.h:377
void pitzer_to_ci_order_onel(SharedMatrix src, SharedVector dest)
Definition: ints.cc:1069
void read_dpd_ci_ints()
Definition: ints.cc:646
Definition: slaterd.h:69
void cleanup_dpd()
Definition: ciwave.cc:491
void compute_cc()
Definition: compute_cc.cc:60
int *** OV_
Definition: ciwave.h:384
std::shared_ptr< Vector > SharedVector
Definition: adc.h:51
int ** s2_contrib_
Definition: ciwave.h:383
void form_strings()
Definition: olsengraph.cc:86
void tf_onel_ints(SharedVector onel, SharedVector twoel, SharedVector output)
Definition: ints.cc:914
int * common_alp_socc_
Definition: ciwave.h:407
Definition: structs.h:177