Mercurial > repos > public > sbplib_julia
comparison src/LazyTensors/lazy_tensor_operations.jl @ 460:acffa3a1395d feature/inflated_tensormapping
Move part of the documentation to the constructor
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Wed, 21 Oct 2020 21:44:35 +0200 |
parents | 11e58c49fb46 |
children | a0e40d16ba0e |
comparison
equal
deleted
inserted
replaced
459:11e58c49fb46 | 460:acffa3a1395d |
---|---|
168 domain_size(tmi::IdentityMapping) = tmi.size | 168 domain_size(tmi::IdentityMapping) = tmi.size |
169 | 169 |
170 apply(tmi::IdentityMapping{T,D}, v::AbstractArray{T,D}, I::Vararg{Any,D}) where {T,D} = v[I...] | 170 apply(tmi::IdentityMapping{T,D}, v::AbstractArray{T,D}, I::Vararg{Any,D}) where {T,D} = v[I...] |
171 apply_transpose(tmi::IdentityMapping{T,D}, v::AbstractArray{T,D}, I::Vararg{Any,D}) where {T,D} = v[I...] | 171 apply_transpose(tmi::IdentityMapping{T,D}, v::AbstractArray{T,D}, I::Vararg{Any,D}) where {T,D} = v[I...] |
172 | 172 |
173 | |
173 """ | 174 """ |
174 InflatedTensorMapping{T,R,D} <: TensorMapping{T,R,D} | 175 InflatedTensorMapping{T,R,D} <: TensorMapping{T,R,D} |
175 | 176 |
176 An inflated `TensorMapping` with dimensions added before and afer its actual dimensions. | 177 An inflated `TensorMapping` with dimensions added before and afer its actual dimensions. |
177 | 178 |
178 --- | |
179 | |
180 InflatedTensorMapping(before, tm, after) | |
181 | |
182 The outer product of `before`, `tm` and `after`, where `before` and `after` are `IndentityMapping`s. | |
183 """ | 179 """ |
184 struct InflatedTensorMapping{T,R,D,D_before,R_middle,D_middle,D_after, TM<:TensorMapping{T,R_middle,D_middle}} <: TensorMapping{T,R,D} | 180 struct InflatedTensorMapping{T,R,D,D_before,R_middle,D_middle,D_after, TM<:TensorMapping{T,R_middle,D_middle}} <: TensorMapping{T,R,D} |
185 before::IdentityMapping{T,D_before} | 181 before::IdentityMapping{T,D_before} |
186 tm::TM | 182 tm::TM |
187 after::IdentityMapping{T,D_after} | 183 after::IdentityMapping{T,D_after} |
188 | 184 |
185 ``` | |
186 InflatedTensorMapping(before, tm, after) | |
187 | |
188 The outer product of `before`, `tm` and `after`, where `before` and `after` are `IndentityMapping`s. | |
189 ``` | |
189 function InflatedTensorMapping(before, tm::TensorMapping{T}, after) where T | 190 function InflatedTensorMapping(before, tm::TensorMapping{T}, after) where T |
190 R_before = range_dim(before) | 191 R_before = range_dim(before) |
191 R_middle = range_dim(tm) | 192 R_middle = range_dim(tm) |
192 R_after = range_dim(after) | 193 R_after = range_dim(after) |
193 R = R_before+R_middle+R_after | 194 R = R_before+R_middle+R_after |