DGtal 1.4.0
Loading...
Searching...
No Matches
polynomial2-derivative.cpp
Go to the documentation of this file.
1
35#include <iostream>
36#include <string>
37#include <sstream>
38#include "DGtal/math/MPolynomial.h"
39#include "DGtal/io/readers/MPolynomialReader.h"
41
43
44using namespace DGtal;
45
47
48void usage( int, char** argv )
49{
50 std::cerr << "Usage: " << argv[ 0 ] << " <P(x,y)>" << std::endl;
51 std::cerr << "\t - computes the first and second derivatives of the given polynomial P (in two variables)." << std::endl;
52}
53
57int main( int argc, char** argv )
58{
59 if ( argc < 2 )
60 {
61 usage( argc, argv );
62 return 1;
63 }
64
66 typedef double Ring;
67 typedef MPolynomial<2, Ring> MyPolynomial;
69
71 std::string polynomialString( argv[ 1 ] );
72 std::istringstream polynomialIStream( polynomialString );
73 MyPolynomial P;
74 polynomialIStream >> P;
75 MyPolynomial P1_0 = derivative<0>( P );
76 MyPolynomial P2_0 = derivative<0>( P1_0 );
77 MyPolynomial P0_1 = derivative<1>( P );
78 MyPolynomial P0_2 = derivative<1>( P0_1 );
79 MyPolynomial P1_1 = derivative<1>( P1_0 );
80 MyPolynomial P1_1b= derivative<0>( P0_1 );
81 std::cout << "P(X_0,X_1) = " << P << std::endl;
82 std::cout << "dP/dX_0(X_0,X_1) = " << P1_0 << std::endl;
83 std::cout << "dP/dX_1(X_0,X_1) = " << P0_1 << std::endl;
84 std::cout << "d/dX_1 dP/dX_0(X_0,X_1) = " << P1_1 << std::endl;
85 std::cout << "d/dX_0 dP/dX_1(X_0,X_1) = " << P1_1b << std::endl;
86 std::cout << "d/dX_0 dP/dX_0(X_0,X_1) = " << P2_0 << std::endl;
87 std::cout << "d/dX_1 dP/dX_1(X_0,X_1) = " << P0_2 << std::endl;
89 return 0;
90}
91
Aim: Represents a multivariate polynomial, i.e. an element of , where K is some ring or field.
DGtal is the top-level namespace which contains all DGtal functions and types.
MPolynomial< n, Ring, Alloc > derivative(const MPolynomial< n, Ring, Alloc > &p)
int main()
Definition testBits.cpp:56