- if L.base_ring().is_exact() or L.base_ring() is SR:
- # The "fast method" of creating a vector space based on a
- # ``lyapunov_like_basis`` is actually slower than this.
- return all([ s*(L*x) == 0
- for (x,s) in K.discrete_complementarity_set() ])
- else:
- # The only inexact ring that we're willing to work with is SR,
- # since it can still be exact when working with symbolic
- # constants like pi and e.