# intersectionValRingIdeals -- intersection of valuation ideals

## Synopsis

• Usage:
intersectionValRingIdeals(v,r)
• Inputs:
• , values of the indeterminates, the last column contains the lower bounds w_i
• a ring, the basering
• Outputs:
• , the subalgebra and the generators of the module over it

## Description

A discrete monomial valuation v on R=K[X_1,\ldots,X_n] is determined by the values v(X_j) of the indeterminates. This function takes as input the matrix V=(v_i(X_j)), whose rows correspond to the values of the indeterminates for for r valuations v_1, \ldots,v_r, with an additional column holding lower bounds w_1,\ldots,w_r \in \ZZ. It returns the subalgebra S=\{f\in R: v_i(f)\geq 0, i=1,\ldots,n\}, the intersection of the valuation rings of the r valuations, and a system of generators of the S-submodule M=\{f\in R: v_i(f)\geq w_i, i=1,\ldots,n\} over R, which consists of the elements whose i-th valuation is greater or equal to the i-th bound w_i. If w_i>=0 for all i, then M is an ideal in S.

This method can be used with the options allComputations and grading. The additional data can be accessed via the subalgebra in the HashTable.

 i1 : R=QQ[x,y,z,w]; i2 : V=matrix({{0,1,2,3,4},{-1,1,2,1,3}}); 2 5 o2 : Matrix ZZ <--- ZZ i3 : intersectionValRingIdeals(V,R) 3 2 2 2 2 4 2 2 4 o3 = HashTable{module generators => {w , z*w, z , y*w , y w, y z, y , x*z , x*y z, x*y } } subalgebra => MonomialSubalgebra{cache => CacheTable{...1...} } 2 generators => {w, z, y, x*w, x*z, x*y, x z} ring => R o3 : HashTable

## Ways to use intersectionValRingIdeals :

• "intersectionValRingIdeals(Matrix,Ring)"

## For the programmer

The object intersectionValRingIdeals is .