'Generate all the roots of a given root system
The result is a dictionary where the keys are integer numbers.  It
generates the roots by getting the dictionary of all positive roots
from the bases classes, and then taking each root, and multiplying it
by -1 and adding it to the dictionary.  In this way all the negative
roots are generated.'

def all_roots(self):

    alpha = self.cartan_type.positive_roots()
    keys = list(alpha.keys())
    k = max(keys)
    for val in keys:
        k += 1
        root = alpha[val]
        newroot = [(- x) for x in root]
        alpha[k] = newroot
    return alpha
