Package edu.jas.ps

Class MultiVarPowerSeriesRing<C extends RingElem<C>>

    • Field Detail

      • random

        protected static final java.util.Random random
        A default random sequence generator.
      • DEFAULT_TRUNCATE

        public static final int DEFAULT_TRUNCATE
        Default truncate.
        See Also:
        Constant Field Values
      • truncate

        int truncate
        Truncate.
      • EVZERO

        public final ExpVector EVZERO
        Zero ExpVector.
      • nvar

        public final int nvar
        The number of variables.
      • vars

        protected java.lang.String[] vars
        The names of the variables. This value can be modified.
    • Constructor Detail

      • MultiVarPowerSeriesRing

        private MultiVarPowerSeriesRing()
        No argument constructor.
      • MultiVarPowerSeriesRing

        public MultiVarPowerSeriesRing​(GenPolynomialRing<C> fac)
        Constructor.
        Parameters:
        fac - polynomial ring factory.
      • MultiVarPowerSeriesRing

        public MultiVarPowerSeriesRing​(RingFactory<C> coFac,
                                       int nv)
        Constructor.
        Parameters:
        coFac - coefficient ring factory.
      • MultiVarPowerSeriesRing

        public MultiVarPowerSeriesRing​(RingFactory<C> coFac,
                                       int nv,
                                       int truncate)
        Constructor.
        Parameters:
        coFac - coefficient ring factory.
        truncate - index of truncation.
      • MultiVarPowerSeriesRing

        public MultiVarPowerSeriesRing​(RingFactory<C> coFac,
                                       java.lang.String[] names)
        Constructor.
        Parameters:
        coFac - coefficient ring factory.
        names - of the variables.
      • MultiVarPowerSeriesRing

        public MultiVarPowerSeriesRing​(RingFactory<C> cofac,
                                       int nv,
                                       java.lang.String[] names)
        Constructor.
        Parameters:
        cofac - coefficient ring factory.
        nv - number of variables.
        names - of the variables.
      • MultiVarPowerSeriesRing

        public MultiVarPowerSeriesRing​(RingFactory<C> cofac,
                                       int nv,
                                       int truncate,
                                       java.lang.String[] names)
        Constructor.
        Parameters:
        cofac - coefficient ring factory.
        truncate - index of truncation.
        names - of the variables.
    • Method Detail

      • toString

        public java.lang.String toString()
        To String.
        Overrides:
        toString in class java.lang.Object
        Returns:
        string representation of this.
      • varsToString

        public java.lang.String varsToString()
        Get a String representation of the variable names.
        Returns:
        names separated by commas.
      • getVars

        public java.lang.String[] getVars()
        Get the variable names.
        Returns:
        names.
      • toScript

        public java.lang.String toScript()
        Get a scripting compatible string representation.
        Specified by:
        toScript in interface ElemFactory<C extends RingElem<C>>
        Returns:
        script compatible representation for this ElemFactory.
        See Also:
        ElemFactory.toScript()
      • equals

        public boolean equals​(java.lang.Object B)
        Comparison with any other object.
        Overrides:
        equals in class java.lang.Object
        See Also:
        Object.equals(java.lang.Object)
      • hashCode

        public int hashCode()
        Hash code for this .
        Overrides:
        hashCode in class java.lang.Object
        See Also:
        Object.hashCode()
      • truncate

        public int truncate()
        Truncate.
        Returns:
        truncate index of power series.
      • setTruncate

        public int setTruncate​(int t)
        Set truncate.
        Parameters:
        t - new truncate index.
        Returns:
        old truncate index of power series.
      • getEXP

        public MultiVarPowerSeries<C> getEXP​(int r)
        Get the power series of the exponential function.
        Parameters:
        r - variable for the direction.
        Returns:
        exp(x_r) as MultiVarPowerSeries.
      • getSIN

        public MultiVarPowerSeries<C> getSIN​(int r)
        Get the power series of the sinus function.
        Parameters:
        r - variable for the direction.
        Returns:
        sin(x_r) as MultiVarPowerSeries.
      • getCOS

        public MultiVarPowerSeries<C> getCOS​(int r)
        Get the power series of the cosinus function.
        Parameters:
        r - variable for the direction.
        Returns:
        cos(x_r) as MultiVarPowerSeries.
      • getTAN

        public MultiVarPowerSeries<C> getTAN​(int r)
        Get the power series of the tangens function.
        Parameters:
        r - variable for the direction.
        Returns:
        tan(x_r) as MultiVarPowerSeries.
      • solvePDE

        public MultiVarPowerSeries<C> solvePDE​(MultiVarPowerSeries<C> f,
                                               C c,
                                               int r)
        Solve an partial differential equation. y_r' = f(y_r) with y_r(0) = c.
        Parameters:
        f - a MultiVarPowerSeries.
        c - integration constant.
        r - variable for the direction.
        Returns:
        f.integrate(c).
      • isCommutative

        public boolean isCommutative()
        Query if this ring is commuative.
        Specified by:
        isCommutative in interface MonoidFactory<C extends RingElem<C>>
        Returns:
        true, if this ring is commutative, else false.
      • isAssociative

        public boolean isAssociative()
        Query if this ring is associative.
        Specified by:
        isAssociative in interface MonoidFactory<C extends RingElem<C>>
        Returns:
        true if this ring is associative, else false.
      • isField

        public boolean isField()
        Query if this ring is a field.
        Specified by:
        isField in interface RingFactory<C extends RingElem<C>>
        Returns:
        true if this ring is a field, else false.
      • characteristic

        public java.math.BigInteger characteristic()
        Characteristic of this ring.
        Specified by:
        characteristic in interface RingFactory<C extends RingElem<C>>
        Returns:
        characteristic of this ring.
      • fromInteger

        public MultiVarPowerSeries<C> fromInteger​(long a)
        Get a (constant) MultiVarPowerSeries<C> from a long value.
        Specified by:
        fromInteger in interface ElemFactory<C extends RingElem<C>>
        Parameters:
        a - long.
        Returns:
        a MultiVarPowerSeries<C>.
      • fromInteger

        public MultiVarPowerSeries<C> fromInteger​(java.math.BigInteger a)
        Get a (constant) MultiVarPowerSeries<C> from a java.math.BigInteger.
        Specified by:
        fromInteger in interface ElemFactory<C extends RingElem<C>>
        Parameters:
        a - BigInteger.
        Returns:
        a MultiVarPowerSeries<C>.
      • polyRing

        public GenPolynomialRing<C> polyRing()
        Get the corresponding GenPolynomialRing<C>.
        Returns:
        GenPolynomialRing<C>.
      • fromPolynomial

        public MultiVarPowerSeries<C> fromPolynomial​(GenPolynomial<C> a)
        Get a MultiVarPowerSeries<C> from a GenPolynomial<C>.
        Parameters:
        a - GenPolynomial<C>.
        Returns:
        a MultiVarPowerSeries<C>.
      • fromPolynomial

        public java.util.List<MultiVarPowerSeries<C>> fromPolynomial​(java.util.List<GenPolynomial<C>> A)
        Get a list of MultiVarPowerSeries<C> from a list of GenPolynomial<C>.
        Parameters:
        A - list of GenPolynomial<C>.
        Returns:
        a list of MultiVarPowerSeries<C>.
      • fromPowerSeries

        public MultiVarPowerSeries<C> fromPowerSeries​(UnivPowerSeries<C> ps,
                                                      int r)
        Get a MultiVarPowerSeries<C> from a univariate power series.
        Parameters:
        ps - UnivPowerSeries<C>.
        r - variable for the direction.
        Returns:
        a MultiVarPowerSeries<C>.
      • random

        public MultiVarPowerSeries<C> random()
        Generate a random power series with k = 5, d = 0.7.
        Returns:
        a random power series.
      • random

        public MultiVarPowerSeries<C> random​(int k)
        Generate a random power series with d = 0.7.
        Specified by:
        random in interface ElemFactory<C extends RingElem<C>>
        Parameters:
        k - bit-size of random coefficients.
        Returns:
        a random power series.
      • random

        public MultiVarPowerSeries<C> random​(int k,
                                             java.util.Random rnd)
        Generate a random power series with d = 0.7.
        Specified by:
        random in interface ElemFactory<C extends RingElem<C>>
        Parameters:
        k - bit-size of random coefficients.
        rnd - is a source for random bits.
        Returns:
        a random power series.
      • random

        public MultiVarPowerSeries<C> random​(int k,
                                             float d)
        Generate a random power series.
        Parameters:
        k - bit-size of random coefficients.
        d - density of non-zero coefficients.
        Returns:
        a random power series.
      • random

        public MultiVarPowerSeries<C> random​(int k,
                                             float d,
                                             java.util.Random rnd)
        Generate a random power series.
        Parameters:
        k - bit-size of random coefficients.
        d - density of non-zero coefficients.
        rnd - is a source for random bits.
        Returns:
        a random power series.
      • generate

        public MultiVarPowerSeries<C> generate​(java.util.function.Function<ExpVector,​C> gener)
        Generate a power series via lambda expression.
        Parameters:
        gener - lambda expression.
        Returns:
        a generated power series.
      • parse

        public MultiVarPowerSeries<C> parse​(java.lang.String s)
        Parse a power series. Note: not implemented.
        Specified by:
        parse in interface ElemFactory<C extends RingElem<C>>
        Parameters:
        s - String.
        Returns:
        power series from s.
      • parse

        public MultiVarPowerSeries<C> parse​(java.io.Reader r)
        Parse a power series. Note: not implemented.
        Specified by:
        parse in interface ElemFactory<C extends RingElem<C>>
        Parameters:
        r - Reader.
        Returns:
        next power series from r.
      • seriesOfTaylor

        public MultiVarPowerSeries<C> seriesOfTaylor​(TaylorFunction<C> f,
                                                     java.util.List<C> a)
        Taylor power series.
        Parameters:
        f - function.
        a - expansion point.
        Returns:
        Taylor series of f.