#9439: hyperbolic geometry
---------------------------+------------------------------------------------
   Reporter:  vdelecroix   |          Owner:  vdelecroix                        
                  
       Type:  enhancement  |         Status:  new                               
                  
   Priority:  major        |      Milestone:  sage-4.8                          
                  
  Component:  geometry     |       Keywords:  hyperbolic geometry, Poincare 
disc, upper half plane
Work_issues:               |       Upstream:  N/A                               
                  
   Reviewer:               |         Author:  vdelecroix                        
                  
     Merged:               |   Dependencies:                                    
                  
---------------------------+------------------------------------------------
Changes (by johanbosman):

  * milestone:  => sage-4.8


Old description:

> Implementation of two conformal models of hyperbolic geometry (half
> plane, disc) and actions of their isometry groups.
>
> The actual file is almost complete for working with the hyperbolic plane
> as the following will plot a hyperbolic triangle
> {{{
> sage: HH
> Hyperbolic half plane
> sage: HH(0)
> Boundary point 0
> sage: p = HH.polygon([CC(0), CC(1), CC(2,2)])
> sage: p.plot(face_color='red').show(aspect_ratio=1)
> }}}
> There are more examples in the file.
>

> Depandancy:
>
>  * #9076: plot arc of circles

New description:

 Implementation of two conformal models of hyperbolic geometry (half plane,
 disc) and actions of their isometry groups.

 The actual file is almost complete for working with the hyperbolic plane
 as the following will plot a hyperbolic triangle
 {{{
 sage: HH
 Hyperbolic half plane
 sage: HH(0)
 Boundary point 0
 sage: p = HH.polygon([CC(0), CC(1), CC(2,2)])
 sage: p.plot(face_color='red').show(aspect_ratio=1)
 }}}
 There are more examples in the file.

--

Comment:

 *ping* :)

 Are you planning on finishing this?  It would be very good to have an
 upper half plane implementation.

 There are a few things that need to be improved though.  Accessing
 attributes directly (e.g. with spam._value) is not good.  Please use
 accessor methods instead (i.e. a method named value() that returns
 _value); this improves the separation of interface and implementation.

 Near the real line, the hyperbolic distance becomes become HUGE compared
 to the Euclidean distance.  Representing a point as a complex number thus
 leads to numeric instability.  It is therefore better to implement a point
 by a pair of a matrix ((a,b),(c,d)) and a complex number z (thus
 representing (az+b)/(cz+d)).

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9439#comment:3>
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