Mercurial > repos > public > sbplib_julia
comparison src/SbpOperators/quadrature/inverse_diagonal_quadrature.jl @ 506:c2f991b819fc feature/quadrature_as_outer_product
Update docs
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Sat, 07 Nov 2020 13:28:38 +0100 |
parents | 21fba50cb5b0 |
children | 576c6d1acc28 |
comparison
equal
deleted
inserted
replaced
505:26485066394a | 506:c2f991b819fc |
---|---|
1 """ | 1 """ |
2 inverse_diagonal_quadrature(g,quadrature_closure) | 2 inverse_diagonal_quadrature(g,quadrature_closure) |
3 | 3 |
4 Constructs the diagonal quadrature inverse operator `Qi` on a grid of `Dim` dimensions as | 4 Constructs the diagonal quadrature inverse operator `Hi` on a grid of `Dim` dimensions as |
5 a `TensorMapping`. The one-dimensional operator is a InverseDiagonalQuadrature, while | 5 a `TensorMapping`. The one-dimensional operator is a InverseDiagonalQuadrature, while |
6 the multi-dimensional operator is the outer-product of the one-dimensional operators | 6 the multi-dimensional operator is the outer-product of the one-dimensional operators |
7 in each coordinate direction. | 7 in each coordinate direction. |
8 """ | 8 """ |
9 function inverse_diagonal_quadrature(g::EquidistantGrid{Dim}, quadrature_closure) where Dim | 9 function inverse_diagonal_quadrature(g::EquidistantGrid{Dim}, quadrature_closure) where Dim |
15 end | 15 end |
16 export inverse_diagonal_quadrature | 16 export inverse_diagonal_quadrature |
17 | 17 |
18 | 18 |
19 """ | 19 """ |
20 InverseDiagonalQuadrature{Dim,T<:Real,M} <: TensorMapping{T,1,1} | 20 InverseDiagonalQuadrature{T,M} <: TensorMapping{T,1,1} |
21 | 21 |
22 Implements the inverse diagonal inner product operator `Hi` of as a 1D TensorOperator | 22 Implements the one-dimensional inverse diagonal quadrature operator as a `TensorMapping |
23 TODO: Elaborate on properties | |
23 """ | 24 """ |
24 struct InverseDiagonalQuadrature{T<:Real,M} <: TensorMapping{T,1,1} | 25 struct InverseDiagonalQuadrature{T<:Real,M} <: TensorMapping{T,1,1} |
25 h_inv::T | 26 h_inv::T |
26 closure::NTuple{M,T} | 27 closure::NTuple{M,T} |
27 size::Tuple{Int} | 28 size::Tuple{Int} |
57 return LazyTensors.apply(Hi, v, i) | 58 return LazyTensors.apply(Hi, v, i) |
58 end | 59 end |
59 | 60 |
60 LazyTensors.apply_transpose(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, I::Index) where T = LazyTensors.apply(Hi,v,I) | 61 LazyTensors.apply_transpose(Hi::InverseDiagonalQuadrature{T}, v::AbstractVector{T}, I::Index) where T = LazyTensors.apply(Hi,v,I) |
61 | 62 |
62 | 63 """ |
64 closuresize(H) | |
65 Returns the size of the closure stencil of a InverseDiagonalQuadrature `Hi`. | |
66 """ | |
63 closuresize(Hi::InverseDiagonalQuadrature{T,M}) where {T,M} = M | 67 closuresize(Hi::InverseDiagonalQuadrature{T,M}) where {T,M} = M |
64 export closuresize | 68 export closuresize |