~ubuntu-branches/ubuntu/oneiric/mpqc/oneiric

« back to all changes in this revision

Viewing changes to src/lib/chemistry/qc/basis/orthog.h

  • Committer: Bazaar Package Importer
  • Author(s): Michael Banck
  • Date: 2005-11-27 11:41:49 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20051127114149-zgz9r3gk50w8ww2q
Tags: 2.3.0-1
* New upstream release.
* debian/rules (SONAME): Activate awk snippet for automatic so-name
  detection again, resulting in a bump to `7' and making a `c2a' for
  the C++ allocator change unnecessary; closes: #339232.
* debian/patches/00list (08_gcc-4.0_fixes): Removed, no longer needed.
* debian/rules (test): Remove workarounds, do not abort build if tests
  fail.
* debian/ref: Removed.
* debian/control.in (libsc): Added Conflict against libsc6c2.

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
#ifndef _chemistry_qc_basis_orthog_h
30
30
#define _chemistry_qc_basis_orthog_h
31
31
 
 
32
#include <util/state/state.h>
32
33
#include <math/scmat/matrix.h>
33
34
 
34
35
namespace sc {
35
36
 
36
37
/// This class computes the orthogonalizing transform for a basis set.
37
 
class OverlapOrthog: public RefCount {
 
38
class OverlapOrthog: virtual public SavableState {
38
39
  public:
39
40
    
40
41
    /// An enum for the types of orthogonalization.
49
50
    // The tolerance for linearly independent basis functions.
50
51
    // The intepretation depends on the orthogonalization method.
51
52
    double lindep_tol_;
 
53
    // The number of linearly dependent functions
 
54
    int nlindep_;
52
55
    // The orthogonalization method
53
56
    OrthogMethod orthog_method_;
54
57
    // The orthogonalization matrices
70
73
    void compute_gs_orthog();
71
74
    void compute_orthog_trans();
72
75
 
 
76
    // WARNING: after a SavableState save/restore, these two members will
 
77
    // be null.  There is really no need to store these anyway--should be
 
78
    // removed.
73
79
    RefSymmSCMatrix overlap_;
74
80
    Ref<SCMatrixKit> result_kit_; // this kit is used for the result matrices
75
81
 
80
86
                  double lindep_tolerance,
81
87
                  int debug = 0);
82
88
 
 
89
    OverlapOrthog(StateIn&);
 
90
 
 
91
    virtual ~OverlapOrthog();
 
92
 
 
93
    void save_data_state(StateOut&);
 
94
 
83
95
    void reinit(OrthogMethod method,
84
96
                const RefSymmSCMatrix &overlap,
85
97
                const Ref<SCMatrixKit> &result_kit,
112
124
 
113
125
    RefSCDimension dim();
114
126
    RefSCDimension orthog_dim();
 
127
 
 
128
    /** Returns the number of linearly dependent functions eliminated from
 
129
        the orthogonal basis.
 
130
      */
 
131
    int nlindep();
115
132
};
116
133
 
117
134
}