diff --git a/Polynomial/include/CGAL/Polynomial/polynomial_functions.h b/Polynomial/include/CGAL/Polynomial/polynomial_functions.h
index 76e4ebc97bd..608a5e9cf80 100644
--- a/Polynomial/include/CGAL/Polynomial/polynomial_functions.h
+++ b/Polynomial/include/CGAL/Polynomial/polynomial_functions.h
@@ -171,7 +171,38 @@ substitute_xy(
return sub;
}
+//! coefficient aij of xiyj
+template < class NT >
+NT coefficient(const CGAL::Polynomial< CGAL::Polynomial< NT > > &p,
+ int i, int j) {
+ typedef CGAL::Polynomial_traits_d<
+ CGAL::Polynomial< CGAL::Polynomial< NT > > > PT_2;
+ CGAL_precondition(2 == PT_2::d);
+ typename PT_2::Get_innermost_coefficient coefficient;
+ CGAL::Exponent_vector ev;
+ ev.push_back(i);
+ ev.push_back(j);
+ return coefficient(p, ev);
+}
+
+//! coefficient aijk of xiyjzk
+template < class NT >
+NT coefficient(
+ const CGAL::Polynomial < CGAL::Polynomial< CGAL::Polynomial< NT > > >
+ &p,
+ int i, int j, int k) {
+
+ typedef CGAL::Polynomial_traits_d<
+ CGAL::Polynomial< CGAL::Polynomial< CGAL::Polynomial< NT > > > > PT_3;
+ CGAL_precondition(3 == PT_3::d);
+ typename PT_3::Get_innermost_coefficient coefficient;
+ CGAL::Exponent_vector ev;
+ ev.push_back(i);
+ ev.push_back(j);
+ ev.push_back(k);
+ return coefficient(p, ev);
+}
CGAL_END_NAMESPACE