Determine whether the matrix or module is generated by homogeneous vector fields, or homogeneous vector fields of degrees appearing in s. See homogeneousVectorFieldDegree for more information on degrees.
This is not homogeneous because of $1 \partial_x + 2x \partial_y$:
i1 : R=QQ[x,y]; |
i2 : M1=derlog(ideal (x^2-y)) o2 = image | x 1 | | 2y 2x | 2 o2 : R-module, submodule of R |
i3 : isHomogeneousVectorField(gens M1) o3 = false |
This is homogeneous, of degree -1 and 0:
i4 : M2=gens derlog(ideal (x)) o4 = | 0 x | | 1 0 | 2 2 o4 : Matrix R <--- R |
i5 : homogeneousVectorFieldDegree(M2) o5 = {{-1}, {0}} o5 : List |
i6 : isHomogeneousVectorField(M2) o6 = true |
i7 : isHomogeneousVectorField(M2,{{-1},{0}}) o7 = true |
This is homogeneous, of degrees 0, 1, and -infinity:
i8 : M3=matrix {{x,0,0},{0,y^2,0}} o8 = | x 0 0 | | 0 y2 0 | 2 3 o8 : Matrix R <--- R |
i9 : homogeneousVectorFieldDegree(M3) o9 = {{0}, {1}, -infinity} o9 : List |
i10 : isHomogeneousVectorField(M3) o10 = true |
i11 : isHomogeneousVectorField(M3,{{1},{0}}) o11 = false |
i12 : isHomogeneousVectorField(M3,{-infinity,{1},{0}}) o12 = true |
If the parameter is a module, then the generators given by generators are studied. Consequently, the routine may return false even though a module may have a homogeneous basis:
i13 : m=matrix {{0,0},{x,x^3+x}} o13 = | 0 0 | | x x3+x | 2 2 o13 : Matrix R <--- R |
i14 : isHomogeneousVectorField(image m) o14 = false |
i15 : isHomogeneousVectorField(trim image m) o15 = true |
Despite the name, the function does not check the number of vector fields provided.
The object isHomogeneousVectorField is a method function.