Documentation ¶
Index ¶
- Variables
- func Reverse[T comparable](s []T)
- func Round(value float64) float64
- func RoundC(z complex128) complex128
- type Interval
- type Polynomial
- func (poly1 *Polynomial) Add(poly2 *Polynomial) *Polynomial
- func (poly *Polynomial) At(x float64) float64
- func (poly *Polynomial) AtComplex(z complex128) complex128
- func (poly *Polynomial) Bound() float64
- func (poly *Polynomial) Coeffs() []float64
- func (poly *Polynomial) CompanionMatrix() (*mat.Dense, error)
- func (poly *Polynomial) ComplexRoots() ([]complex128, error)
- func (poly *Polynomial) ComplexRootsDurandKerner() ([]complex128, error)
- func (poly *Polynomial) ComplexRootsEigenvalue() ([]complex128, error)
- func (poly *Polynomial) Degree() int
- func (poly *Polynomial) Derivative() *Polynomial
- func (poly *Polynomial) DurandKernerRoots() ([]complex128, error)
- func (poly *Polynomial) EhrlichRadius() float64
- func (poly1 *Polynomial) EuclideanDiv(poly2 *Polynomial) (*Polynomial, *Polynomial)
- func (poly *Polynomial) IsMonic() bool
- func (poly *Polynomial) IsZero() bool
- func (poly *Polynomial) LeadingCoeff() float64
- func (poly *Polynomial) MakeMonic()
- func (poly1 *Polynomial) Mult(poly2 *Polynomial) *Polynomial
- func (poly *Polynomial) NewtonMethod(guess float64) (float64, error)
- func (poly *Polynomial) PositiveRoots() ([]float64, error)
- func (poly *Polynomial) QuadraticRoots() []complex128
- func (poly *Polynomial) RealRoots() ([]float64, error)
- func (poly *Polynomial) RootBounds() (float64, float64)
- func (poly *Polynomial) RootsBisectionNewton() ([]float64, error)
- func (poly *Polynomial) RootsWithin(lowerBound float64, upperBound float64) ([]float64, error)
- func (poly *Polynomial) RoundCoeffs()
- func (poly *Polynomial) ScalarMult(s float64) *Polynomial
- func (poly *Polynomial) ShiftRight(offset int) *Polynomial
- func (poly *Polynomial) String() string
- func (poly1 *Polynomial) Sub(poly2 *Polynomial) *Polynomial
- type SolvingMethod
Constants ¶
This section is empty.
Variables ¶
View Source
var DefaultSolvingMethod = Eigenvalue
View Source
var DurandKernerMaxIter = 5000
View Source
var EpsDurand = 1e-10
View Source
var EpsNewton = 1e-10 // max error allowed
View Source
var MaxNewtonIterations = 25
View Source
var RoundingDecimalPlaces = 12
Functions ¶
func Reverse ¶
func Reverse[T comparable](s []T)
Types ¶
type Polynomial ¶
type Polynomial struct { SolveMode SolvingMethod // contains filtered or unexported fields }
func CreatePolynomial ¶
func CreatePolynomial(coefficients ...float64) *Polynomial
CreatePolynomial returns a new Polynomial
func (*Polynomial) Add ¶
func (poly1 *Polynomial) Add(poly2 *Polynomial) *Polynomial
func (*Polynomial) At ¶
func (poly *Polynomial) At(x float64) float64
At returns the value of the polynomial evaluated at x.
func (*Polynomial) AtComplex ¶
func (poly *Polynomial) AtComplex(z complex128) complex128
AtComplex returns the value of the polynomial evaluated at z
func (*Polynomial) Bound ¶
func (poly *Polynomial) Bound() float64
func (*Polynomial) Coeffs ¶
func (poly *Polynomial) Coeffs() []float64
func (*Polynomial) CompanionMatrix ¶
func (poly *Polynomial) CompanionMatrix() (*mat.Dense, error)
func (*Polynomial) ComplexRoots ¶
func (poly *Polynomial) ComplexRoots() ([]complex128, error)
func (*Polynomial) ComplexRootsDurandKerner ¶
func (poly *Polynomial) ComplexRootsDurandKerner() ([]complex128, error)
func (*Polynomial) ComplexRootsEigenvalue ¶
func (poly *Polynomial) ComplexRootsEigenvalue() ([]complex128, error)
func (*Polynomial) Degree ¶
func (poly *Polynomial) Degree() int
func (*Polynomial) Derivative ¶
func (poly *Polynomial) Derivative() *Polynomial
func (*Polynomial) DurandKernerRoots ¶
func (poly *Polynomial) DurandKernerRoots() ([]complex128, error)
func (*Polynomial) EhrlichRadius ¶
func (poly *Polynomial) EhrlichRadius() float64
func (*Polynomial) EuclideanDiv ¶
func (poly1 *Polynomial) EuclideanDiv(poly2 *Polynomial) (*Polynomial, *Polynomial)
func (*Polynomial) IsMonic ¶
func (poly *Polynomial) IsMonic() bool
func (*Polynomial) IsZero ¶
func (poly *Polynomial) IsZero() bool
func (*Polynomial) LeadingCoeff ¶
func (poly *Polynomial) LeadingCoeff() float64
func (*Polynomial) MakeMonic ¶
func (poly *Polynomial) MakeMonic()
func (*Polynomial) Mult ¶
func (poly1 *Polynomial) Mult(poly2 *Polynomial) *Polynomial
func (*Polynomial) NewtonMethod ¶
func (poly *Polynomial) NewtonMethod(guess float64) (float64, error)
Newton's Method Implementation https://en.wikipedia.org/wiki/Newton%27s_method
func (*Polynomial) PositiveRoots ¶
func (poly *Polynomial) PositiveRoots() ([]float64, error)
func (*Polynomial) QuadraticRoots ¶
func (poly *Polynomial) QuadraticRoots() []complex128
func (*Polynomial) RealRoots ¶
func (poly *Polynomial) RealRoots() ([]float64, error)
func (*Polynomial) RootBounds ¶
func (poly *Polynomial) RootBounds() (float64, float64)
func (*Polynomial) RootsBisectionNewton ¶
func (poly *Polynomial) RootsBisectionNewton() ([]float64, error)
func (*Polynomial) RootsWithin ¶
func (poly *Polynomial) RootsWithin(lowerBound float64, upperBound float64) ([]float64, error)
func (*Polynomial) RoundCoeffs ¶
func (poly *Polynomial) RoundCoeffs()
func (*Polynomial) ScalarMult ¶
func (poly *Polynomial) ScalarMult(s float64) *Polynomial
func (*Polynomial) ShiftRight ¶
func (poly *Polynomial) ShiftRight(offset int) *Polynomial
func (*Polynomial) String ¶
func (poly *Polynomial) String() string
String returns a string representation of the polynomial
func (*Polynomial) Sub ¶
func (poly1 *Polynomial) Sub(poly2 *Polynomial) *Polynomial
Subdivision of polynomials, returns result as a new polynomial
type SolvingMethod ¶
type SolvingMethod int
const ( DurandKerner SolvingMethod = iota BisectionNewton Eigenvalue )
Click to show internal directories.
Click to hide internal directories.