#pragma once #include #include #include "drake/common/symbolic/expression.h" namespace drake { namespace solvers { using DecisionVariable = symbolic::Variable; template using MatrixDecisionVariable = Eigen::Matrix; template using VectorDecisionVariable = MatrixDecisionVariable; using MatrixXDecisionVariable = MatrixDecisionVariable; using VectorXDecisionVariable = VectorDecisionVariable; using VariableRefList = std::list>; /** * Concatenates each element in \p var_list into a single Eigen vector of * decision variables, returns this concatenated vector. */ [[nodiscard]] VectorXDecisionVariable ConcatenateVariableRefList( const VariableRefList& var_list); } // end namespace solvers } // end namespace drake