XACC
nlopt_optimizer.hpp
1 /*******************************************************************************
2  * Copyright (c) 2019 UT-Battelle, LLC.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * and Eclipse Distribution License v1.0 which accompanies this
6  * distribution. The Eclipse Public License is available at
7  * http://www.eclipse.org/legal/epl-v10.html and the Eclipse Distribution
8  *License is available at https://eclipse.org/org/documents/edl-v10.php
9  *
10  * Contributors:
11  * Alexander J. McCaskey - initial API and implementation
12  *******************************************************************************/
13 #ifndef XACC_NLOPT_OPTIMIZER_HPP_
14 #define XACC_NLOPT_OPTIMIZER_HPP_
15 
16 #include <type_traits>
17 #include <utility>
18 
19 #include "Optimizer.hpp"
20 
21 namespace xacc {
22 
24  std::function<double(const std::vector<double>&, std::vector<double>&)> f;
25 };
26 
27 class NLOptimizer : public Optimizer {
28 public:
29  OptResult optimize(OptFunction &function) override;
30 
31  const std::string name() const override { return "nlopt"; }
32  const std::string description() const override { return ""; }
33 };
34 } // namespace xacc
35 #endif
Definition: Accelerator.hpp:25
Definition: nlopt_optimizer.hpp:23
const std::string name() const override
Definition: nlopt_optimizer.hpp:31
Definition: nlopt_optimizer.hpp:27
Definition: Optimizer.hpp:48
const std::string description() const override
Definition: nlopt_optimizer.hpp:32
Definition: Optimizer.hpp:31