Again we repeat with a _specific_ example whose scalars are
algebraic; anything larger than this takes too long (though
- `n=3` is doable if you're willing to wait five minutes)::
+ `n=3` is doable if you're willing to wait five minutes). Even
+ this one can be slow if your random algebraic numbers are
+ unlucky::
sage: J = ComplexHermitianEJA(2)
sage: U = random_unitary_matrix(QQbar, 2)
sage: L = lambda X: J((UU.conjugate_transpose()*X*UU))
sage: columns = ( L(b).to_vector() for b in J.matrix_basis() )
sage: MS = MatrixSpace(J.base_ring(), J.dimension(), J.dimension())
- sage: M = MS(columns).transpose()
- sage: L = EJAOperator(J,J,M)
- sage: L.is_isomorphism()
+ sage: M = MS(columns).transpose() # long time
+ sage: L = EJAOperator(J,J,M) # long time
+ sage: L.is_isomorphism() # long time
True
- sage: L.inverse().is_isomorphism()
+ sage: L.inverse().is_isomorphism() # long time
True
- sage: (L^2).is_isomorphism()
+ sage: (L^2).is_isomorphism() # long time
True
sage: L = lambda X: J((UU.conjugate_transpose()*X.conjugate()*UU))
sage: columns = ( L(b).to_vector() for b in J.matrix_basis() )
sage: MS = MatrixSpace(J.base_ring(), J.dimension(), J.dimension())
- sage: M = MS(columns).transpose()
- sage: L = EJAOperator(J,J,M)
- sage: L.is_isomorphism()
+ sage: M = MS(columns).transpose() # long time
+ sage: L = EJAOperator(J,J,M) # long time
+ sage: L.is_isomorphism() # long time
True
- sage: L.inverse().is_isomorphism()
+ sage: L.inverse().is_isomorphism() # long time
True
- sage: (L^2).is_isomorphism()
+ sage: (L^2).is_isomorphism() # long time
True
TESTS: