#20512: 0 by 0 minor of a matrix should belong to the base ring
-------------------------------------------------+-------------------------
       Reporter:  kedlaya                        |        Owner:
           Type:  defect                         |       Status:  new
       Priority:  major                          |    Milestone:  sage-7.2
      Component:  linear algebra                 |   Resolution:
       Keywords:  schemes, Jacobian, matrix,     |    Merged in:
  minors                                         |    Reviewers:
        Authors:                                 |  Work issues:
Report Upstream:  N/A                            |       Commit:
         Branch:                                 |     Stopgaps:
   Dependencies:                                 |
-------------------------------------------------+-------------------------
Changes (by kedlaya):

 * keywords:  schemes, Jacobian => schemes, Jacobian, matrix, minors
 * cc: nbruin (removed)
 * component:  algebraic geometry => linear algebra


Old description:

> This shouldn't return an error:
> {{{
> sage: P.<x,y,z> = ProjectiveSpace(2, QQ)
> sage: X = P.subscheme([])
> sage: X.Jacobian_matrix() # This works
> []
> sage: X.Jacobian() #This doesn't
> ...
> AttributeError: 'sage.rings.integer.Integer' object has no attribute
> 'reduce'
> }}}
> I think the mathematically correct answer is that X.Jacobian() should
> equal the ideal (1). This is consistent with the definition in the
> docstring:
> {{{
>   * the `d\times d` minors of the Jacobian matrix, where `d` is
>     the :meth:`codimension` of the algebraic scheme, and
>
>   * the defining polynomials of the algebraic scheme. Note that
>     some authors do not include these in the definition of the
>     Jacobian ideal. An example of a reference that does include
>     the defining equations is [LazarsfeldJacobian].
> }}}
> In this case d=0, and the unique 0 by 0 minor of any matrix (empty or
> not) is equal to 1. And anyway, the Jacobian ideal of the full ambient
> space should cut out the empty subscheme.

New description:

 This shouldn't return an error:
 {{{
 sage: P.<x,y,z> = ProjectiveSpace(2, QQ)
 sage: X = P.subscheme([])
 sage: X.Jacobian_matrix() # This works
 []
 sage: X.Jacobian() #This doesn't
 ...
 AttributeError: 'sage.rings.integer.Integer' object has no attribute
 'reduce'
 }}}
 I think the mathematically correct answer is that X.Jacobian() should
 equal the ideal (1). This is consistent with the definition in the
 docstring:
 {{{
   * the `d\times d` minors of the Jacobian matrix, where `d` is
     the :meth:`codimension` of the algebraic scheme, and

   * the defining polynomials of the algebraic scheme. Note that
     some authors do not include these in the definition of the
     Jacobian ideal. An example of a reference that does include
     the defining equations is [LazarsfeldJacobian].
 }}}
 In this case d=0, and the unique 0 by 0 minor of any matrix (empty or not)
 is equal to 1. And anyway, the Jacobian ideal of the full ambient space
 should cut out the empty subscheme.

--

Comment:

 In fact, the problem seems to be that the 0 by 0 minor of a matrix is
 returned as 1 in the ring of integers, not the base ring of the matrix.
 Retitled and reclassified accordingly.

--
Ticket URL: <http://trac.sagemath.org/ticket/20512#comment:2>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to