gctl_optimization/example/cfg_ex.cpp
2025-02-22 18:10:15 +08:00

46 lines
2.2 KiB
C++

/********************************************************
* ██████╗ ███████╗████████╗██╗
* ██╔════╝ ██╔════╝╚══██╔══╝██║
* ██║ ███╗███████╗ ██║ ██║
* ██║ ██║╚════██║ ██║ ██║
* ╚██████╔╝███████║ ██║ ███████╗
* ╚═════╝ ╚══════╝ ╚═╝ ╚══════╝
* Generic Scientific Template Library
*
* Copyright (c) 2022 Yi Zhang (yizhang-geo@zju.edu.cn)
*
* The GSTL is distributed under a dual licensing scheme. You can redistribute
* it and/or modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation, either version 2
* of the License, or (at your option) any later version. You should have
* received a copy of the GNU Lesser General Public License (LGPL) along with
* this program. If not, see <http://www.gnu.org/licenses/>.
*
* If the terms and conditions of the LGPL v.2. would prevent you from using
* the GSTL, please consider the option to obtain a commercial license for a
* fee. These licenses are offered by the GSTL's original author. As a rule,
* licenses are provided "as-is", unlimited in time for a one time fee. Please
* send corresponding requests to: yizhang-geo@zju.edu.cn. Please do not forget
* to include some description of your company and the realm of its activities.
* Also add information on how to contact you by electronic and paper mail.
******************************************************/
#include "../lib/optimization/cmn_grad.h"
using namespace gctl;
int main(int argc, char *argv[]) try
{
common_gradient cmg;
cmg.init(2, 2);
cmg.fill_model_gradient(0, _1d_array({1.0, 0.5}));
cmg.fill_model_gradient(1, _1d_array({-0.6, 1.0}));
_1d_array x = cmg.get_common_gradient(false);
std::cout << "x = (" << x[0] << ", " << x[1] << ")\n";
return 0;
}
catch (const std::exception& e)
{
GCTL_ShowWhatError(e.what(), GCTL_ERROR_ERROR, 0, 0, 0);
}