Mercurial > repos > public > sbplib_julia
diff src/LazyTensors/LazyTensors.jl @ 1044:f857057e61e6 refactor/sbpoperators/inflation
Merge default
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Tue, 22 Mar 2022 22:05:34 +0100 |
parents | 9e76bf19904c |
children | 93f87d5d9fbb |
line wrap: on
line diff
--- a/src/LazyTensors/LazyTensors.jl Mon Mar 21 10:04:15 2022 +0100 +++ b/src/LazyTensors/LazyTensors.jl Tue Mar 22 22:05:34 2022 +0100 @@ -1,12 +1,12 @@ module LazyTensors -export LazyTensorApplication -export LazyTensorTranspose -export LazyTensorComposition -export LazyLinearMap +export TensorApplication +export TensorTranspose +export TensorComposition +export DenseTensor export IdentityTensor export ScalingTensor -export InflatedLazyTensor +export InflatedTensor export LazyOuterProduct export ⊗ export DomainSizeMismatch @@ -19,16 +19,16 @@ include("tuple_manipulation.jl") # Applying lazy tensors to vectors -Base.:*(a::LazyTensor, v::AbstractArray) = LazyTensorApplication(a,v) +Base.:*(a::LazyTensor, v::AbstractArray) = TensorApplication(a,v) Base.:*(a::LazyTensor, b::LazyTensor) = throw(MethodError(Base.:*,(a,b))) Base.:*(a::LazyTensor, args::Union{LazyTensor, AbstractArray}...) = foldr(*,(a,args...)) # Addition and subtraction of lazy tensors -Base.:+(s::LazyTensor, t::LazyTensor) = LazyTensorBinaryOperation{:+}(s,t) -Base.:-(s::LazyTensor, t::LazyTensor) = LazyTensorBinaryOperation{:-}(s,t) +Base.:+(s::LazyTensor, t::LazyTensor) = ElementwiseTensorOperation{:+}(s,t) +Base.:-(s::LazyTensor, t::LazyTensor) = ElementwiseTensorOperation{:-}(s,t) # Composing lazy tensors -Base.:∘(s::LazyTensor, t::LazyTensor) = LazyTensorComposition(s,t) +Base.:∘(s::LazyTensor, t::LazyTensor) = TensorComposition(s,t) # Outer products of tensors ⊗(a::LazyTensor, b::LazyTensor) = LazyOuterProduct(a,b)