Class Difference

java.lang.Object
org.tweetyproject.math.term.Term
org.tweetyproject.math.term.Difference

public class Difference extends Term
This class models a difference between two terms.
Author:
Matthias Thimm
  • Constructor Details

    • Difference

      public Difference(Term first, Term second)
      Creates a new difference with the given terms.
      Parameters:
      first - a term.
      second - a term.
  • Method Details

    • value

      public Constant value()
      Description copied from class: Term
      Computes the actual value of this term if it contains no variables.
      Specified by:
      value in class Term
      Returns:
      the value of this term, either a float or an integer.
    • replaceTerm

      public Term replaceTerm(Term toSubstitute, Term substitution)
      Description copied from class: Term
      Replaces each occurrence of "toSubstitute" by "substitution" and return the new term.
      Specified by:
      replaceTerm in class Term
      Parameters:
      toSubstitute - the term to be substituted
      substitution - the new term
      Returns:
      this term where "toSubstitute" is replaced by "substitution"
    • expandAssociativeOperations

      public void expandAssociativeOperations()
      Description copied from class: Term
      This method expands all associative operations appearing in this term, e.g. every min{a,b,c} becomes min{min{a,b},c}.
      Specified by:
      expandAssociativeOperations in class Term
    • toQuadraticForm

      public Sum toQuadraticForm() throws IllegalArgumentException
      Specified by:
      toQuadraticForm in class Term
      Throws:
      IllegalArgumentException
    • toLinearForm

      public Sum toLinearForm() throws IllegalArgumentException
      Description copied from class: Term
      Converts this term into a linear normal form, i.e. into a sum of products of a constant and a variable.
      Specified by:
      toLinearForm in class Term
      Returns:
      a term in linear normal form.
      Throws:
      IllegalArgumentException - if this term cannot be converted into a linear normal form.
    • derive

      public Term derive(Variable v) throws NonDifferentiableException
      Description copied from class: Term
      Differentiates the term with respect to the given variable.
      Specified by:
      derive in class Term
      Parameters:
      v - a variable.
      Returns:
      the derivation of this term wrt. the given variable.
      Throws:
      NonDifferentiableException - if the term cannot be differentiated.
    • isContinuous

      public boolean isContinuous(Variable v)
      Description copied from class: Term
      Checks whether this term is continuous in v.
      Specified by:
      isContinuous in class Term
      Parameters:
      v - a variable
      Returns:
      "true" iff this term is continuous in v.
    • simplify

      public Term simplify()
      Description copied from class: Term
      Simplifies this term in an equivalent way:
      - Replaces products that contain a zero by the constant zero
      - Removes a term one from products
      - Removes a term zero from sums
      - Aggregates constants in sums, products, and minimums
      - Evaluates functional terms on constants
      - Simplifies fractions where possible.
      Specified by:
      simplify in class Term
      Returns:
      the simplified term.
    • toString

      public String toString()
      Specified by:
      toString in class Term
    • getVariables

      public Set<Variable> getVariables()
      Description copied from class: Term
      Returns all variables in this term.
      Specified by:
      getVariables in class Term
      Returns:
      all variables in this term.
    • getProducts

      public Set<Product> getProducts()
      Description copied from class: Term
      Returns all products of this term.
      Specified by:
      getProducts in class Term
      Returns:
      all products of this term.
    • getSums

      public Set<Sum> getSums()
      Description copied from class: Term
      Returns all sums of this term.
      Specified by:
      getSums in class Term
      Returns:
      all sums of this term.
    • getMinimums

      public Set<Minimum> getMinimums()
      Description copied from class: Term
      Returns all minimums of this term.
      Specified by:
      getMinimums in class Term
      Returns:
      all minimums of this term.
    • getMaximums

      public Set<Maximum> getMaximums()
      Description copied from class: Term
      Returns all maximums of this term.
      Specified by:
      getMaximums in class Term
      Returns:
      all maximums of this term.
    • getAbsoluteValues

      public Set<AbsoluteValue> getAbsoluteValues()
      Description copied from class: Term
      Returns all absolute values of this term.
      Specified by:
      getAbsoluteValues in class Term
      Returns:
      all absolute values of this term.
    • isInteger

      public boolean isInteger()
      Description copied from class: Term
      Checks whether this term represents an integer value.
      Specified by:
      isInteger in class Term
      Returns:
      "true" iff this term represents an integer value.
    • collapseAssociativeOperations

      public void collapseAssociativeOperations()
      Description copied from class: Term
      This method collapses all associative operations appearing in this term, e.g. every min{min{a,b},c} becomes min{a,b,c}.
      Specified by:
      collapseAssociativeOperations in class Term
    • getTerms

      public List<Term> getTerms()
      Specified by:
      getTerms in class Term