CheMPS2
TensorS1.h
1 /*
2  CheMPS2: a spin-adapted implementation of DMRG for ab initio quantum chemistry
3  Copyright (C) 2013-2016 Sebastian Wouters
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License along
16  with this program; if not, write to the Free Software Foundation, Inc.,
17  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
18 */
19 
20 #ifndef TENSORS1_CHEMPS2_H
21 #define TENSORS1_CHEMPS2_H
22 
23 #include "Tensor.h"
24 #include "TensorT.h"
25 #include "TensorL.h"
26 #include "TensorOperator.h"
27 #include "SyBookkeeper.h"
28 
29 namespace CheMPS2{
35  class TensorS1 : public TensorOperator{
36 
37  public:
38 
40 
44  TensorS1(const int boundary_index, const int Idiff, const bool moving_right, const SyBookkeeper * denBK);
45 
47  virtual ~TensorS1();
48 
49  //Make new TensorS1 (vs update)
53  void makenew(TensorL * denL, TensorT * denT, double * workmem);
54 
55  private:
56 
57  //makenew when movingright
58  void makenewRight(TensorL * denL, TensorT * denT, double * workmem);
59 
60  //makenew when movingleft
61  void makenewLeft(TensorL * denL, TensorT * denT, double * workmem);
62 
63  };
64 }
65 
66 #endif
Definition: CASPT2.h:42
virtual ~TensorS1()
Destructor.
Definition: TensorS1.cpp:38
TensorS1(const int boundary_index, const int Idiff, const bool moving_right, const SyBookkeeper *denBK)
Constructor.
Definition: TensorS1.cpp:27
void makenew(TensorL *denL, TensorT *denT, double *workmem)
Definition: TensorS1.cpp:40
bool moving_right
Whether or not moving right.