11#ifndef FUNCTIONS_LINEAR_TRANSFORMATION_H_
12#define FUNCTIONS_LINEAR_TRANSFORMATION_H_
20namespace coxeter_triangulation {
29template <
class Function_>
35 Eigen::VectorXd
operator()(
const Eigen::VectorXd& p)
const {
36 Eigen::VectorXd result = fun_(matrix_.householderQr().solve(p));
41 std::size_t
amb_d()
const {
return fun_.amb_d(); }
44 std::size_t
cod_d()
const {
return fun_.cod_d(); }
47 Eigen::VectorXd
seed()
const {
48 Eigen::VectorXd result = fun_.seed();
49 result = matrix_ * result;
60 Linear_transformation(
const Function_& function,
const Eigen::MatrixXd& matrix) : fun_(function), matrix_(matrix) {}
64 Eigen::MatrixXd matrix_;
79template <
class Function_>
Linear_transformation< Function_ > make_linear_transformation(const Function_ &function, const Eigen::MatrixXd &matrix)
Static constructor of a linearly transformed function.
Definition: Linear_transformation.h:80
Gudhi namespace.
Definition: SimplicialComplexForAlpha.h:14