ProductRing
edu.jas.arith

Class ProductRing<C extends RingElem<C>>

    • Constructor Detail

      • ProductRing

        public ProductRing(RingFactory<C> r,           int n)
        The constructor creates a ProductRing object from an ring factory and a modul.
        Parameters:
        r - ring factory.
        n - number of copies.
      • ProductRing

        public ProductRing(List<RingFactory<C>> l)
        The constructor creates a ProductRing object from an ring factory and a modul.
        Parameters:
        l - list of ring factories.
    • Method Detail

      • getFactory

        public RingFactory<C> getFactory(int i)
        Get ring factory at index i.
        Parameters:
        i - index.
        Returns:
        RingFactory_i.
      • addFactory

        public void addFactory(RingFactory<C> rf)
        Add a ring factory.
        Parameters:
        rf - new ring factory.
      • containsFactory

        public boolean containsFactory(RingFactory<C> rf)
        Contains a ring factory.
        Parameters:
        rf - ring factory.
        Returns:
        true, if rf is contained in this, else false.
      • getAtomic

        public Product<C> getAtomic(int i)
        Get an atomic element.
        Parameters:
        i - index.
        Returns:
        e_i as Product.
      • length

        public int length()
        Get the number of factors of this ring.
        Returns:
        nCopies or ringList.size().
      • isCommutative

        public boolean isCommutative()
        Query if this ring is commutative.
        Specified by:
        isCommutative in interface MonoidFactory<Product<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<Product<C extends RingElem<C>>>
        Returns:
        true if this ring is associative, else false.
      • onlyFields

        public boolean onlyFields()
        Query if this ring consists only of fields.
        Returns:
        true or false.
      • random

        public Product<C> random(int n)
        Product random.
        Specified by:
        random in interface ElemFactory<Product<C extends RingElem<C>>>
        Parameters:
        n - such that 0 ≤ v ≤ (2n-1).
        Returns:
        a random product element v.
      • random

        public Product<C> random(int n,                float q)
        Product random.
        Parameters:
        n - such that 0 ≤ v ≤ (2n-1).
        q - density of nozero entries.
        Returns:
        a random product element v.
      • random

        public Product<C> random(int n,                Random rnd)
        Product random.
        Specified by:
        random in interface ElemFactory<Product<C extends RingElem<C>>>
        Parameters:
        n - such that 0 ≤ v ≤ (2n-1).
        rnd - is a source for random bits.
        Returns:
        a random product element v.
      • random

        public Product<C> random(int n,                float q,                Random rnd)
        Product random.
        Parameters:
        n - such that 0 ≤ v ≤ (2n-1).
        q - density of nozero entries.
        rnd - is a source for random bits.
        Returns:
        a random product element v.

SCaVis 2.0 © jWork.ORG