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))