[2 0 0]
[0 2 0]
[0 0 2]
- Domain: Euclidean Jordan algebra of dimension 3 over
- Rational Field
- Codomain: Euclidean Jordan algebra of dimension 3 over
- Rational Field
+ Domain: Euclidean Jordan algebra of dimension 3 over...
+ Codomain: Euclidean Jordan algebra of dimension 3 over...
If you try to add two identical vector space operators but on
different EJAs, that should blow up::
[1 0 0]
[0 1 0]
[0 0 1]
- Domain: Euclidean Jordan algebra of dimension 3 over
- Rational Field
- Codomain: Euclidean Jordan algebra of dimension 3 over
- Rational Field
+ Domain: Euclidean Jordan algebra of dimension 3 over...
+ Codomain: Euclidean Jordan algebra of dimension 3 over...
"""
return FiniteDimensionalEuclideanJordanAlgebraOperator(
sage: x.operator()
Linear operator between finite-dimensional Euclidean Jordan algebras
represented by the matrix:
- [ 2 4 0]
+ [ 2 2 0]
[ 2 9 2]
- [ 0 4 16]
- Domain: Euclidean Jordan algebra of dimension 3 over
- Rational Field
- Codomain: Euclidean Jordan algebra of dimension 3 over
- Rational Field
+ [ 0 2 16]
+ Domain: Euclidean Jordan algebra of dimension 3 over...
+ Codomain: Euclidean Jordan algebra of dimension 3 over...
sage: x.operator()*(1/2)
Linear operator between finite-dimensional Euclidean Jordan algebras
represented by the matrix:
- [ 1 2 0]
+ [ 1 1 0]
[ 1 9/2 1]
- [ 0 2 8]
- Domain: Euclidean Jordan algebra of dimension 3 over
- Rational Field
- Codomain: Euclidean Jordan algebra of dimension 3 over
- Rational Field
+ [ 0 1 8]
+ Domain: Euclidean Jordan algebra of dimension 3 over...
+ Codomain: Euclidean Jordan algebra of dimension 3 over...
"""
- if other in self.codomain().base_ring():
- return FiniteDimensionalEuclideanJordanAlgebraOperator(
- self.domain(),
- self.codomain(),
- self.matrix()*other)
+ try:
+ if other in self.codomain().base_ring():
+ return FiniteDimensionalEuclideanJordanAlgebraOperator(
+ self.domain(),
+ self.codomain(),
+ self.matrix()*other)
+ except NotImplementedError:
+ # This can happen with certain arguments if the base_ring()
+ # is weird and doesn't know how to test membership.
+ pass
# This should eventually delegate to _composition_ after performing
# some sanity checks for us.
[-1 0 0]
[ 0 -1 0]
[ 0 0 -1]
- Domain: Euclidean Jordan algebra of dimension 3 over
- Rational Field
- Codomain: Euclidean Jordan algebra of dimension 3 over
- Rational Field
+ Domain: Euclidean Jordan algebra of dimension 3 over...
+ Codomain: Euclidean Jordan algebra of dimension 3 over...
"""
return FiniteDimensionalEuclideanJordanAlgebraOperator(
[3 0 0]
[0 3 0]
[0 0 3]
- Domain: Euclidean Jordan algebra of dimension 3 over
- Rational Field
- Codomain: Euclidean Jordan algebra of dimension 3 over
- Rational Field
+ Domain: Euclidean Jordan algebra of dimension 3 over...
+ Codomain: Euclidean Jordan algebra of dimension 3 over...
"""
if (n == 1):
[-1 0 0]
[ 0 -1 0]
[ 0 0 -1]
- Domain: Euclidean Jordan algebra of dimension 3 over
- Rational Field
- Codomain: Euclidean Jordan algebra of dimension 3 over
- Rational Field
+ Domain: Euclidean Jordan algebra of dimension 3 over...
+ Codomain: Euclidean Jordan algebra of dimension 3 over...
"""
return (self + (-other))