Scalar Field in Diff Form Algebra? Check fails!

25 views
Skip to first unread message

Michael Jung

unread,
Apr 14, 2019, 4:35:13 AM4/14/19
to sage-devel
Since 8.8beta1 there is a critical issue regarding scalar fields:

sage: M = Manifold(2, 'M')
sage
: X.<x,y> = M.chart()
sage
: f = M.scalar_field(x, name='f')
sage
: f in M.diff_form_module(1)
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-38-9654b754d2bc> in <module>()
     
2 X = M.chart(names=('x', 'y',)); (x, y,) = X._first_ngens(2)
     
3 f = M.scalar_field(x, name='f')
----> 4 f in M.diff_form_module(Integer(1))

/home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/structure/parent.pyx in sage.structure.parent.Parent.__contains__ (build/cythonized/sage/structure/parent.c:9885)()
   
1090             return True
   
1091         try:
-> 1092             x2 = self(x)
   
1093             EQ = (x2 == x)
   
1094             if EQ is True:

/home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/structure/parent.pyx in sage.structure.parent.Parent.__call__ (build/cythonized/sage/structure/parent.c:9219)()
   
898         if mor is not None:
   
899             if no_extra_args:
--> 900                 return mor._call_(x)
   
901             else:
   
902                 return mor._call_with_args(x, args, kwds)

/home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/structure/coerce_maps.pyx in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (build/cythonized/sage/structure/coerce_maps.c:4551)()
   
160                 print(type(C), C)
   
161                 print(type(C._element_constructor), C._element_constructor)
--> 162             raise
   
163
   
164     cpdef Element _call_with_args(self, x, args=(), kwds={}):

/home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/structure/coerce_maps.pyx in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (build/cythonized/sage/structure/coerce_maps.c:4443)()
   
155         cdef Parent C = self._codomain
   
156         try:
--> 157             return C._element_constructor(x)
   
158         except Exception:
   
159             if print_warnings:

/home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/manifolds/differentiable/diff_form_module.pyc in _element_constructor_(self, comp, frame, name, latex_name)
   
818         resu = self.element_class(self._fmodule, self._degree, name=name,
   
819                                   latex_name=latex_name)
--> 820         if comp != []:
   
821             resu.set_comp(frame)[:] = comp
   
822         return resu

/home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/manifolds/scalarfield.pyc in __ne__(self, other)
   
1285
   
1286         """
-> 1287         return not (self == other)
   1288
   1289     ####### End of required methods for an algebra element (beside arithmetic) #######

/home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/manifolds/scalarfield.pyc in __eq__(self, other)
   1244                 return False
   1245             try:
-> 1246                 other = self.parent()(other)  # conversion to a scalar field
   1247             except TypeError:
   1248                 return False

/home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/structure/parent.pyx in sage.structure.parent.Parent.__call__ (build/cythonized/sage/structure/parent.c:9219)()
    898         if mor is not None:
    899             if no_extra_args:
--> 900                 return mor._call_(x)
    901             else:
    902                 return mor._call_with_args(x, args, kwds)

/home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/structure/coerce_maps.pyx in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (build/cythonized/sage/structure/coerce_maps.c:4551)()
    160                 print(type(C), C)
    161                 print(type(C._element_constructor), C._element_constructor)
--> 162             raise
    163
    164     cpdef Element _call_with_args(self, x, args=(), kwds={}):

/home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/structure/coerce_maps.pyx in sage.structure.coerce_maps.DefaultConvertMap_unique._call_ (build/cythonized/sage/structure/coerce_maps.c:4443)()
    155         cdef Parent C = self._codomain
    156         try:
--> 157             return C._element_constructor(x)
    158         except Exception:
    159             if print_warnings:

/home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/manifolds/scalarfield_algebra.pyc in _element_constructor_(self, coord_expression, chart, name, latex_name)
    470                                       coord_expression=coord_expression,
    471                                       name=name, latex_name=latex_name,
--> 472                                       chart=chart)
    473         return resu
    474

/home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/manifolds/differentiable/scalarfield.pyc in __init__(self, parent, coord_expression, chart, name, latex_name)
    630         """

   
631         ScalarField.__init__(self, parent, coord_expression=coord_expression,
--> 632                              chart=chart, name=name, latex_name=latex_name)
   
633         self._tensor_type = (0,0)
   
634

/home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/manifolds/scalarfield.pyc in __init__(self, parent, coord_expression, chart, name, latex_name)
   
1101                         self._express[ch] = ch.function(coord_expression)
   
1102                 else:
-> 1103                     self._express[chart] = chart.function(coord_expression)
   
1104         self._init_derived()   # initialization of derived quantities
   
1105

/home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/manifolds/chart.pyc in function(self, expression, calc_method, expansion_symbol, order)
   
1087         return parent.element_class(parent, expression, calc_method=calc_method,
   
1088                                     expansion_symbol=expansion_symbol,
-> 1089                                     order=order)
   
1090
   
1091     def zero_function(self):

/home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/manifolds/chart_func.pyc in __init__(self, parent, expression, calc_method, expansion_symbol, order)
   
360                 calc_method = self._calc_method._current
   
361             self._express[calc_method] = self._calc_method._tranf[calc_method](
--> 362                                                                     expression)
   
363         # Derived quantities:
   
364         self._der = None  # list of partial derivatives (to be set by diff()

/home/michi/GitProjects/sage/local/lib/python2.7/site-packages/sage/manifolds/calculus_method.pyc in _Sympy_to_SR(expression)
   
106         # If SR cannot transform a sympy expression this is because it is a
   
107         # sympy abstract function
--> 108         a = expression._sage_()
   
109         # As all sage objects have a ._sage_ operator, they have to be
   
110         # catched

AttributeError: 'list' object has no attribute '_sage_'
Code hier eingeben...

I'm not sure if tickets of beta issues are welcome.

Best Regards
Michael

Michael Jung

unread,
Apr 14, 2019, 4:38:40 AM4/14/19
to sage-devel
I apologize. The issue was there before (tested on sage 8.6). I open a ticket. Agreed?

However, how are beta issues managed?

Best regards
Michael

Eric Gourgoulhon

unread,
Apr 14, 2019, 5:09:09 AM4/14/19
to sage-devel


Le dimanche 14 avril 2019 10:38:40 UTC+2, Michael Jung a écrit :
I apologize. The issue was there before (tested on sage 8.6). I open a ticket. Agreed?

Thanks for the report.
I've already opened

Eric.
Reply all
Reply to author
Forward
0 new messages