diff --git a/lib/OrdinaryDiffEqFIRK/src/firk_perform_step.jl b/lib/OrdinaryDiffEqFIRK/src/firk_perform_step.jl index e6aa13e6a5..c7eedf7b33 100644 --- a/lib/OrdinaryDiffEqFIRK/src/firk_perform_step.jl +++ b/lib/OrdinaryDiffEqFIRK/src/firk_perform_step.jl @@ -1435,9 +1435,9 @@ end end dw = Vector{eltype(u)}(undef, num_stages) - dw[1] = LU[1] \ rhs[1] + dw[1] = _reshape(LU[1] \ _vec(rhs[1])) for i in 2 : Int((num_stages + 1) / 2) - tmp = LU[i] \ (@.. rhs[2 * i - 2] + rhs[2 * i - 1] * im) + tmp = _reshape(LU[i] \ _vec(@.. rhs[2 * i - 2] + rhs[2 * i - 1] * im), axes(u)) dw[2 * i - 2] = real(tmp) dw[2 * i - 1] = imag(tmp) end diff --git a/lib/OrdinaryDiffEqFIRK/src/firk_tableaus.jl b/lib/OrdinaryDiffEqFIRK/src/firk_tableaus.jl index 7cb82a9a58..7c090d96ad 100644 --- a/lib/OrdinaryDiffEqFIRK/src/firk_tableaus.jl +++ b/lib/OrdinaryDiffEqFIRK/src/firk_tableaus.jl @@ -123,7 +123,7 @@ struct BigRadauIIA5Tableau{T1, T2, Int} end function BigRadauIIA5Tableau(T1, T2, Int) - γ = big"3.63783425274449573220841851357777579794593608687391153215117488565841871456727143375130115708511223004183651123208497057248238260532214672028700625775335843" + γ = convert(T1, big"3.63783425274449573220841851357777579794593608687391153215117488565841871456727143375130115708511223004183651123208497057248238260532214672028700625775335843") α = Vector{T1}(undef, 1) β = Vector{T1}(undef, 1) α[1] = big"2.68108287362775213389579074321111210102703195656304423392441255717079064271636428312434942145744388497908174438395751471375880869733892663985649687112332242" @@ -171,7 +171,7 @@ struct BigRadauIIA9Tableau{T1, T2, Int} end function BigRadauIIA9Tableau(T1, T2, Int) - γ = big"6.28670475172927664517315334186940904959068186655567041187229167532923622489525703260842273089261139845280626287956099768662193453067483410165932355981736786" + γ = convert(T1, big"6.28670475172927664517315334186940904959068186655567041187229167532923622489525703260842273089261139845280626287956099768662193453067483410165932355981736786") α = Vector{T1}(undef, 2) β = Vector{T1}(undef, 2) α[1] = big"3.65569432546357225824320796009543385435699888857815445045567025741630720509235614026228963385258117304229337679733945535812317372403535763551850772878775217" @@ -405,7 +405,7 @@ struct BigRadauIIA13Tableau{T1, T2, Int} end function BigRadauIIA13Tableau(T1, T2, Int) - γ = big"8.93683278840521633730209691330107970355008194433956657198414191417624969654351559268800871286734194720118970058657997472527299153742511021973612156231867783" + γ = convert(T1, big"8.93683278840521633730209691330107970355008194433956657198414191417624969654351559268800871286734194720118970058657997472527299153742511021973612156231867783") α = Vector{T1}(undef, 3) β = Vector{T1}(undef, 3) α[1] = big"4.37869356150680600252334919268856129165763746518197948235657247177701087073069907016715245914093899486193202405685779803686971216417800783050995450529391908"