Skip to content
This repository was archived by the owner on Jul 19, 2023. It is now read-only.

Commit 197c9f2

Browse files
author
AndiMD
committed
Express unconjugated dot product by sum(a.*b)
1 parent c6f45a5 commit 197c9f2

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

src/derivative_operators/BC_operators.jl

+5-5
Original file line numberDiff line numberDiff line change
@@ -92,8 +92,8 @@ struct GeneralBC{T, L<:AbstractVector{T}, R<:AbstractVector{T}} <:AffineBC{T}
9292
s0_l = S_l[:,1] ; Sl = S_l[:,2:end]
9393
s0_r = S_r[:,end] ; Sr = S_r[:,(end-1):-1:1]
9494

95-
denoml = αl[2] .+ αl[3:end]' s0_l
96-
denomr = αr[2] .+ αr[3:end]' s0_r
95+
denoml = αl[2] .+ sum(αl[3:end] .* s0_l) # dot product without complex conjugation
96+
denomr = αr[2] .+ sum(αr[3:end] .* s0_r)
9797

9898
a_l = -transpose(transpose(αl[3:end]) * Sl) ./denoml
9999
a_r = reverse(-transpose(transpose(αr[3:end]) * Sr) ./denomr)
@@ -121,8 +121,8 @@ struct GeneralBC{T, L<:AbstractVector{T}, R<:AbstractVector{T}} <:AffineBC{T}
121121
s0_l = S_l[:,1] ; Sl = S_l[:,2:end]
122122
s0_r = S_r[:,end] ; Sr = S_r[:,(end-1):-1:1]
123123

124-
denoml = αl[2] .+ αl[3:end]' s0_l
125-
denomr = αr[2] .+ αr[3:end]' s0_r
124+
denoml = αl[2] .+ sum(αl[3:end] .* s0_l)
125+
denomr = αr[2] .+ sum(αr[3:end] .* s0_r)
126126

127127
a_l = -transpose(transpose(αl[3:end]) * Sl) ./denoml
128128
a_r = reverse(-transpose(transpose(αr[3:end]) * Sr) ./denomr)
@@ -147,7 +147,7 @@ Neumann0BC(::Type{U},dx::Union{AbstractVector{T}, T}, order = 1) where {T<:Real,
147147
# other acceptable argument signatures
148148
#RobinBC(al::T, bl::T, cl::T, dx_l::T, ar::T, br::T, cr::T, dx_r::T, order = 1) where T = RobinBC([al,bl, cl], [ar, br, cr], dx_l, order)
149149

150-
Base.:*(Q::AffineBC, u::AbstractVector) = BoundaryPaddedVector( Q.a_l' u[1:length(Q.a_l)] + Q.b_l, Q.a_r' u[(end-length(Q.a_r)+1):end] + Q.b_r, u )
150+
Base.:*(Q::AffineBC, u::AbstractVector) = BoundaryPaddedVector( sum(Q.a_l .* u[1:length(Q.a_l)]) + Q.b_l, sum(Q.a_r .* u[(end-length(Q.a_r)+1):end]) + Q.b_r, u )
151151

152152
Base.:*(Q::PeriodicBC, u::AbstractVector) = BoundaryPaddedVector(u[end], u[1], u)
153153

0 commit comments

Comments
 (0)