Ideals from the Symbolic Data project¶
This file implements a thin wrapper for the optional symbolic data set of ideals as published on http://www.symbolicdata.org . From the project website:
For different purposes algorithms and implementations are tested on certified and reliable data. The development of tools and data for such tests is usually ‘orthogonal’ to the main implementation efforts, it requires different skills and technologies and is not loved by programmers. On the other hand, in many cases tools and data could easily be reused - with slight modifications - across similar projects. The SymbolicData Project is set out to coordinate such efforts within the Computer Algebra Community. Commonly collected certified and reliable data can also be used to compare otherwise incomparable approaches, algorithms, and implementations. Benchmark suites and Challenges for symbolic computations are not as well established as in other areas of computer science. This is probably due to the fact that there are not yet well agreed aims of such a benchmarking. Nevertheless various (often high quality) special benchmarks are scattered through the literature. During the last years efforts toward collection of test data for symbolic computations were intensified. They focused mainly on the creation of general benchmarks for different areas of symbolic computation and the collection of such activities on different Web site. For further qualification of these efforts it would be of great benefit to create a commonly available digital archive of these special benchmark data scattered through the literature. This would provide the community with an electronic repository of certified data that could be addressed and extended during further development.
EXAMPLES:
sage: sd = SymbolicData(); sd # optional - database_symbolic_data
SymbolicData with 372 ideals
sage: sd.ZeroDim__example_1 # optional - database_symbolic_data
Ideal (x1^2 + x2^2 - 10, x1^2 + x1*x2 + 2*x2^2 - 16) of Multivariate Polynomial Ring in x1, x2 over Rational Field
sage: sd.Katsura_3 # optional - database_symbolic_data
Ideal (u0 + 2*u1 + 2*u2 + 2*u3 - 1,
u1^2 + 2*u0*u2 + 2*u1*u3 - u2,
2*u0*u1 + 2*u1*u2 + 2*u2*u3 - u1,
u0^2 + 2*u1^2 + 2*u2^2 + 2*u3^2 - u0) of Multivariate Polynomial Ring in u0, u1, u2, u3 over Rational Field
sage: sd.get_ideal('Katsura_3',GF(127),'degrevlex') # optional - database_symbolic_data
Ideal (u0 + 2*u1 + 2*u2 + 2*u3 - 1,
u1^2 + 2*u0*u2 + 2*u1*u3 - u2,
2*u0*u1 + 2*u1*u2 + 2*u2*u3 - u1,
u0^2 + 2*u1^2 + 2*u2^2 + 2*u3^2 - u0) of Multivariate Polynomial Ring in u0, u1, u2, u3 over Finite Field of size 127
AUTHORS:
Martin Albrecht <martinralbrecht@googlemail.com>
- class sage.databases.symbolic_data.SymbolicData¶
Bases:
object
Database of ideals as distributed by The SymbolicData Project (http://symbolicdata.org).
This class needs the optional
database_symbolic_data
package to be installed.- get_ideal(name, base_ring=Rational Field, term_order='degrevlex')¶
Return the ideal given by ‘name’ over the base ring given by ‘base_ring’ in a polynomial ring with the term order given by ‘term_order’.
INPUT:
name
- name as on the symbolic data websitebase_ring
- base ring for the polynomial ring (default:QQ
)term_order
- term order for the polynomial ring (default:degrevlex
)
OUTPUT:
ideal as given by
name
inPolynomialRing(base_ring,vars,term_order)
EXAMPLES:
sage: sd = SymbolicData() # optional - database_symbolic_data sage: sd.get_ideal('Katsura_3',GF(127),'degrevlex') # optional - database_symbolic_data Ideal (u0 + 2*u1 + 2*u2 + 2*u3 - 1, u1^2 + 2*u0*u2 + 2*u1*u3 - u2, 2*u0*u1 + 2*u1*u2 + 2*u2*u3 - u1, u0^2 + 2*u1^2 + 2*u2^2 + 2*u3^2 - u0) of Multivariate Polynomial Ring in u0, u1, u2, u3 over Finite Field of size 127