Package edu.jas.ps

Class MultiVarCoefficients<C extends RingElem<C>>

java.lang.Object
edu.jas.ps.MultiVarCoefficients<C>
Type Parameters:
C - ring element type
All Implemented Interfaces:
Serializable

public abstract class MultiVarCoefficients<C extends RingElem<C>> extends Object implements Serializable
Abstract class for generating functions for coefficients of multivariate power series. This class handles the caching itself.
See Also:
  • Field Details

    • pfac

      public final GenPolynomialRing<C extends RingElem<C>> pfac
      Ring factory for polynomials.
    • coeffCache

      public final HashMap<Long,GenPolynomial<C extends RingElem<C>>> coeffCache
      Cache for already computed coefficients.
    • homCheck

      public final BitSet homCheck
      Indicator if all coefficients of a homogeneous degree have been constructed.
    • zeroCache

      public final HashSet<ExpVector> zeroCache
      Cache for known zero coefficients. Required because zero coefficients are not stored in the polynomials.
  • Constructor Details

    • MultiVarCoefficients

      public MultiVarCoefficients(MultiVarPowerSeriesRing<C> pf)
      Public constructor.
      Parameters:
      pf - multivariate power series ring factory.
    • MultiVarCoefficients

      public MultiVarCoefficients(GenPolynomialRing<C> pf)
      Public constructor.
      Parameters:
      pf - polynomial ring factory.
    • MultiVarCoefficients

      public MultiVarCoefficients(GenPolynomialRing<C> pf, HashMap<Long,GenPolynomial<C>> cache)
      Public with pre-filled coefficient cache.
      Parameters:
      pf - polynomial ring factory.
      cache - pre-filled coefficient cache.
    • MultiVarCoefficients

      public MultiVarCoefficients(GenPolynomialRing<C> pf, HashMap<Long,GenPolynomial<C>> cache, HashSet<ExpVector> zeros)
      Public constructor with pre-filled caches.
      Parameters:
      pf - polynomial ring factory.
      cache - pre-filled coefficient cache.
      zeros - pre-filled zero coefficient cache.
    • MultiVarCoefficients

      public MultiVarCoefficients(GenPolynomialRing<C> pf, HashMap<Long,GenPolynomial<C>> cache, BitSet hc)
      Public constructor with pre-filled caches.
      Parameters:
      pf - polynomial ring factory.
      cache - pre-filled coefficient cache.
      hc - pre-filled homogeneous check bit-set.
    • MultiVarCoefficients

      public MultiVarCoefficients(GenPolynomialRing<C> pf, HashMap<Long,GenPolynomial<C>> cache, HashSet<ExpVector> zeros, BitSet hc)
      Public constructor with pre-filled caches.
      Parameters:
      pf - polynomial ring factory.
      cache - pre-filled coefficient cache.
      zeros - pre-filled zero coefficient cache.
      hc - pre-filled homogeneous check bit-set.
  • Method Details

    • get

      public C get(ExpVector index)
      Get cached coefficient or generate coefficient.
      Parameters:
      index - of requested coefficient.
      Returns:
      coefficient at index.
    • getHomPart

      public GenPolynomial<C> getHomPart(long tdeg)
      Homogeneous part.
      Parameters:
      tdeg - requested degree.
      Returns:
      polynomial part of given degree.
    • generate

      protected abstract C generate(ExpVector index)
      Generate coefficient.
      Parameters:
      index - of requested coefficient.
      Returns:
      coefficient at index.