Is a root an accessible thing?

35 views
Skip to first unread message

Joseph Hundley

unread,
Jul 27, 2016, 4:26:06 AM7/27/16
to sage-support
I've been looking around in the documentation for root systems. It's not clear to me whether the individual roots in the system are accessible objects. For example, I can take the root system F4. 

sage: rs=RootSystem("F4")

sage: r1=rs.root_lattice().positive_roots()

sage: r2=rs.weight_lattice().positive_roots()

sage: r3=rs.ambient_space().positive_roots()

sage: r1

A recursively enumerated set with a graded structure (breadth first search)

sage: r2

A recursively enumerated set with a graded structure (breadth first search)

sage: r3

[(1, 0, 0, 0),

 (0, 1, 0, 0),

...

 (1/2, -1/2, -1/2, -1/2)]

sage: it1=r1.breadth_first_search_iterator()

sage: it2=r2.breadth_first_search_iterator()

sage: a1r1=next(it1)

sage: a1r2=next(it2)

sage: a1r3=r3[0]

sage: a1r1

alpha[1]

sage: a1r2

2*Lambda[1] - Lambda[2]

sage: a1r3

(1, 0, 0, 0)

sage: a1r1==a1r2

True

sage: a1r1 is a1r2

False

sage: a1r1 == a1r3

False

sage: a1r2==a1r3

False


If I understand what's going on, a1r1, a1r2 and a1r3 above are three distinct representations of the same mathematical object (the first simple root of F4). My question is whether there is a way to access the root directly? (Say you have some function which takes a root or pair of roots as input which you want to implement...)

Joseph Hundley

unread,
Aug 25, 2016, 7:12:25 AM8/25/16
to sage-support
Just in case some other new person sees this there is one point I should correct/clarify from the original post. 
In fact a1r1, a1r2, and a1r3 are not three distinct representations of the same mathematical object. The 
representation of the first simple root as an element of the ambient space is r3[13], not r3[0].
sage: a1r3=r3[13]

sage: a1r3.to_weight_space()

2*Lambda[1] - Lambda[2]

sage: a1r3.to_simple_root()

1

sage: a1r3==a1r1

True

sage: a1r3==a1r2

True 
Reply all
Reply to author
Forward
0 new messages