001/* 002 * $Id: RingFactory.java 4056 2012-07-26 17:44:13Z kredel $ 003 */ 004 005package edu.jas.structure; 006 007 008/** 009 * Ring factory interface. Defines test for field and access of characteristic. 010 * @author Heinz Kredel 011 */ 012 013public interface RingFactory<C extends RingElem<C>> extends AbelianGroupFactory<C>, MonoidFactory<C> { 014 015 016 /** 017 * Query if this ring is a field. May return false if it is to hard to 018 * determine if this ring is a field. 019 * @return true if it is known that this ring is a field, else false. 020 */ 021 public boolean isField(); 022 023 024 /** 025 * Characteristic of this ring. 026 * @return characteristic of this ring. 027 */ 028 public java.math.BigInteger characteristic(); 029 030}