I think that the main problem is that we "delegate" the sum of tensors to 
the Add class, allowing to sum apples with pears; e.g. we can create an 
object that is the sum of a vector and a covector like e_x + dx, when they 
really belong to different spaces, without getting an error. This reflects 
in cascade to the whole submodule: the sum of two tensor products is a 
tensor and should be treated as such, not as a generic Add instance, 
because there are constraints that are not taken into account; extending 
the previous example, we cannot sum TensorProduct(e_x, dx) with 
TensorProduct(dx, e_:x). 

Then, we have to implement the associativity of the tensor product and the 
distributivity of the tensor product wrt the sum.

Once this is fixed we have to put a constraint on the number and the type 
of the arguments of the __call__ method and this should solve the problems 
pointed out on GitHub.

Davide Pittet

Il giorno lunedì 8 aprile 2024 alle 10:06:46 UTC+2 [email protected] ha 
scritto:

> Your contributions are definitely welcome, although it would be a good
> idea to first lay out exactly what changes you want to make, either
> here or on an issue. If any of the changes are controversial, or would
> break the current API, we should iron them out before you potentially
> waste a lot of time coding them.
>
> If there's any changes you want to make that aren't potentially
> controversial, like bugfixes, you don't need to open issues for them
> first.
>
> Aaron Meurer
>
> On Sun, Apr 7, 2024 at 2:02 PM Davide Pittet <[email protected]> wrote:
> >
> > Hello everyone,
> >
> > following up the discussion on GitHub related to the WedgeProduct bug, I 
> started exploring the code around the implementation of wedge and tensor 
> products. I think there are deep problems with the way tensor products (but 
> not only) are implemented in the diffgeom submodule.
> >
> > I would like to address these issues, but it would be my first 
> contribution and I do not think it will be a simple task. I have a good 
> knowledge of the theoretical field as my MSc thesis applied differential 
> geometry to particle physics and I would like to help, but I would surely 
> appreciate some guidance with the code, primarely on the direction we want 
> to follow.
> >
> > Davide Pittet
> >
> >
> > --
> > You received this message because you are subscribed to the Google 
> Groups "sympy" group.
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to [email protected].
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sympy/f480cb78-3741-484a-bc32-1535cbab177bn%40googlegroups.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/5ea6ca99-0cc9-4190-8817-c8ba5da1a9a8n%40googlegroups.com.

Reply via email to