i1 : codimBsInv = (m) -> ( -- input: m, the list of projective degrees of a birational map -- output: the codimension of the base locus of the inverse map k:=#m -1; z:=m_k; d:=floor(m_(k-1)/z); for i from 2 to k do if z*d^i - m_(k-i) > 0 then return i; ); |
i2 : phi = toMap trim minors(2,genericSymmetricMatrix(QQ[x_0..x_5],3)) 2 2 2 o2 = map(QQ[x ..x ],QQ[x ..x ],{x - x x , x x - x x , x x - x x , x - x x , x x - x x , x - x x }) 0 5 0 5 4 3 5 2 4 1 5 2 3 1 4 2 0 5 1 2 0 4 1 0 3 o2 : RingMap QQ[x ..x ] <--- QQ[x ..x ] 0 5 0 5 |
i3 : codimBsInv projectiveDegrees phi o3 = 3 |
However, sometimes larger values may be preferable.
The object CodimBsInv is a symbol.