#4539: plural wrapper
--------------------------------------------------+-------------------------
   Reporter:  burcin                              |          Owner:  
OleksandrMotsak, AlexanderDreyer                                                
   
       Type:  enhancement                         |         Status:  needs_work 
                                                                        
   Priority:  major                               |      Milestone:  sage-4.7.3 
                                                                        
  Component:  algebra                             |       Keywords:  
libsingular plural wrapper sd10 sd23.5 sd24 sd34                                
   
Work_issues:  Rebase wrt 4.7.3.alpha3 and #10903  |       Upstream:  N/A        
                                                                        
   Reviewer:  Simon King, Alexander Dreyer        |         Author:  Michael 
Brickenstein, Burcin Erocal, Oleksandr Motsak, Alexander Dreyer, Simon King
     Merged:                                      |   Dependencies:  #11068 
#11316 #11856                                                               
--------------------------------------------------+-------------------------

Comment(by SimonKing):

 I didn't post my rebased patches yet, since I need to fix a few doctest
 errors.

 Actually, the first error is a clear improvement. We have the following
 doctest:
 {{{
             sage: A.<x,y,z> = FreeAlgebra(QQ, 3)
             sage: H = A.g_algebra({y*x:x*y-z, z*x:x*z+2*x, z*y:y*z-2*y})
             sage: H.inject_variables()
             Defining x, y, z
             sage: I = H.ideal([y^2, x^2,
 z^2-H.one_element()],coerce=False)
             sage: G = vector(I.gens()); G
             d...: UserWarning: You are constructing a free module
             over a noncommutative ring. Sage does not have a concept
             of left/right and both sided modules, so be careful.
             It's also not guaranteed that all multiplications are
             done from the right side.
             d...: UserWarning: You are constructing a free module
             over a noncommutative ring. Sage does not have a concept
             of left/right and both sided modules, so be careful.
             It's also not guaranteed that all multiplications are
             done from the right side.
             (y^2, x^2, z^2 - 1)
             sage: M = I.syzygy_module()
 }}}

 With #10903 applied, one gets 9 Syzygies:
 {{{
 sage: M[0]
 (-z^2 - 8*z - 15, 0, y^2)
 sage: M[1]
 (0, -z^2 + 8*z - 15, x^2)
 sage: M[2]
 (x^2*z^2 + 8*x^2*z + 15*x^2, -y^2*z^2 + 8*y^2*z - 15*y^2, -4*x*y*z + 2*z^2
 + 2*z)
 sage: M[3]
 (x^2*y*z^2 + 9*x^2*y*z - 6*x*z^3 + 20*x^2*y - 72*x*z^2 - 282*x*z - 360*x,
 -y^3*z^2 + 7*y^3*z - 12*y^3, 6*y*z^2)
 sage: M[4]
 (x^3*z^2 + 7*x^3*z + 12*x^3, -x*y^2*z^2 + 9*x*y^2*z - 4*y*z^3 - 20*x*y^2 +
 52*y*z^2 - 224*y*z + 320*y, -6*x*z^2)
 sage: M[5]
 (x^2*y^2*z + 4*x^2*y^2 - 8*x*y*z^2 - 48*x*y*z + 12*z^3 - 64*x*y + 108*z^2
 + 312*z + 288, -y^4*z + 4*y^4, 0)
 sage: M[6]
 (2*x^3*y*z + 8*x^3*y + 9*x^2*z + 27*x^2, -2*x*y^3*z + 8*x*y^3 - 12*y^2*z^2
 + 99*y^2*z - 195*y^2, -36*x*y*z + 24*z^2 + 18*z)
 sage: M[7]
 (x^4*z + 4*x^4, -x^2*y^2*z + 4*x^2*y^2 - 4*x*y*z^2 + 32*x*y*z - 6*z^3 -
 64*x*y + 66*z^2 - 240*z + 288, 0)
 sage: M[8]
 (x^3*y^2*z + 4*x^3*y^2 + 18*x^2*y*z - 36*x*z^3 + 66*x^2*y - 432*x*z^2 -
 1656*x*z - 2052*x, -x*y^4*z + 4*x*y^4 - 8*y^3*z^2 + 62*y^3*z - 114*y^3,
 48*y*z^2 - 36*y*z)
 sage: M[9]
 Traceback (most recent call last):
 ...
 IndexError: matrix index out of range
 }}}

 However, without #10903 (and with the original patches applied), one gets
 what is expected in the doc tests, namely 10 Syzygies -- but two of them
 are identical:
 {{{
 sage: M[0]
 (-z^2 - 8*z - 15, 0, y^2)
 sage: M[1]
 (0, -z^2 + 8*z - 15, x^2)
 sage: M[2]
 (x^2*z^2 + 8*x^2*z + 15*x^2, -y^2*z^2 + 8*y^2*z - 15*y^2, -4*x*y*z + 2*z^2
 + 2*z)
 sage: M[3]
 (x^2*y*z^2 + 9*x^2*y*z - 6*x*z^3 + 20*x^2*y - 72*x*z^2 - 282*x*z - 360*x,
 -y^3*z^2 + 7*y^3*z - 12*y^3, 6*y*z^2)
 sage: M[4]
 (x^3*z^2 + 7*x^3*z + 12*x^3, -x*y^2*z^2 + 9*x*y^2*z - 4*y*z^3 - 20*x*y^2 +
 52*y*z^2 - 224*y*z + 320*y, -6*x*z^2)
 sage: M[5]
 (x^2*y^2*z + 4*x^2*y^2 - 8*x*y*z^2 - 48*x*y*z + 12*z^3 - 64*x*y + 108*z^2
 + 312*z + 288, -y^4*z + 4*y^4, 0)
 sage: M[6]
 (2*x^3*y*z + 8*x^3*y + 9*x^2*z + 27*x^2, -2*x*y^3*z + 8*x*y^3 - 12*y^2*z^2
 + 99*y^2*z - 195*y^2, -36*x*y*z + 24*z^2 + 18*z)
 sage: M[7]
 (2*x^3*y*z + 8*x^3*y + 9*x^2*z + 27*x^2, -2*x*y^3*z + 8*x*y^3 - 12*y^2*z^2
 + 99*y^2*z - 195*y^2, -36*x*y*z + 24*z^2 + 18*z)
 sage: M[8]
 (x^4*z + 4*x^4, -x^2*y^2*z + 4*x^2*y^2 - 4*x*y*z^2 + 32*x*y*z - 6*z^3 -
 64*x*y + 66*z^2 - 240*z + 288, 0)
 sage: M[9]
 (x^3*y^2*z + 4*x^3*y^2 + 18*x^2*y*z - 36*x*z^3 + 66*x^2*y - 432*x*z^2 -
 1656*x*z - 2052*x, -x*y^4*z + 4*x*y^4 - 8*y^3*z^2 + 62*y^3*z - 114*y^3,
 48*y*z^2 - 36*y*z)
 sage: M[7]==M[6]
 True
 }}}

 So, the old Singular version forgot to remove a redundant Syzygy.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/4539#comment:107>
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 post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en.

Reply via email to