-
-
Notifications
You must be signed in to change notification settings - Fork 660
Description
Comparison of manifold points, as implemented in ManifoldPoint.__eq__
, relies on comparison of coordinate values in a common chart. When coordinates are symbolic, this goes through Maxima and can take a lot of time. Now, comparison of points is involved in the unique representation of tangent spaces. When many tangent spaces are created (as for instance when plotting a vector field), this has a non-neglible cost. This ticket makes ManifoldPoint.__eq__
faster by invoking (a-b).is_trivial_zero()
when a
and b
are symbolic coordinates of two points, while the previous version was using a == b
. Note that for non-symbolic values (i.e. numerical values), a == b
is still used.
CC: @sagetrac-karimvanaelst @tscrim
Component: geometry
Keywords: manifold point
Author: Eric Gourgoulhon
Branch/Commit: 48a66fc
Reviewer: David Roe
Issue created by migration from https://trac.sagemath.org/ticket/23592