Skip to content

Commit

Permalink
Update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
suleyman-kaya committed Aug 3, 2024
1 parent e578ca5 commit 4aba549
Showing 1 changed file with 29 additions and 4 deletions.
33 changes: 29 additions & 4 deletions poly/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,10 @@ using Horner's method for stability.
fn eval(c []f64, x f64) f64
```

This function evaluates a polynomial with real coefficients for the real variable `x`.
This function evaluates a polynomial and its derivatives storing the
results in the array `res` of size `lenres`. The output array
contains the values of `d^k P(x)/d x^k` for the specified value of
`x` starting with `k = 0`.

```v ignore
fn eval_derivs(c []f64, x f64, lenres u64) []f64
Expand All @@ -40,9 +43,22 @@ This function finds the real roots of the quadratic equation,
a x^2 + b x + c = 0
```

The number of real roots (either zero, one, or two) is returned, and their locations are returned as `[ x0, x1 ]`. If no real roots are found then `[]` is returned. If one real root is found (i.e., if `a=0`), it is returned as `[ x0 ]`. When two real roots are found, they are returned as `[ x0, x1 ]` in ascending order. The case of coincident roots is not considered special. For example, `(x-1)^2=0` will have two roots, which happen to have exactly equal values.
The number of real roots (either zero, one or two) is returned, and
their locations are are returned as `[ x0, x1 ]`. If no real roots
are found then `[]` is returned. If one real root
is found (i.e. if `a=0`) then it is are returned as `[ x0 ]`. When two
real roots are found they are are returned as `[ x0, x1 ]` in
ascending order. The case of coincident roots is not considered
special. For example `(x-1)^2=0` will have two roots, which happen
to have exactly equal values.

The number of roots found depends on the sign of the discriminant `b^2 - 4 a c`. This will be subject to rounding and cancellation errors when computed in double precision, and will also be subject to errors if the coefficients of the polynomial are inexact. These errors may cause a discrete change in the number of roots. However, for polynomials with small integer coefficients, the discriminant can always be computed exactly.
The number of roots found depends on the sign of the discriminant
`b^2 - 4 a c`. This will be subject to rounding and cancellation
errors when computed in double precision, and will also be subject to
errors if the coefficients of the polynomial are inexact. These errors
may cause a discrete change in the number of roots. However, for
polynomials with small integer coefficients the discriminant can always
be computed exactly.

## Cubic Equations

Expand All @@ -56,7 +72,16 @@ This function finds the real roots of the cubic equation,
x^3 + a x^2 + b x + c = 0
```

with a leading coefficient of unity. The number of real roots (either one or three) is returned, and their locations are returned as `[ x0, x1, x2 ]`. If one real root is found, only `[ x0 ]` is returned. When three real roots are found, they are returned as `[ x0, x1, x2 ]` in ascending order. The case of coincident roots is not considered special. For example, the equation `(x-1)^3=0` will have three roots with exactly equal values. As in the quadratic case, finite precision may cause equal or closely-spaced real roots to move off the real axis into the complex plane, leading to a discrete change in the number of real roots.
with a leading coefficient of unity. The number of real roots (either
one or three) is returned, and their locations are returned as `[ x0, x1, x2 ]`.
If one real root is found then only `[ x0 ]`
is returned. When three real roots are found they are returned as
`[ x0, x1, x2 ]` in ascending order. The case of
coincident roots is not considered special. For example, the equation
`(x-1)^3=0` will have three roots with exactly equal values. As
in the quadratic case, finite precision may cause equal or
closely-spaced real roots to move off the real axis into the complex
plane, leading to a discrete change in the number of real roots.

## Companion Matrix

Expand Down

0 comments on commit 4aba549

Please sign in to comment.