ExaTN
network_builder_mps.hpp
1 
10 #ifndef EXATN_NUMERICS_NETWORK_BUILDER_MPS_HPP_
11 #define EXATN_NUMERICS_NETWORK_BUILDER_MPS_HPP_
12 
13 #include "tensor_basic.hpp"
14 #include "network_builder.hpp"
15 
16 #include <string>
17 #include <memory>
18 
19 namespace exatn{
20 
21 namespace numerics{
22 
24 
25 public:
26 
28  NetworkBuilderMPS(const NetworkBuilderMPS &) = default;
29  NetworkBuilderMPS & operator=(const NetworkBuilderMPS &) = default;
30  NetworkBuilderMPS(NetworkBuilderMPS &&) noexcept = default;
31  NetworkBuilderMPS & operator=(NetworkBuilderMPS &&) noexcept = default;
32  virtual ~NetworkBuilderMPS() = default;
33 
35  virtual bool getParameter(const std::string & name, long long * value) const override;
36 
38  virtual bool setParameter(const std::string & name, long long value) override;
39 
41  virtual void build(TensorNetwork & network) override;
42 
43  static std::unique_ptr<NetworkBuilder> createNew();
44 
45 private:
46 
47  long long max_bond_dim_; //maximal internal bond dimension
48 };
49 
50 } //namespace numerics
51 
52 } //namespace exatn
53 
54 #endif //EXATN_NUMERICS_NETWORK_BUILDER_MPS_HPP_
exatn::numerics::TensorNetwork
Definition: tensor_network.hpp:72
exatn::numerics::NetworkBuilderMPS::setParameter
virtual bool setParameter(const std::string &name, long long value) override
Definition: network_builder_mps.cpp:34
exatn
Definition: DriverClient.hpp:10
exatn::numerics::NetworkBuilderMPS
Definition: network_builder_mps.hpp:23
exatn::numerics::NetworkBuilderMPS::build
virtual void build(TensorNetwork &network) override
Definition: network_builder_mps.cpp:46
exatn::numerics::NetworkBuilderMPS::getParameter
virtual bool getParameter(const std::string &name, long long *value) const override
Definition: network_builder_mps.cpp:22
exatn::numerics::NetworkBuilder
Definition: network_builder.hpp:25