diff src/LazyTensors/LazyTensors.jl @ 1100:157a78959e5d refactor/sbpoperators/inflation

Bring up to date
author Jonatan Werpers <jonatan@werpers.com>
date Tue, 10 May 2022 20:34:20 +0200
parents 93f87d5d9fbb
children f1c2a4fa0ee1 a922aa69eb83
line wrap: on
line diff
--- a/src/LazyTensors/LazyTensors.jl	Mon Mar 21 12:51:39 2022 +0100
+++ b/src/LazyTensors/LazyTensors.jl	Tue May 10 20:34:20 2022 +0200
@@ -1,12 +1,13 @@
 module LazyTensors
 
-export LazyTensorApplication
-export LazyTensorTranspose
-export LazyTensorComposition
-export LazyLinearMap
+export TensorApplication
+export TensorTranspose
+export TensorComposition
 export IdentityTensor
 export ScalingTensor
-export InflatedLazyTensor
+export DiagonalTensor
+export DenseTensor
+export InflatedTensor
 export LazyOuterProduct
 export ⊗
 export DomainSizeMismatch
@@ -19,16 +20,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)