def _solution_factory(self, basis_kwargs, coefs_array, nodes, problem, result):
soln_coefs = self._array_to_list(coefs_array, problem.number_odes)<EOL>soln_derivs = self._construct_derivatives(soln_coefs, **basis_kwargs)<EOL>soln_funcs = self._construct_functions(soln_coefs, **basis_kwargs)<EOL>soln_residual_func = self._interior_residuals_factory(soln_derivs,<EOL>soln_funcs,<EOL>problem)<EOL>solution = solutions.Solution(basis_kwargs, soln_funcs, nodes, problem,<EOL>soln_residual_func, result)<EOL>return solution<EOL>
Construct a representation of the solution to the boundary value problem.

Parameters
----------
basis_kwargs : dict(str : )
coefs_array : numpy.ndarray
problem : TwoPointBVPLike
result : OptimizeResult

Returns
-------
solution : SolutionLike