Open CASCADE Technology
7.1.0.beta
|
This class implements the calculation of all the real roots of a real polynomial of degree <= 4 using a direct method. Once found, the roots are polished using the Newton method. More...
#include <math_DirectPolynomialRoots.hxx>
Public Member Functions | |
math_DirectPolynomialRoots (const Standard_Real A, const Standard_Real B, const Standard_Real C, const Standard_Real D, const Standard_Real E) | |
computes all the real roots of the polynomial Ax4 + Bx3 + Cx2 + Dx + E using a direct method. More... | |
math_DirectPolynomialRoots (const Standard_Real A, const Standard_Real B, const Standard_Real C, const Standard_Real D) | |
computes all the real roots of the polynomial Ax3 + Bx2 + Cx + D using a direct method. More... | |
math_DirectPolynomialRoots (const Standard_Real A, const Standard_Real B, const Standard_Real C) | |
computes all the real roots of the polynomial Ax2 + Bx + C using a direct method. More... | |
math_DirectPolynomialRoots (const Standard_Real A, const Standard_Real B) | |
computes the real root of the polynomial Ax + B. More... | |
Standard_Boolean | IsDone () const |
Returns true if the computations are successful, otherwise returns false. More... | |
Standard_Boolean | InfiniteRoots () const |
Returns true if there is an infinity of roots, otherwise returns false. More... | |
Standard_Integer | NbSolutions () const |
returns the number of solutions. An exception is raised if there are an infinity of roots. More... | |
Standard_Real | Value (const Standard_Integer Nieme) const |
returns the value of the Nieme root. An exception is raised if there are an infinity of roots. Exception RangeError is raised if Nieme is < 1 or Nieme > NbSolutions. More... | |
void | Dump (Standard_OStream &o) const |
Prints on the stream o information on the current state of the object. Is used to redefine the operator <<. More... | |
Protected Member Functions | |
void | Solve (const Standard_Real A, const Standard_Real B, const Standard_Real C, const Standard_Real D, const Standard_Real E) |
void | Solve (const Standard_Real A, const Standard_Real B, const Standard_Real C, const Standard_Real D) |
void | Solve (const Standard_Real A, const Standard_Real B, const Standard_Real C) |
void | Solve (const Standard_Real A, const Standard_Real B) |
This class implements the calculation of all the real roots of a real polynomial of degree <= 4 using a direct method. Once found, the roots are polished using the Newton method.
math_DirectPolynomialRoots::math_DirectPolynomialRoots | ( | const Standard_Real | A, |
const Standard_Real | B, | ||
const Standard_Real | C, | ||
const Standard_Real | D, | ||
const Standard_Real | E | ||
) |
computes all the real roots of the polynomial Ax4 + Bx3 + Cx2 + Dx + E using a direct method.
math_DirectPolynomialRoots::math_DirectPolynomialRoots | ( | const Standard_Real | A, |
const Standard_Real | B, | ||
const Standard_Real | C, | ||
const Standard_Real | D | ||
) |
computes all the real roots of the polynomial Ax3 + Bx2 + Cx + D using a direct method.
math_DirectPolynomialRoots::math_DirectPolynomialRoots | ( | const Standard_Real | A, |
const Standard_Real | B, | ||
const Standard_Real | C | ||
) |
computes all the real roots of the polynomial Ax2 + Bx + C using a direct method.
math_DirectPolynomialRoots::math_DirectPolynomialRoots | ( | const Standard_Real | A, |
const Standard_Real | B | ||
) |
computes the real root of the polynomial Ax + B.
void math_DirectPolynomialRoots::Dump | ( | Standard_OStream & | o | ) | const |
Prints on the stream o information on the current state of the object. Is used to redefine the operator <<.
Standard_Boolean math_DirectPolynomialRoots::InfiniteRoots | ( | ) | const |
Returns true if there is an infinity of roots, otherwise returns false.
Standard_Boolean math_DirectPolynomialRoots::IsDone | ( | ) | const |
Returns true if the computations are successful, otherwise returns false.
Standard_Integer math_DirectPolynomialRoots::NbSolutions | ( | ) | const |
returns the number of solutions. An exception is raised if there are an infinity of roots.
|
protected |
|
protected |
|
protected |
|
protected |
Standard_Real math_DirectPolynomialRoots::Value | ( | const Standard_Integer | Nieme | ) | const |
returns the value of the Nieme root. An exception is raised if there are an infinity of roots. Exception RangeError is raised if Nieme is < 1 or Nieme > NbSolutions.