--- a/src/direct_product.rs Wed Sep 03 09:52:30 2025 -0500 +++ b/src/direct_product.rs Wed Sep 03 10:08:28 2025 -0500 @@ -311,7 +311,7 @@ // + for<'b> SubAssign<&'b Self> // + Neg<Output = Self::OwnedEuclidean>, { - type OwnedEuclidean = Pair<A::OwnedEuclidean, B::OwnedEuclidean>; + type PrincipalE = Pair<A::PrincipalE, B::PrincipalE>; fn dot<I: Instance<Self>>(&self, other: I) -> F { other.eval_decompose(|Pair(u, v)| self.0.dot(u) + self.1.dot(v)) @@ -333,10 +333,10 @@ F: Num, { type Field = F; - type Owned = Pair<A::Owned, B::Owned>; + type PrincipalV = Pair<A::PrincipalV, B::PrincipalV>; /// Return a similar zero as `self`. - fn similar_origin(&self) -> Self::Owned { + fn similar_origin(&self) -> Self::PrincipalV { Pair(self.0.similar_origin(), self.1.similar_origin()) } @@ -389,7 +389,7 @@ pub struct PairDecomposition<D, Q>(D, Q); impl<A: Space, B: Space> Space for Pair<A, B> { - type OwnedSpace = Pair<A::OwnedSpace, B::OwnedSpace>; + type Principal = Pair<A::Principal, B::Principal>; type Decomp = PairDecomposition<A::Decomp, B::Decomp>; } @@ -449,7 +449,7 @@ } #[inline] - fn cow<'b>(self) -> MyCow<'b, Pair<A::OwnedSpace, B::OwnedSpace>> + fn cow<'b>(self) -> MyCow<'b, Pair<A::Principal, B::Principal>> where Self: 'b, { @@ -457,7 +457,7 @@ } #[inline] - fn own(self) -> Pair<A::OwnedSpace, B::OwnedSpace> { + fn own(self) -> Pair<A::Principal, B::Principal> { Pair(self.0.own(), self.1.own()) } } @@ -500,7 +500,7 @@ } #[inline] - fn cow<'b>(self) -> MyCow<'b, Pair<A::OwnedSpace, B::OwnedSpace>> + fn cow<'b>(self) -> MyCow<'b, Pair<A::Principal, B::Principal>> where Self: 'b, { @@ -508,7 +508,7 @@ } #[inline] - fn own(self) -> Pair<A::OwnedSpace, B::OwnedSpace> { + fn own(self) -> Pair<A::Principal, B::Principal> { let Pair(ref u, ref v) = self; Pair(u.own(), v.own()) } @@ -601,7 +601,7 @@ { type DualSpace = Pair<A::DualSpace, B::DualSpace>; - fn dual_origin(&self) -> <Self::DualSpace as VectorSpace>::Owned { + fn dual_origin(&self) -> <Self::DualSpace as VectorSpace>::PrincipalV { Pair(self.0.dual_origin(), self.1.dual_origin()) } }