Packages

object Algebraic extends AlgebraicInstances with Serializable

Linear Supertypes
Serializable, Serializable, AlgebraicInstances, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Algebraic
  2. Serializable
  3. Serializable
  4. AlgebraicInstances
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. final class BitBound extends AnyVal

    A bit bound represents either an upper or lower bound as some power of 2.

    A bit bound represents either an upper or lower bound as some power of 2. Specifically, the bound is typically either 2^bitBound or 2^-bitBound.

  2. sealed abstract class Expr extends Serializable

    The Algebraic expression AST.

    The Algebraic expression AST. Algebraic simply stores an expression tree representing all operations performed on it. We then use this tree to deduce certain properties about the algebraic expression and use them to perform exact sign tests, compute approximations, etc.

    Generally, this should be regarded as an internal implementation detail of Algebraic.

  3. sealed abstract class ZeroBoundFunction extends AnyRef

    A zero bound function, defined over an algebraic expression algebra.

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. implicit final val AlgebraicAlgebra: AlgebraicAlgebra
    Definition Classes
    AlgebraicInstances
  5. implicit final val AlgebraicTag: LargeTag[Algebraic]
    Definition Classes
    AlgebraicInstances
  6. val One: Algebraic

    Returns an Algebraic expression equal to 1.

  7. val Zero: Algebraic

    Returns an Algebraic expression equal to 0.

  8. def apply(n: String): Algebraic

    Returns an Algebraic expression equivalent to BigDecimal(n).

    Returns an Algebraic expression equivalent to BigDecimal(n). If n is not parseable as a BigDecimal then an exception is thrown.

  9. def apply(n: Rational): Algebraic

    Returns an Algebraic expression equivalent to n.

  10. def apply(n: BigDecimal): Algebraic

    Returns an Algebraic expression equivalent to n.

  11. def apply(n: BigInt): Algebraic

    Returns an Algebraic expression equivalent to n.

  12. implicit def apply(n: Double): Algebraic

    Returns an Algebraic expression equivalent to n, if n is finite.

    Returns an Algebraic expression equivalent to n, if n is finite. If n is either infinite or NaN, then an IllegalArgumentException is thrown.

  13. def apply(n: Float): Algebraic

    Returns an Algebraic expression equivalent to n, if n is finite.

    Returns an Algebraic expression equivalent to n, if n is finite. If n is either infinite or NaN, then an IllegalArgumentException is thrown.

  14. def apply(n: Long): Algebraic

    Returns an Algebraic expression equivalent to n.

  15. implicit def apply(n: Int): Algebraic

    Returns an Algebraic expression equivalent to n.

  16. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  17. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  18. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  20. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  21. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  22. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  23. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  24. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  25. final def notify(): Unit
    Definition Classes
    AnyRef
  26. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  27. final def nroot(value: BigDecimal, n: Int, scale: Int, roundingMode: RoundingMode): BigDecimal

    Returns an absolute approximation of the n-th root of value, up to scale digits past the decimal point.

    Returns an absolute approximation of the n-th root of value, up to scale digits past the decimal point. This only uses the rounding mode to chop-off the few remaining digits after the approximation, so may be inaccurate.

  28. final def nroot(value: BigDecimal, n: Int, mc: MathContext): BigDecimal

    Returns a relative approximation of the n-th root of value, up to the number of digits specified by mc.

    Returns a relative approximation of the n-th root of value, up to the number of digits specified by mc. This only uses the rounding mode to chop-off the few remaining digits after the approximation, so may be inaccurate.

  29. final def nrootApprox(x: BigDecimal, n: Int): BigDecimal

    Returns a number that is approximately equal to x.pow(1/n).

    Returns a number that is approximately equal to x.pow(1/n). This number is useful as initial values in converging n-root algorithms, but not as a general purpose n-root algorithm. There are no guarantees about the accuracy here.

  30. def root(poly: Polynomial[Rational], i: Int): Algebraic

    Returns an Algebraic expression whose value is equivalent to the i-th real root of the Polynomial poly.

    Returns an Algebraic expression whose value is equivalent to the i-th real root of the Polynomial poly. If i is negative or does not an index a real root (eg the value is greater than or equal to the number of real roots) then an ArithmeticException is thrown. Roots are indexed starting at 0. So if there are 3 roots, then they are indexed as 0, 1, and 2.

    poly

    the polynomial containing at least i real roots

    i

    the index (0-based) of the root

    returns

    an algebraic whose value is the i-th root of the polynomial

  31. def roots(poly: Polynomial[Rational]): Vector[Algebraic]

    Returns all of the real roots of the given polynomial, in order from smallest to largest.

    Returns all of the real roots of the given polynomial, in order from smallest to largest.

    poly

    the polynomial to return the real roots of

    returns

    all the real roots of poly

  32. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  33. def toString(): String
    Definition Classes
    AnyRef → Any
  34. def unsafeRoot(poly: Polynomial[BigInt], i: Int, lb: Rational, ub: Rational): Algebraic

    Returns an Algebraic whose value is the real root within (lb, ub).

    Returns an Algebraic whose value is the real root within (lb, ub). This is potentially unsafe, as we assume that exactly 1 real root lies within the interval, otherwise the results are undetermined.

    poly

    a polynomial with a real root within (lb, ub)

    i

    the index of the root in the polynomial

    lb

    the lower bound of the open interval containing the root

    ub

    the upper bound of the open interval containing the root

  35. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  36. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. object BFMSS extends ZeroBoundFunction with Product with Serializable

    An implementation of "A Separation Bound for Real Algebraic Expressions", by Burnikel, Funke, Mehlhorn, Schirra, and Schmitt.

    An implementation of "A Separation Bound for Real Algebraic Expressions", by Burnikel, Funke, Mehlhorn, Schirra, and Schmitt. This provides a good ZeroBoundFunction for use in sign tests.

    Unlike the paper, we use log-arithmetic instead of working with exact, big integer values. This means our bound isn't technically as good as it could be, but we save the cost of working with arithmetic. We also perform all log arithmetic using Longs and check for overflow (throwing ArithmeticExceptions when detected). In practice we shouldn't hit this limit, but in case we do, we prefer to throw over failing silently.

    Annotations
    @SerialVersionUID()
  39. object BitBound
  40. object Expr extends Serializable
  41. object LiYap extends ZeroBoundFunction with Product with Serializable

    An implementation of "A New Constructive Root Bound for Algebraic Expressions" by Chen Li & Chee Yap.

    An implementation of "A New Constructive Root Bound for Algebraic Expressions" by Chen Li & Chee Yap.

    Annotations
    @SerialVersionUID()

Inherited from Serializable

Inherited from Serializable

Inherited from AlgebraicInstances

Inherited from AnyRef

Inherited from Any

Ungrouped