@@ -92,8 +92,8 @@ struct GeneralBC{T, L<:AbstractVector{T}, R<:AbstractVector{T}} <:AffineBC{T}
92
92
s0_l = S_l[:,1 ] ; Sl = S_l[:,2 : end ]
93
93
s0_r = S_r[:,end ] ; Sr = S_r[:,(end - 1 ): - 1 : 1 ]
94
94
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)
97
97
98
98
a_l = - transpose (transpose (αl[3 : end ]) * Sl) ./ denoml
99
99
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}
121
121
s0_l = S_l[:,1 ] ; Sl = S_l[:,2 : end ]
122
122
s0_r = S_r[:,end ] ; Sr = S_r[:,(end - 1 ): - 1 : 1 ]
123
123
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)
126
126
127
127
a_l = - transpose (transpose (αl[3 : end ]) * Sl) ./ denoml
128
128
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,
147
147
# other acceptable argument signatures
148
148
# 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)
149
149
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 )
151
151
152
152
Base.:* (Q:: PeriodicBC , u:: AbstractVector ) = BoundaryPaddedVector (u[end ], u[1 ], u)
153
153
0 commit comments