Page 1
An O(N3) implementation of Hedin’s GW approximation
An O(N3) implementation of Hedin’s GW approximation for molecules
D. Foerster,1, a)P. Koval,2,3, b)and D. S´ anchez-Portal2,3, c)
1)CPMOH/LOMA, Universit´ e de Bordeaux 1, 351 Cours de la Liberation, 33405 Talence,
France
2)Centro de F´ ısica de Materiales CFM-MPC, Centro Mixto CSIC-UPV/EHU, Paseo Manuel de Lardizabal 5,
E-20018 San Sebasti´ an, Spain
3)Donostia International Physics Center (DIPC), Paseo Manuel de Lardizabal 4, E-20018 San Sebasti´ an,
Spain
We describe an implementation of Hedin’s GW approximation for molecules and clusters, the complexity of
which scales as O(N3) with the number of atoms. Our method is guided by two strategies: i) to respect
the locality of the underlying electronic interactions and ii) to avoid the singularities of Green’s functions
by manipulating, instead, their spectral functions using FFT methods. To take into account the locality of
the electronic interactions, we use a local basis of atomic orbitals and, also, a local basis in the space of
their products. We further compress the screened Coulomb interaction into a space of lower dimensions for
speed and to reduce memory requirements. The improved scaling of our method with respect to most of the
published methodologies should facilitate GW calculations for large systems. Our implementation is intended
as a step forward towards the goal of predicting, prior to their synthesis, the ionization energies and electron
affinities of the large molecules that serve as constituents of organic semiconductors.
PACS numbers: 31.50.Df, 71.35.-y
Keywords: Hedin’s GW approximation, spectral functions, dominant products
a)Electronic mail: d.foerster@cpmoh.u-bordeaux1.fr
b)Electronic mail: koval.peter@gmail.com
c)Electronic mail: sqbsapod@sq.ehu.es
1
arXiv:1101.2065v1 [cond-mat.other] 11 Jan 2011
Page 2
An O(N3) implementation of Hedin’s GW approximation
I. INTRODUCTION
Lars Hedin’s GW method1is an approximate treatment of the propagation of electrons in condensed matter where
an electron interacts with itself via a Coulomb interaction that is screened by virtual electron-hole pairs. In periodic
semiconductors, the GW approximation is known to lead to surprisingly accurate gaps2, while for finite clusters
and molecules it provides qualitatively correct values of ionization energies and electron affinities3. Hedin’s GW
approximation is also needed, as a first step, when using the Bethe-Salpeter equation to find the optical properties of
systems in which the Coulomb interaction is only weakly screened.
The present work is motivated by the rapid progress, during the last decade, in the field of organic semiconductors,
especially in organic photovoltaics and organic luminescent diodes4. To optimize such systems, it would be useful
to know the key properties of their molecular constituents before actually synthesizing them. In order to make such
predictions it is necessary to develop algorithms with a favorable complexity scaling, since many of the technologically
relevant molecules are fairly large. The method presented here is a step forward along this direction. Its O(N3)
scaling, with N the number of atoms in the molecule, is an improvement over most existing methodologies.
While computational techniques for treating the GW approximation for clusters and molecules have become sophis-
ticated enough for treating molecules of interest in photovoltaics5or in the physiology of vision6, such calculations
remain computationally expensive. The scaling with the number of atoms of these recent calculations has not been
published. However, in many cases it is unlikely to be better than O(N4)7. A recently published method for com-
puting total energies of molecules that uses the random phase approximation also has O(N4) scaling8. Actually, at
this point it is difficult for us to envisage a scaling exponent less than three because the construction of the screened
Coulomb interaction — the central element of the GW approach — requires inverting a matrix of size O(N) which,
in general, takes O(N3) operations.
The algorithm described in this paper is based on two main ingredients: i) respecting the locality of the underlying
interactions and, ii) the use of spectral functions to describe the frequency/time dependence of the correlators. The
latter ingredient allows for the use of the fast Fourier transform (FFT) to accelerate the calculations, while the former
idea of respecting locality has been also at the heart of other efficient GW methods, like the successful “space-time
approach” for periodic systems9.
Our method is based upon the use of spatially localized basis sets to describe the electronic states within the
linear combination of atomic orbitals (LCAO) technique. In particular, we have implemented our method as a post
processing tool of the SIESTA code10, although interfaces with other LCAO codes should be simple to construct. The
precision of the LCAO approach is difficult to control and to improve, but a basis of atom centered local orbitals is
useful for systems that are too large to be treated by plane-wave methods11. In order to solve Hedin’s equations we
construct a basis set that gets rid of the over completeness of the orbital products while keeping locality. In molecular
computations this is frequently done through a fitting procedure (using Gaussians or other localized functions).
We use an alternative mathematical procedure12,13that dispenses with this fitting and defines a basis of dominant
products. The basis of dominant products was instrumental to develop an efficient linear response code for molecular
absorption spectra14,15. In the present paper we have developed an additional, non local compression technique that
further reduces the size of the product basis. The compression allows to store the whole matrix representation of
the screened Coulomb interaction at all times/frequencies and needs much less memory. Moreover, the compression
strongly accelerates the calculation of the screened Coulomb interaction because it involves a matrix inversion. This
leads to a gain in computational efficiency which is even more important than that associated with the reduction of
the needed memory.
Of course there are other methods that use a localized basis different from LCAO and, thus, equally appropriate
for dealing with clusters and molecules while exploiting locality. One method uses a lattice in real space16. Another
method uses wavelets that represent a useful compromise between localized and extended states17. Localized Wannier
orbitals obtained from transforming plane waves18have also been used in GW calculations19,20. It is clear that some
of the techniques and ideas developed in the present paper could be used in these alternative approaches.
The actual implementation of the algorithm that we report in this paper can be considered as a “proof of principle”
only and the prefactor of our implementation leaves room for further improvement. Therefore, we validate our method
with molecules of moderate size (we consider molecules of only up to three aromatic rings: benzene, naphthalene and
anthracene), leaving further improvements and applications to molecules of larger sizes for a future publication.
This paper is organized as follows. In section II we recall the equations of the GW approximation. In section III
we rewrite the GW approximation for molecules in tensorial form. Section IV describes the instantaneous component
of the self-energy, while in section V we describe a spectral function technique for solving these tensorial equations.
Section VI describes our GW results for benzene, a typical small molecule. Section VII describes our algorithm for the
compression of the screened Coulomb interaction that is needed to address larger molecules. Section VIII explains how
O(N3) scaling can be maintained for large molecules by alternatively compressing and decompressing the Coulomb
interaction. Section IX presents a summary of the entire algorithm for performing GW calculations. In section X we
2
Page 3
An O(N3) implementation of Hedin’s GW approximation
test our method on naphthalene and anthracene, and our conclusions are presented in section XI.
II. ELEMENTARY ASPECTS OF HEDIN’S GW APPROXIMATION
The one-electron Green’s function of a many-body system has proved to be a very useful concept in condensed
matter theory. It allows to compute the total energy, the electronic density and other quantities arising from one-
particle operators. The one-electron Green’s function G(r,r?,t) has twice as many spatial arguments as the electronic
density but it remains a far less complex object than the many-body wave function. Furthermore, Hedin has found an
exact set of equations for a finite set of correlation functions of which the one-electron Green’s function is the simplest
element. This set of equations has not been solved so far for any system whatsoever. However, as a zeroth order
starting point to his coupled equations, Hedin suggested the very successful GW approximation for the self-energy
Σ(r,r?,t). This approximation describes the change of the non interacting electron propagator G0(r,r?,t) due to
interactions among the electrons. With the help of a self-energy, one can find the interacting Greens function from
Dyson’s equation
G = G0+ G0ΣG0+ G0ΣG0ΣG0+ ... =
1
G−1
0
− Σ. (1)
In Hedin’s GW approximation, the interaction of electrons with themselves is taken into account by the following
self-energy
Σ(r,r?,t) = iG0(r,r?,t)W(r,r?,t), (2)
where W(r,r?,t) is a screened Coulomb interaction.
The key idea of Hedin’s GW approximation1is to incorporate the screening of the Coulomb interaction from the
very beginning in a zeroth order approximation. Let v be the bare Coulomb interaction and let χ0 =
density response δn(r,t) of non-interacting electrons with respect to a change of the external potential δV (r,t).
Hedin then replaces the original Coulomb interaction by the screened Coulomb interaction W within the random
phase approximation (RPA)21
δn
δVbe the
W =
1
1 − vχ0v.(3)
We can justify this expression by considering an internal screening field δVinduced that is generated by an extra
external field δVexternal
δVtotal= δVexternal+ δVinduced,(4)
where
δVinduced= vδninduced= vχ0δVtotal.
As a consequence we obtain
δVtotal=
1
1 − vχ0δVexternal. (5)
If we assume that large fields are screened the same way as small field changes, then we may replace δVexternalby the
singular Coulomb interaction v and we obtain the screened counterpart W of the original bare Coulomb interaction
v as in eq (3).
Because of the relation
iχ0(r,r?,t) = 2G0(r,r?,t)G0(r?,r,−t) (6)
the screening in eq (3) may be interpreted as being due to the creation of virtual electron-hole pairs. The screening
by virtual electron-hole pairs is the quantum analogue of classical Debye screening in polarizable media22. The factor
of 2 in eq. (6) takes into account the summation over spins.
3
Page 4
An O(N3) implementation of Hedin’s GW approximation
Many body theory uses Feynman-Dyson perturbation theory23and the latter is formulated in terms of time ordered
correlators. For instance, a Green’s function is represented as a time ordered correlator of electron creation ψ+(r,t)
and annihilation ψ(r,t) operators
iG(r,r?,t − t?) = θ(t − t?)?0|ψ(r,t)ψ+(r?,t?)|0? − θ(t?− t)?0|ψ+(r?,t?)ψ(r,t)|0?,
where the minus sign is due to Fermi statistics, |0? denotes the electronic ground state, and where θ(t) denotes
Heaviside’s step function. This completes our formal description of Hedin’s GW approximation.
In practice, Hedin’s equations are solved “on top” of a density functional or Hartree-Fock calculation. The framework
of density functional theory (DFT)24,25already includes electron correlations at the mean-field level via the exchange
correlation energy Exc[n(r)], where [n] denotes the functional dependence of Exc on the electron density. DFT
calculations are usually performed using the Kohn-Sham scheme25, in which electrons move as independent particles
in an effective potential. The Kohn-Sham Hamiltonian HKSreads
(7)
HKS= −1
VKS= Vext+ VHartree+ Vxc, where Vxc(r) =δExc
2∇2+ VKS, (8)
δn(r).
To avoid including the interaction twice, the exchange correlation potential Vxc(r) must be subtracted from Σ(r,r?,t)
in eq (2) when using the output of a DFT calculation as input for a GW calculation. This is done by making the
replacement
Σ(r,r?,t) → Σ(r,r?,t) − δ(r − r?)δ(t)Vxc(r) (9)
in Dyson’s equation (1).
Our aim is to compute the electronic density of states (DOS) that is defined as the trace of the imaginary part of
the electron propagator
?
The electronic DOS ρ(ω + iε) can be compared with experimental data from direct and inverse photo-emission26.
From it, we can read off the energy position of the highest occupied and the lowest unoccupied molecular orbitals
(HOMO and LUMO) or, alternatively, the ionization energy and the electron affinity.
Finally, let us list the equations that define the GW approximation for molecules and clusters. They are
ρ(ω + iε) = −1
πImG(ω + iε,r,r)d3r. (10)
iχ0(r,r?,t) = 2G0(r,r?,t)G0(r?,r,−t);
W(r,r?,ω) = [δ(r − r???) − v(r,r??)χ0(r??,r???,ω)]−1v(r???,r?);
Σ(r,r?,t) = iG0(r,r?,t)W(r,r?,t);
G−1(r,r?,ω + iε) = G−1
free electron response
RPA screening
GW self-energy
0(r,r?,ω + iε) − Σ(r,r?,ω + iε). Dyson equation
(11)
Please notice that integrations over repeated space arguments were omitted in the above equations. The next two
sections describe the main ingredients of our implementation of the GW approximation as embodied in equations
(11) for the case of small molecules. Later sections will describe the compression/decompression of the Coulomb
interaction that is needed for treating large molecules without over flooding the computer memory.
III. TENSOR FORM OF HEDIN’S EQUATIONS
In order to compute the non interacting Green’s function (7), we will use the LCAO method where one expresses
the electron operator in terms of a set of fermions ca(t) that belong to localized atomic orbitals27
?
Such a parametrization is parsimonious in the number of degrees of freedom, although its quality is difficult to control
and to improve in a systematic way.
ψ(r,t) ∼
a
fa(r)ca(t). (12)
4
Page 5
An O(N3) implementation of Hedin’s GW approximation
The output of a DFT calculation (that serves as input for the GW calculation) is the Kohn-Sham Hamiltonian
Haband the overlap matrix Sabof the LCAO basis functions fa(r)28. One may use the eigenvectors {XE
Kohn-Sham Hamiltonian
a} of the
HabXE
b= ESabXE
b
(13)
to express the (time-ordered) propagation of electrons between localized atomic orbitals
G0
ab(ω ± iε) =
?
E
XE
ω ± iε − E.
aXE
b
(14)
In this paper we measure energies relative to a Fermi energy, so that E < 0 (E > 0) refers to occupied (empty)
states, respectively, and the infinitesimal constant ε shifts the poles of the Greens function away from the real axis.
Moreover, to avoid cluttering up the notation, we will often use Einstein’s convention of summing over repeated
indices, as in eq (13).
The set of equations (11) contains correlation functions, that must be represented in a basis of products of atomic
orbitals such as the density response function χ(r,r?,t)23
iχ(r,r?,t − t?) = θ(t − t?)?0|n(r,t)n(r?,t?)|0? + θ(t?− t)?0|n(r?,t?)n(r,t)|0?.
Indeed, by virtue of eq (12), the electronic density n(r,t) = ψ+(r,t)ψ(r,t) involves products of atomic orbitals
(15)
n(r,t) = ψ+(r,t)ψ(r,t) =
?
a,b
fa(r)fb(r)c+
a(t)cb(t).
The set of products {fa(r)fb(r)} is well known to be strongly linearly dependent29. As an improved solution of this
very old technical difficulty, we previously developed an algorithm to construct a local basis of “dominant products”
Fµ(r) that i) spans the space of orbital products with exponential accuracy and which ii) respects the locality of the
original atomic orbitals12. Moreover, the products of atomic orbitals fa(r)fb(r) relate to dominant products Fµ(r)
via a vertex Vab
µ
?
Because the dominant products Fµ(r) are themselves special linear combinations of the original products, arbitrary
extra fitting functions do not enter into this scheme. In order to respect the principle of locality, the above decompo-
sition is carried out separately for each pair of atoms, the orbitals of which overlap. By their construction, the set of
coefficients Vab
of the dominant product basis, we made use of Talman’s algorithms and computer codes for the expansion of products
of orbitals about an arbitrary center and we also used his fast Bessel transform30.
To rewrite the defining equations of the GW approximation (11) in our basis, we expand both G(r,r?,t − t?) and
Σ(r,r?,t − t?) in atomic orbitals fa(r)14
G(r,r?,t − t?) = Gab(t − t?)fa(r)fb(r?);
Σ(r,r?,t − t?) = Σab(t − t?)fa(r)fb(r?).
We also develop the screened Coulomb interaction in dominant products
?
Using eqs (16, 17, 18) it is easy to show14that Hedin’s equations (11) take the following tensorial form in our basis
fa(r)fb(r) =
µ
Vab
µFµ(r). (16)
µ is sparse in the sense that Vab
µ ?= 0 only if a,b,µ all reside on the same atom pair12. In the construction
(17)
Wµν(t − t?) =d3rd3r?Fµ(r)W(r,r?,t − t?)Fν(r?). (18)
iχ0
µν(t) = 2Vaa?
µ
G0
ab(t)Vbb?
1
βα(ω)vαν;
G0
ν G0
b?a?(−t);free electron response (19)
Wµν(ω) =
δµ
α− vµβχ0
RPA screening (20)
Σab(t) = iVaa?
µa?b?(t)Vb?b
ν Wµν(t);GW approximation (21)
G−1
ab(ω + iε) = G−1
0ab(ω + iε) − Σab(ω + iε).Dyson’s equation (22)
5
Page 6
An O(N3) implementation of Hedin’s GW approximation
???????
???????
???????
???????
W
???????
???????
???????
???????
???????
???????
???????
???????
???????
???????
???????
???????
???????
???????
???????
???????
???????
???????
???????
???????
??????????????
µ
ν
a’
b’
propagator
a
b
V
V
µ µν
µaa’
ν
b’b
FIG. 1. Feynman diagram for the GW self-energy expressed in our local LCAO and dominant products basis.
Here vµνdenotes the Coulomb interaction vµν=?d3rd3r?Fµ(r)
functions Fµ(r) or the overlaps of the atomic orbitals fa(r) and which are defined as follows
?
Figure 1 shows the Feynman diagram corresponding to eq. (21). The local character of the vertex matrices Vaa?
emphasized in this figure.
1
|r−r?|Fν(r?) which, due to its positivity and sym-
metry, we also refer to as a “Coulomb metric”. Indices are raised or lowered using either the overlaps of the dominant
Oµν=
d3rFµ(r)Fν(r), Sab=
?
d3rfa(r)fb(r). (23)
µ
is
IV. THE INSTANTANEOUS PART OF THE SELF-ENERGY
When the screened Coulomb interaction Wµνin eq (20) is expanded as a function of vχ0, its first term is the
original instantaneous Coulomb interaction Wµν
is frequency independent. In textbook treatments of the theory of the electron gas, it is explained23that the Green’s
function Gab(t−t?) of the electron gas must be defined, at t = t?, by setting t−t?= 0−or by first annihilating and then
creating electrons. Using this prescription and eqs (20, 21) one finds the following result for the frequency-independent
self-energy that corresponds to the Fock operator
inst(t − t?) = vµνδ(t − t?) and the corresponding self-energy in eq (21)
Σab
x(t − t?) = iVaa?
µ
G0
a?b?(0−)Vb?b
?0|c+
ν Wµν
inst(t − t?)
ν vµνδ(t − t?).
(24)
= −Vaa?
µ
a?(0)cb?(0)|0?Vb?b
For small molecules and clusters, the instantaneous self-energy that incorporates the effects of electron exchange may
dominate over the remaining frequency dependent self-energy. If this is the case, we may substitute Σab
and finish the calculation by computing the DOS
xinto eq (21)
ρ(ω + iε) = −1
πSabImGba(ω + iε),
where we have emphasized the non-orthogonality of the basis orbitals by the explicit inclusion of the overlap Sab.
However, the frequency dependent part of the self-energy contains correlation effects that significantly improve the
calculation quantitatively and qualitatively as we demonstrate in sections VI and X. Therefore, we shall present our
approach for the frequency dependent part of the self-energy in the next section.
V.USING SPECTRAL FUNCTIONS TO COMPUTE THE SELF-ENERGY
One might want to solve the eqs (20) and (22) directly as matrix valued equations in time t and to use FFTs31
to shuttle back between the time and frequency domains. Unfortunately, however, this direct approach is doomed to
fail—the functions {Gab(t),Σab(t),Wµν(t)} are too singular at t = 0 to be multiplied together. We will now show
6
Page 7
An O(N3) implementation of Hedin’s GW approximation
how spectral functions come to the rescue and allow us to i) respect locality in our calculations and to ii) accelerate
our calculation by means of FFT.
Let us consider the energy dependent density matrix
?
and rewrite the electronic propagator (14) with the help of it.
?∞
Integral representations such as these are very useful, even in finite systems where the spectral weight is concentrated
at isolated frequencies13,14. Because a spectral function is broadened by the experimental resolution ε, it can be
represented on a discrete mesh of frequencies, with the distance between mesh points somewhat smaller than ε. All
the response functions considered in the present paper have a spectral representation because their retarded and
advanced parts taken together define a single analytic function in the complex frequency plane with a cut on the real
axis.
A spectral representation is merely a rather thinly disguised Cauchy integral as we can see by considering the
Cauchy integral representation of the electronic Greens function
ρab(ω) =
E
XE
aXE
bδ(ω − E) (25)
G0
ab(ω ± iε) =
−∞
ds
ρab(s)
ω ± iε − s.
(26)
Gab(z) =
1
2πi
?
C
Gab(ξ)dξ
ξ − z
, (27)
where C is a path surrounding the point z with Imz > 0 in an anti-clockwise direction. If the point z = ∞ is regular,
the complex plane may be treated like a sphere and we may deform the contour on this sphere in such a way that
it wraps around the cut on the real axis in a clockwise direction. Finally, because Green’s functions take mutually
hermitian conjugate values Gab(z∗) = G∗
?
with z on the upper branch of the cut. In writing the preceding equation we have used the simplifying feature that
the electronic Green’s function is a symmetric matrix in our real representation of angular momenta (the same is
true for the screened Coulomb interaction). In the following, we will always reconstruct correlation functions such as
{Gab(ω), Σab(ω), Wµν(ω)} from their imaginary part or from their spectral functions. The time ordered version of
such correlators is determined above (below) the real axis for positive (negative) frequencies, respectively.
ba(z) across the cut on the real axis, the above integral can the rewritten as
Gab(z) = dsρab(s)
z − s, ρab(z) = −1
πImG0
ab(z) (28)
A.The spectral function of a product of two correlators
The well known convolution theorem31tells us that the spectral content of a product of two signals is the convolution
of the spectral contents of its factors. The situation is entirely analogous for Green’s functions and the other correlators
considered here and their spectral functions. To see this, we use the spectral representations of the time ordered factors
Gab(t), Σab(t), Wµν(t) (the quantities in eqs (19–22) are time ordered)
?∞
Σab(t) = −iθ(t)
0
?∞
where “positive” and “negative” spectral functions define the whole spectral function by means of Heaviside functions.
For instance, the spectral function of the electronic Green’s function reads
Gab(t) = −iθ(t)
0
dsρ+
ab(s)e−ist+ iθ(−t)
?0
?0
?0
−∞
dsρ−
ab(s)e−ist;
?∞
dsσab
+(s)e−ist+ iθ(−t)
−∞
dsσab
−(s)e−ist;
Wµν(t) = −iθ(t)
0
dsγµν
+(s)e−ist+ iθ(−t)
−∞
dsγµν
−(s)e−ist,
(29)
ρab(s) = θ(s)ρ+
ab(s) + θ(−s)ρ−
ab(s).
These representations can be checked by transforming (for example) the representation of Gab(t) into the frequency
domain and by comparing with the known expression (26). We then compute Σab(t) from eq (21) and compare the
7
Page 8
An O(N3) implementation of Hedin’s GW approximation
result with the second of eqs (29) The spectral function of the self-energy is seen to have the expected convolution
form
?∞
σab
−(s) = −
−∞
Note that, as commented above, the Vaa?
µ
matrices are sparse and respect spatial locality. Finally, we can easily
construct the full self-energy from its spectral functions σab
±(s) by a Cauchy type integral
?∞
By entirely analogous arguments, we can find the spectral function of the non interacting response χ0
(19)
?∞
aµν(−s) = −aµν(s),
χ0
µν(ω + iε) =
−∞
We may conveniently do the convolutions in eqs (30, 32) by FFT without encountering any singularities. Analytic
continuations are not needed in our approach.
We have seen in this subsection that the locality of the expressions for Σab(t) and χ0
taken into account without multiplying singular Green’s functions and by focusing instead on the spectral functions
of their products.
σab
+(s) =
0
?∞
0
δ(s1+ s2− s)Vaa?
?0
µ
ρ+
a?b?(s1)Vb?b
ν γµν
+(s2)ds1ds2, (30)
?0
−∞
δ(s1+ s2− s)Vaa?
µ
ρ−
a?b?(s1)Vb?b
ν γµν
−(s2)ds1ds2.
Σab(ω ± iε) =
−∞
σab(s)ds
ω ± iε − s.
(31)
µνfrom eq
aµν(s) =
0
?∞
0
Vab
µρ+
bc(s1)Vcd
νρ−
da(−s2)δ(s1+ s2− s)ds1ds2, for s > 0;
for all s;
?∞
ds
aµν(s)
ω + iε − s,
for ω > 0.
(32)
µν(t) in eqs (19) and (21) can be
B. The second window technique
Although we only need results in a suitable low energy window −λ ≤ ω ≤ λ of a few electron volts, eqs (31, 32)
show that high energy processes at |ω| > |λ| influence quantities at low energies, such as, for example, the self-energy.
Therefore, these high energy processes cannot be ignored and we need the imaginary part of the screened Coulomb
interaction Wµνnot only for small |ω| ≤ λ but also for larger frequencies. To find the imaginary part of Wµν, we
also need, in view of eq (21), the non interacting response χ0
Let us see in the case of the density response, how the necessary spectral information can be obtained from two
separate calculations in two distinct frequency windows13. In the large spectral window −Λ ≤ ω ≤ Λ a low resolution
calculation with a large broadening (and, therefore, a coarse grid of frequencies) is sufficient to find χ0
energies |ω| > |λ|
?Λ
To get correct results in the low energy window −λ ≤ ω ≤ λ we must take into account the spectral weight in this
window
?λ
= χsmall window
µν
µνboth at small and at large frequencies.
µνat large
χ0
µν(ω + iεlarge) =
−Λ
ds
aµν(s)
ω + iεlarge− s.
(33)
χ0
µν(ω + iεsmall) =
−λ
ds
aµν(s)
ω + iεsmall− s
(ω + iεsmall) +?χlarge window
+
??−λ
−Λ
+
?Λ
λ
?
ds
aµν(s)
ω + iεlarge− s
(ω + iεlarge)?
µν
truncated spectral function.
(34)
Instead of doing the second Cauchy integral directly, we construct χlarge window
spectral data that are truncated for |s| < λ to avoid counting the spectral weight in −λ ≤ ω ≤ λ twice. Moreover, the
broadening constant ε is set differently in the first and second windows and corresponds to the spectral resolution in
these windows. We use the second window technique (presented in eq (34) for the case of the density response) again
in the calculation of the self-energy Σab(ω), where we also need the screened interaction in two windows. We combine
µν
from the large spectral window, using
8
Page 9
An O(N3) implementation of Hedin’s GW approximation
the spectral functions of the self-energy in exactly the same way as for the density response. For the cases considered
here, computations using two spectral windows were up to one order of magnitude faster than computations using a
single spectral window. The effect of using the two window technique is similar to the acceleration from eliminating
empty states in other approaches19,32.
VI. TESTING OUR IMPLEMENTATION OF GW ON A SMALL MOLECULE
The methods presented above are sufficient to compute the self-energy (2) of small molecules33. As a test, we will
compute the interacting Green’s function by solving Dyson’s equation (1). From this Green’s function we can obtain
the DOS and estimate the positions of the HOMO and LUMO levels. Here we illustrate this procedure in the case
of benzene. This molecule has been chosen because extensive theoretical results and experimental data are available
for it. Our calculations show a considerable improvement using the GW approximation as compared to the results
obtained with plain DFT calculations using local or semi-local functionals. In general, for small molecules we find a
reasonable agreement with experimental data and previous GW calculations of the ionization potentials and electron
affinities.
The input for our GW method has been obtained from calculations using the local density approximation (LDA) and
the SIESTA package10. SIESTA uses a basis set of strictly confined numerical atomic orbitals. The extension of these
orbitals is consistently determined with an energy shift parameter. In general, the smaller the energy shift the larger
the extension of the orbitals, although the procedure results in different cutoff radii for each particular orbital34. In
the present calculations we have used the default double-ζ polarized (DZP) basis, along with the Perdew-Zunger LDA
exchange-correlation functional35and pseudo-potentials of the Troullier-Martins type36. Our calculations indicate
(see table I) that it is necessary to use rather extended orbitals to obtain converged results for the HOMO and LUMO
levels. For the most extended basis used here (determined from an energy shift of 3 meV) all the orbitals in benzene
have a non-zero overlap and, in principle, the number of products of orbitals is 11664. This number is largely reduced
using the algorithm described in Ref.12, and the dominant product basis (see eq (16) ) only contains 2325 functions.
The spectral functions have been discretized using a grid with Nω= 512 points in the range from −80 eV to 80 eV.
Figure 2 shows the DOS calculated with different Green’s functions. As one can see, the input Green’s function
G0from a DFT-LDA calculation has a very small HOMO-LUMO gap. The Green’s function G obtained with the
instantaneous part of the self-energy (see eq 24) opens the HOMO-LUMO gap. This part of the self-energy Σx
incorporates the effect of exchange and is very important for small molecules. However, the gap is over-estimated
as one can already anticipate from typical mean-field Hartree-Fock calculations. Correlation effects are partially
taken into account by the dynamical part of the GW self-energy. This brings the HOMO-LUMO gap closer to the
experimental value. Our results stay also in agreement with other works using similar approximations (G0W0on top
of DFT-LDA)19,37.
-15-10 -5 0 5
DOS
Binding energy, eV
Vacuum
Fermi
HOMO
LUMO
DFT
GWx
GWxc
a) b)
FIG. 2. a) Density of states of benzene computed from different Green’s functions using as an input the results of a DFT-LDA
calculation performed with the SIESTA package. A DZP basis set, with orbital radii determined using a value of the energy
shift parameter of 3 meV, has been used. The results shown in this figure are obtained with a single energy window. GWx
refers to the results obtained with only the instantaneous part of the self-energy (only exchange), while GWxc labels the results
obtained with the whole self-energy (incorporating additional correlation effects). b) Ball and stick model of benzene produced
with the XCrysDen package38.
9
Page 10
An O(N3) implementation of Hedin’s GW approximation
Energy-shift,
meV
150
30
3
Experiment
One window
IP, eV EA, eV IP, eV EA, eV
8.48 -1.89
8.69 -1.43
8.75-1.28
9.25-1.12
Two windows
8.49
8.76
8.79
9.25
-2.02
-1.59
-1.37
-1.12
TABLE I. Ionization potentials and electron affinities for benzene versus the extension of the basis functions. The extension of
the atomic orbitals is determined using the energy shift parameter of the SIESTA method34. Note that rather extended orbitals
are necessary to achieve converged results. Differences associated with the use of the second window technique introduced in
section (VB) are of the order of 0.1 eV. The experimental ionization potential is taken from the NIST server39. The electron
affinity of benzene is taken from40.
Apart from the GW approximations to the self-energy (2), our numerical method is controlled by precision param-
eters of a more technical nature. Table I present the results for the ionization (IP) and electron affinity (EA) as a
function of the extension of the atomic orbitals in the original LDA calculation as determined from the energy shift
parameter34. An energy shift of 150 meV is usually sufficient to have an appropriate description of the ground-state
properties of the molecules10. However, we can see that our GW calculation requires more extended (smaller energy
shift) orbitals. The slow convergence of the ionization potential of benzene with respect to the quality/completeness
of the basis set has also been observed in the plane-wave calculations (using Wannier functions) of Ref.19.
Table I also shows the results of calculations using one and two energy windows. The former calculation is more
straightforward but requires the same density of frequency points at higher energies as in the region of interest near
the HOMO and LUMO levels. The latter calculation uses two separate frequency grids: as described in section VB a
lower resolution and a larger imaginary part of the energy are used for the whole spectral range, while high resolution
and a small width are used in the low energy range to resolve the HOMO and LUMO levels. Thus, the second
window technique requires the computation of both the response function and screened Coulomb interaction at far
fewer frequencies than the one-window calculation. For instance, the one-window results presented above have been
obtained with Nω= 512 frequencies, while the two-window results used only Nω= 96 frequencies in both windows,
implying a gain of a factor 2.7 in speed and in memory. The first and second window extend to 12.58 eV and 80
eV, respectively. The lower number of frequencies obviously accelerates the calculation and saves memory, while
introducing very small inaccuracies in the low frequency region. According to table I the positions of HOMO and
LUMO agree within 0.1 eV. Figure 3 shows that the second window leads to changes that are small, both in the
HOMO and LUMO positions, and in the density of states at low energies.
-15 -10-5 0 5
DOS
Binding energy, eV
Vacuum
Fermi
HOMO
LUMO
One window
Two windows
FIG. 3.
window technique. The peak positions are very weakly perturbed by using the two windows technique. The parameters of the
calculation are identical with those of figure 2. The two windows technique allowed to reduce the number of frequency points
from Nω = 512 to Nω = 96.
The density of states of benzene computed with a uniformly discretized spectral function and using the second
The calculations presented in this section needed a fairly large amount of random access memory (RAM). The
amount of RAM increases as N2with N the number of dominant products, which prohibits the treatment of larger
molecules using the methods described above in a straightforward manner. However, as we will see in the next section,
we can use a compression method that dramatically reduces the required memory.
10
Page 11
An O(N3) implementation of Hedin’s GW approximation
VII.COMPRESSION OF THE COULOMB INTERACTION
As shown in Ref.14it is possible to solve the Petersilka-Gossmann-Gross equations41for time-dependent density
functional theory (TDDFT) using a Lanczos type approach if, for example, we are only interested in the polarizability
tensor of the system. In this way, we avoid keeping the entire linear response matrix χ0
Unfortunately, we were unable to find an analogous Lanczos type procedure for the self-energy matrix. However,
we have found an alternative solution to this problem. It consists of taking into account the electron dynamics and
keeping preferentially those dominant products that are necessary to describe χ0
µν(ω) in the computer memory.
µνin the relevant range of frequencies.
A. Defining a subspace within the space of products
Consider the following closed form expression of the non interacting response χ0
µν(ω) of eq (19)
χ0
µν(ω + iε) = 2
?
E,F
VEF
µ
nF− nE
ω + iε − (E − F)VEF
ν
, where VEF
µ
= XE
aVab
µXE
b. (35)
This is a well known expression, but rewritten in the basis of dominant products13. It must be emphasized that we
do not use this equation to compute χ0
the exact non interacting response is nonetheless crucial for motivating our method of compression.
Clearly χ0
µ
. On the other hand, the entire space of products is, by
construction, of only O(N) dimensions. Therefore, there must be a significant amount of collinearity in the set of
vectors VEF
µ
and a much smaller subset of such vectors should span the space where χ0
the generators of this subspace, we sort the vectors {VEF
µν(ω) (it would require O(N4) operations) but this explicit representation of
µν(ω) is built up from O(N2) vectors VEF
µν(ω) acts. As candidates for
µ
} according to |E| + |F| up to a certain rank Nrank)
{Xn
µ} ≡ subset of {VEF
µ
} limited according to |E| + |F| < Ethreshold,n = 1...Nrank. (36)
Here we treat pairs {E,F} of the same and of opposite signs on the same footing. As a first test of whether the
subspace carries enough information, we define a projector onto it
gmn= Xm
µvµνXn
ν;
ν, where gmn= (gmn)−1;
(37)
Pµν= Xm
ν= vµµ?Pµ?ν.
µgmnXn
Pµ
It can be shown without difficulty that Pµ
screened Coulomb interaction onto the subspace generated by the set {Xn
νis indeed a projector in the sense of P2= P. We can use it to project the
µ}n=1..Nrank
Wµν
projected(ω) = Pµ
µ?Pν
ν?Wµ?ν?(ω). (38)
We must choose Nranklarge enough so that the trace of the projected spectral density Wµν
close to the original one. We checked that this works even for Nrankconsiderably smaller than the original dimension
of the space of products. We can go further and reduce the dimension of the subspace by eliminating collinear vectors
from it. We do this by diagonalizing the matrix gmnin eq (37) and by defining new vectors Zλ
projected(ω) is sufficiently
µ
gmnξλ
n= λξλ
Zλ
m,
µ≡ Xm
µξλ
m/
√
λ.(39)
To define the vector space {Zλ
a threshold with respect to the Coulomb metric vµνand we then normalize the remaining vectors, for simplicity. As
a result of this procedure, we obtain a smaller set of vectors that we denote again by {Znµ} with n = 1...Nsubrank,
with Nsubrank≤ Nrankand the additional property that they are orthonormal with respect to the Coulomb metric
vµν
µ}, we first discard the eigenvectors ξλ
mthat correspond to eigenvalues λ smaller than
Zµ
mZnµ= δmn, where Zµ
m= vµνZmν, for m,n = 1...Nsubrank. (40)
11
Page 12
An O(N3) implementation of Hedin’s GW approximation
B.
subspace
Construction of the screened interaction from the action of the response function in the
From the preceding discussion we know that χ0
subspace {Zn
µνcan be adequately represented in the previously constructed
µ} in the sense of
χ0
µν= Zmµχ0
mnZnν, with χ0
mn= Zµ
mχ0
µνZν
n. (41)
To see which form the screened Coulomb interaction (3) takes for such a density response χ0
µν, we write it as a series
Wµν=
?
1
v−1− χ0
?µν
= vµν+ vµµ?χ0
µ?ν?vν?ν+ vµµ?χ0
µ?ν?vν?µ??χ0
µ??ν??vν??ν+ ···
(42)
Because χ0acts — by hypothesis — only in the subspace, the series may be simplified. Lets insert the representation
of the response function χ0
µνof eq (41) into the series (42)
Wµν= vµν+ vµµ??Zmµ?χ0
then use the orthogonality property of the basis vectors Zmµ(40) and find
mnZnν??vν?ν+ vµµ??Zmµ?χ0
mnZnν??vν?µ???Zmµ??χ0
mnZnν???vν??ν+ ··· ,
Wµν= vµν+ Zµ
= vµν+ Zµ
mχ0
mχRPA
mr
mnZν
?δrn+ χ0
rn+ χ0
rsχ0
sn+ ···?Zν
n= (43)
n.
Here we introduced the new response function χRPA
conclude that the dynamically screened Coulomb interaction Wµνcan be computed in terms of the response function
χRPA
mn
within the previously constructed subspace and the matrix inversion in this smaller space is of course much
cheaper than in the original space. This is a welcome feature — the number of operations for matrix inversion scales
with the cube of the dimension and a compression by a factor 10 will lead to a 1000 fold acceleration of this part of
the computation.
mn
≡
?δmk− χ0
mk
?−1χ0
kn. From the preceding arguments we
C. Example of compression for benzene
The compression procedure presented above leads to a strong reduction in the dimension of the basis in the space
of orbital products. Before using this compression in actual calculations, we would like to illustrate it in the case of
the relatively small benzene molecule. To judge the quality of the compression, we compare the trace of the original
screened interaction with the trace of the projected screened interaction. The result of the comparison can be seen
in figure 4. In this test calculation, the dominant product basis consists of 921 functions, while the compressed basis
contains only 248 functions. Examples of compression for larger molecules will be presented in section X.
This example shows that the screened Coulomb interaction can be compressed. A practical algorithm that maintains
the O(N3) complexity scaling of the calculation will be presented in the next section.
VIII.
DECOMPRESSING
MAINTAINING O(N3) COMPLEXITY SCALING BY COMPRESSING /
The favorable O(N2) scaling of the construction of the uncompressed non interacting response χ0
locality. On the other hand, we need compression for χ0
no longer local. To satisfy the two mutually antagonistic criteria of i) locality (for computational speed) and ii) small
dimension (to fit into the computer memory) we shuttle back and forth as needed between the uncompressed/local
and the compressed/non local representations of the response χ0and of the screened interaction W. Both compression
and decompression are matrix operations that scale as O(N3) and this, along with the matrix inversion in eq (43)
in the computation of the screened Coulomb interaction, and the computation of the spectral densities ρ±
reason why our implementation of GW scales as O(N3).
µνis due to its
µνto fit into the computer memory and the compressed χ0
mnis
ab(s) is the
12
Page 13
An O(N3) implementation of Hedin’s GW approximation
0
200
400
600
800
1000
1200
1400
1600
1800
2000
0 10 20 30 40 50 60 70 80
Σµν Im(Wµν)
ω, eV
a)
Original
Compressed
0
5
10
15
20
25
30
35
40
45
0 10 20 30 40 50 60 70 80
Absolute error
ω, eV
b)
FIG. 4. a) Comparison of the screened interaction calculated for benzene using our original dominant product basis and the
screened interaction projected to a compressed product basis (see eq. (38)). We plot the sum of all the matrix elements of
the imaginary part of the screened interaction. b) A plot of the difference of the functions represented in panel a. The change
in spectral weight of the screened interaction due to compressing the space of dominant products is seen to be small. Please
notice the different scales of the y-axis in both panels.
A. A construction of the subspace response in O(N3) operations
Let us describe an efficient construction of the response χ0
gives us an opportunity to describe our use of frequency and time domains during the calculation. Consider eq (32)
that involves convolutions of the spectral functions ρ+
theorem, we will first compute the spectral function of the free response aµν(s) in the time domain
?
= 2πVab
ad(t).
µνand its compressed counterpart χ0
mnthat, besides,
bc(ω) and ρ−
ad(ω) ≡ ρ−
ad(−ω). To make use of the convolution
aµν(t) =
ds
2πaµν(s)eist= 2π
µρ+
?∞
0
Vab
µρ+
bc(s1)eis1tds1
2π·
?∞
0
Vcd
νρ−
ad(−s2)eis2tds2
2π
bc(t)Vcd
νρ−
(44)
In other words, we prepare the use of the FFT driven convolution by first computing the Fourier transforms of the
electronic spectral densities ρ±and once aµν(t) is computed, we return to aµν(s) by an inverse Fourier transformation.
This is nothing else but the fast convolution method with the Fourier transform of the spectral densities ρ+
ρ−
ad(ω) carried out prior to the tensor operations in eq (44).
Above we saw how to compute the spectral function of the free density response. However, as we mentioned before,
we cannot easily store this information in the memory of the computer and we must therefore compress this quantity
as soon as it is found to avoid over flooding the computer memory. An efficient way to do this is to compute aµν(t),
the spectral function of the free response in the time domain, in a “time by time” fashion, with the time variable t in
the outer loop. Fortunately, the compression of the response χ0
of its spectral function aµν(t) separately for each time.
bc(ω) and
µνaccording to equation (41) can be done on the level
B.A construction of the self-energy in O(N3) operations
Although we use the spectral function given by eq (30) to compute the self-energy in the second of eqs (29), it
is useful to think also of eq (21) that corresponds to the Feynman diagram of Figure 1 and which has the same
locality properties. Please recall that the vertex in eq (16) is sparse and local and that the indices {a,a?,µ} and
{b,b?,ν} must each reside on a single pair of overlapping atoms. Once the indices a,b of the self-energy are specified,
there are only O(N0) possibilities of choosing the remaining indices. Therefore, the calculation of Σab(t) requires
asymptotically O(N2) operations provided that the screened Coulomb interaction Wµνin a basis of localized functions
is known. However, the local screened Coulomb interaction Wµνin the original space of dominant products does
not fit into the computer memory as opposed to the compressed, but non local, response χRPA
eq (43)). We may, however, regain locality by decompressing χRPA
identity Wµν
“decompress χRPA
mn on the fly”. To do this, let us transform the first of eqs (30) into the time domain. For instance,
for the positive part of the spectral density σab
+(t) of the self-energy, we find
mn
that we store (see
mn
dynamicalin the computer memory, we must try to
at the cost of O(N3) operations, using the
dynamical= Zµ
mχRPA
mnZν
nin eq (43). As we cannot keep Wµν
13
Page 14
An O(N3) implementation of Hedin’s GW approximation
σab
+(t) = 2πVaa?
µ
ρ+
a?b?(t)Vb?b
ν γµν
+(t).
Again, the representation in time of ρ+
for all times does not fit into the computer memory. Therefore we also decompress γµν
time t run in the outer loop, by computing γµν
σab
a?b?(t) is prepared only once. However, the transform γµν
+(t) = −1
+(t) time by time by letting the
πZµ
mImχRPA
mn(t)Zν
n
+(t) via decompression for a single time, and by storing only the result
±(t) for all times, we can find σab
±(t) for each time. Once we have computed σab
±(s) from it.
IX. A SUMMARY OF THE COMPLETE ALGORITHM
At this point, it is useful to briefly recapitulate the different steps of our implementation of Hedin’s GW approxi-
mation. It consists of the following steps:
1. Export the results of a DFT code that uses numerical local atomic orbitals as a basis set. Here we use the
SIESTA code10, but other codes like the FHI-AIMS code42could also be used.
2. Set up a basis of dominant products in O(N) operations. Here we use the method of Ref.12.
3. Set up a space of reduced dimension where the screened Coulomb interaction will act and exploiting the low
effective rank of this set. Such a subspace is determined by a set of Nrank vectors VEF
pairs with a predetermined maximum value of |E| + |F|. Further compression is obtained by diagonalizing the
Coulomb metric projected onto this subspace. This step requires O(N3) operations.
µ
that correspond to
4. Choose low and high energy spectral windows and a frequency grid. Prepare the electronic spectral density
ρab(s) in these two windows from the output of the DFT calculation.
5. Find χRPA
for χRPA
Truncate the spectral data where needed in order to avoid double counting and store χRPA
mn
by constructing and compressing the local χ0
for all frequencies in O(N3) operations. The construction must be done in two frequency windows.
µν“on the fly” in O(N3) operations and by solving
mn
mn in the two windows.
6. Find the spectral function of the self-energy by decompressing χRPA
and by convolving it with the electronic spectral function. Again this must be done in two frequency windows
and the results must be combined consistently.
mn
→ Wµν“on the fly” in O(N3) operations
7. Construct the self-energy from its spectral representation.
8. Solve Dyson’s equation and find the density of states from the interacting Green’s function. Obtain the desired
spectroscopic information from the density of states.
Results obtained with the above algorithm will be discussed in the next section.
X. TESTS FOR MOLECULES OF INTERMEDIATE SIZE
The compression technique has been carefully tested in the case of the benzene molecule. The tests show excellent
agreement of the density of states computed with and without compression. In this section, we will consider larger
molecules such as the hydrocarbons naphthalene and anthracene33. These molecules are well known to differ in their
character as electron acceptors: naphthalene, like benzene, has a negative electron affinity, while anthracene is an
electron acceptor with positive electron affinity.
A compression of the dominant product basis is necessary to treat the molecules considered in this section. These
molecules are too large for a calculation without compression on ordinary desktop machines because of memory
requirements. For naphthalene the dominant product basis contained 4003 functions, which where reduced to 433
functions after compression. In the case of anthracene, the dominant product basis contained 5796 functions, while
the compressed basis had only 598 functions.
Table II shows our results for naphthalene and anthracene. The computational details were similar to those used
for benzene and already described in section VI. The two-window results were obtained with frequency grids of only
64 points for naphthalene (in the ranges ± 8.32 eV and ± 80 eV) and yet it provides an accuracy on the 0.1 eV
level, while the one-window calculation is done again with 512 frequencies (in the range of ± 80 eV). In the case of
anthracene, results using frequency grids of 128 points (in the ranges ± 16 eV and ± 90 eV) are presented.
14
Page 15
An O(N3) implementation of Hedin’s GW approximation
NaphthaleneAnthracene
Two windows Energy-shift,
meV
200
20
Experiment
One window
IP, eV EA, eV IP, eV EA, eV IP, eV EA, eV
7.17-0.70 7.22
7.59 -0.0657.63
8.14 -0.1918.14
Two windows
-0.73
-0.11
-0.191
6.50
6.88
7.439
0.21
0.79
0.530
TABLE II. Ionization potentials and electron affinities for naphthalene and anthracene and their dependence on the extension
of the atomic orbitals. For naphthalene we compared the results obtained with spectral functions discretized in one or two
windows. The experimental data has been taken from the NIST server39. For naphthalene and anthracene, vertical ionization
potentials are not available at the NIST database. Therefore we give experimental ionization energies including effects of
geometry relaxation.
-15-10 -5 0 5
DOS
Binding energy, eV
Vacuum
Fermi
HOMO
LUMO
One window
Two windows
a) b)
FIG. 5. a) Density of states for naphthalene. The results have been obtained with our most extended basis orbitals (corre-
sponding to an energy shift of 20 meV34). We can appreciate the accuracy of the second window technique. b) Ball and stick
model of naphthalene produced with the XCrysDen package38.
Again we find a large improvement over the position of the Kohn-Sham levels in a DFT-LDA calculation. The
agreement with the experimental data is certainly improved, although there are still significant deviations, particularly
with respect to the reported ionization potentials. Interestingly, however, our calculations recover the important
qualitative feature of anthracene being an electron acceptor. In the case of anthracene, the results obtained with
our most extended basis orbitals (energy shift of 20 meV) are in excellent agreement with the recent calculations by
Blase et al.5. In the case of naphthalene we can see that the two frequency windows technique introduces only tiny
differences (below 0.1 eV) in the positions of the HOMO and LUMO levels.
The corresponding DOS is shown in figures 5 and 6. One can see in figure 6 that it is the dynamical part of the
self-energy, including correlation effects, that turns our theoretical anthracene into an acceptor, while including only
the instantaneous self-energy predicts anthracene to be a donor.
These results for molecules of modest size are just a first application of our algorithm. With its favorable scaling,
our method aims at GW calculations for larger molecules of the type used in organic semiconductors. However, before
carrying out such studies, we should reduce the initial number of dominant products i. e. before any compression is
applied to it.
XI. CONCLUSIONS AND OUTLOOK
In the present paper we have described our approach to Hedin’s GW approximation for finite systems. This approach
provides results for densities of states and gaps that are in reasonable agreement with experiment and it requires only
modest computer resources33for the systems presented here. The complexity of our algorithm scales asymptotically
as the third power of the number of atoms, while the needed memory grows with the second power of the number of
atoms. We hope that these features, along with a further reduction of the size of the basis describing the products of
localized orbitals, will allow to apply our method to describe the electronic structure of large molecules and contribute
to an ab-initio design of organic semiconductors for technological applications.
The algorithm described here is built upon the LCAO technique10and uses a previously constructed basis in
15
Download full-text