Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

This is really not a Sage question...

Nonetheless, a quick glance at the source reveals that it just isn't implemented.

if A.dtype == 'float64' or A.dtype == 'complex128':
    if A_L1 < 1.495585217958292e-002:
        U,V = _pade3(A, ident)
    elif A_L1 < 2.539398330063230e-001:
        U,V = _pade5(A, ident)
    elif A_L1 < 9.504178996162932e-001:
        U,V = _pade7(A, ident)
    elif A_L1 < 2.097847961257068e+000:
        U,V = _pade9(A, ident)
    else:
        maxnorm = 5.371920351148152
        n_squarings = max(0, int(ceil(log2(A_L1 / maxnorm))))
        A = A / 2**n_squarings
        U,V = _pade13(A, ident)
elif A.dtype == 'float32' or A.dtype == 'complex64':
    if A_L1 < 4.258730016922831e-001:
        U,V = _pade3(A, ident)
    elif A_L1 < 1.880152677804762e+000:
        U,V = _pade5(A, ident)
    else:
        maxnorm = 3.925724783138660
        n_squarings = max(0, int(ceil(log2(A_L1 / maxnorm))))
        A = A / 2**n_squarings
        U,V = _pade7(A, ident)
else:
    raise ValueError("invalid type: "+str(A.dtype))