PolynomSolver< T > Class Template Reference Math Library

#include <polynomsolver.h>

详细描述

template<typename T>
class maxon::PolynomSolver< T >

Each function uses the followig format: a*x^(n) + b*x^(n-1) + ... = 0 Return value is the number of real solutions. All results are stored in x. This array must have at least n elements. If the imaginary part of a complex number is between -epsilon and epsilon the number is treated as a real number.

公共成员函数

  PolynomSolver ()
Int32   SolveLinear (T a, T b, T *x)
Int32   Solve2 (T a, T b, T c, T *x, T epsilon=1e-5)
Int32   Solve2 (T a, T b, T c, Complex < T > *x)
Int32   Solve3 (T a, T b, T c, T d, T *x, T epsilon=1e-5)
Int32   Solve3 (T a, T b, T c, T d, Complex < T > *x)
Int32   Solve4 (T a, T b, T c, T d, T e, T *x, T epsilon=1e-5)
Int32   Solve4 (T a, T b, T c, T d, T e, Complex < T > *x)
Int32   SolveN ( Int32 n, Complex < T > *coeff, Complex < T > *x, Bool polish=true, Int32 maxiter=80)

静态公共成员函数

static T  GetComplexAbs (const Complex < T > &c)
static Bool   ComplexIsReal (const Complex < T > &c, T eps=1e-4)

私有成员函数

Sqr (T d)
Cub (T d)
Sqrt3 (T x)
void  Laguer ( Complex64 a[], Int32 m, Complex64 &x, Int32 &its)

Private Attributes

Complex < T >  rho1
Complex < T >  rho2

构造函数 & 析构函数文档编制

◆  PolynomSolver()

PolynomSolver

成员函数文档编制

◆  SolveLinear()

Int32 SolveLinear ( a ,
b ,
T *  x  
)

◆  Solve2() [1/2]

Int32 Solve2 ( a ,
b ,
c ,
T *  x ,
epsilon = 1e-5  
)

◆  Solve2() [2/2]

Int32 Solve2 ( a ,
b ,
c ,
Complex < T > *  x  
)

◆  Solve3() [1/2]

Int32 Solve3 ( a ,
b ,
c ,
d ,
T *  x ,
epsilon = 1e-5  
)

◆  Solve3() [2/2]

Int32 Solve3 ( a ,
b ,
c ,
d ,
Complex < T > *  x  
)

◆  Solve4() [1/2]

Int32 Solve4 ( a ,
b ,
c ,
d ,
e ,
T *  x ,
epsilon = 1e-5  
)

◆  Solve4() [2/2]

Int32 Solve4 ( a ,
b ,
c ,
d ,
e ,
Complex < T > *  x  
)

◆  SolveN()

Int32 SolveN ( Int32   n ,
Complex < T > *  coeff ,
Complex < T > *  x ,
Bool   polish = true ,
Int32   maxiter = 80  
)

◆  GetComplexAbs()

T GetComplexAbs ( const Complex < T > &  c )
static

◆  ComplexIsReal()

Bool ComplexIsReal ( const Complex < T > &  c ,
eps = 1e-4  
)
static

◆  Sqr()

T Sqr ( d )
private

◆  Cub()

T Cub ( d )
private

◆  Sqrt3()

T Sqrt3 ( x )
private

◆  Laguer()

void Laguer ( Complex64   a [],
Int32   m ,
Complex64 x ,
Int32 its  
)
private

Member Data Documentation

◆  rho1

Complex <T> rho1
private

◆  rho2

Complex <T> rho2
private