From 48456a75aa23a87af1d9951c529dbdf858267c07 Mon Sep 17 00:00:00 2001 From: Michiel Cottaar <michiel.cottaar@ndcn.ox.ac.uk> Date: Tue, 30 Jan 2024 15:05:06 +0000 Subject: [PATCH] Switch to permutedims and define `grad` variable --- src/gradients/constant_gradient_blocks.jl | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/gradients/constant_gradient_blocks.jl b/src/gradients/constant_gradient_blocks.jl index 4001c42..ca3f78c 100644 --- a/src/gradients/constant_gradient_blocks.jl +++ b/src/gradients/constant_gradient_blocks.jl @@ -38,7 +38,8 @@ slew_rate(::AbstractConstantGradientBlock) = zero(SVector{3, Float64}) qvec(cgb::AbstractConstantGradientBlock) = duration(cgb) .* gradient_strength(cgb) function bmat_gradient(cgb::AbstractConstantGradientBlock) - return (grad .* grad') .* duration(cgb)^3 ./3 + grad = gradient_strength(cgb) + return (grad .* permutedims(grad)) .* duration(cgb)^3 ./3 end function bmat_gradient(cgb::AbstractConstantGradientBlock, qstart) @@ -46,9 +47,10 @@ function bmat_gradient(cgb::AbstractConstantGradientBlock, qstart) # qstart^2 * duration + # qstart * grad * duration^2 + # grad * grad * duration^3 / 3 + + grad = gradient_strength(cgb) return ( - qstart .* qstart' .* duration(cgb) .+ - qstart .* grad' .* duration(cgb)^2 .+ + qstart .* permutedims(qstart) .* duration(cgb) .+ + qstart .* permutedims(grad) .* duration(cgb)^2 .+ bmat_gradient(cgb) ) end -- GitLab