Reference documentation for deal.II version 9.1.1
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
polynomials_bernstein.h
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2013 - 2018 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii_polynomials_bernstein_h
17 #define dealii_polynomials_bernstein_h
18 
19 
20 #include <deal.II/base/polynomial.h>
21 
22 #include <fstream>
23 #include <iostream>
24 
25 
26 DEAL_II_NAMESPACE_OPEN
27 
40 template <typename number>
42 {
43 public:
62  PolynomialsBernstein(const unsigned int index, const unsigned int degree);
63 };
64 
65 
66 template <typename number>
67 std::vector<Polynomials::Polynomial<number>>
68 generate_complete_bernstein_basis(const unsigned int degree)
69 {
70  std::vector<Polynomials::Polynomial<number>> v;
71  for (unsigned int i = 0; i < degree + 1; ++i)
72  v.push_back(PolynomialsBernstein<number>(i, degree));
73  return v;
74 }
75 
76 DEAL_II_NAMESPACE_CLOSE
77 
78 #endif
unsigned int degree() const
Definition: polynomial.h:775
PolynomialsBernstein(const unsigned int index, const unsigned int degree)