Represents a trait that extends the capabilities of mathematical structures defined by T and U to support multiplication operations within an algebraic framework.
This trait builds upon the foundational traits Can, CanAddAndSubtract, and CanScale, adding multiplicative behavior and related utilities. It defines operations such as obtaining the multiplicative identity, performing multiplication, and combining structures in a multiplicative context with optional compatibility checks.
It's conceivable that some algebraic structures might support multiplication but not addition.
Type parameters
T
the type of structure that supports multiplication, bounded by Structure and requiring a ClassTag
U
a secondary structure type used in combinatory operations, also bounded by Structure
Casts the current instance to the type parameter T of the enclosing Can trait.
Casts the current instance to the type parameter T of the enclosing Can trait.
This method performs a type-safe cast using the ClassTag to verify at runtime that the cast is valid. If the current instance cannot be cast to type T, an AlgebraException is thrown.