Mercurial > repos > public > sbplib_julia
diff src/LazyTensors/LazyTensors.jl @ 1101:1e8270c18edb feature/lazy_tensors/pretty_printing
Merge default
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Thu, 12 May 2022 21:52:47 +0200 |
parents | 93f87d5d9fbb |
children | f1c2a4fa0ee1 a922aa69eb83 |
line wrap: on
line diff
--- a/src/LazyTensors/LazyTensors.jl Mon Mar 21 09:32:26 2022 +0100 +++ b/src/LazyTensors/LazyTensors.jl Thu May 12 21:52:47 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)