From 659c625645d6b4a5100f4cbe730e53d7ad649996 Mon Sep 17 00:00:00 2001 From: Claude Date: Thu, 31 Jul 2025 18:30:57 -0400 Subject: [PATCH] Format code with JuliaFormatter v2.1.5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Applied JuliaFormatter to ensure consistent code formatting across the codebase. This includes formatting improvements to source files for better readability and consistency. 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- src/homotopy.jl | 20 ++++++++++------ src/integral.jl | 10 ++++++-- src/rules.jl | 63 +++++++++++++++++++++++++++++-------------------- 3 files changed, 58 insertions(+), 35 deletions(-) diff --git a/src/homotopy.jl b/src/homotopy.jl index 0cfefae..91ca12b 100644 --- a/src/homotopy.jl +++ b/src/homotopy.jl @@ -132,8 +132,10 @@ partial_int_rules = [ @rule 𝛷(~x, sech(~u)) => (atan(sinh(~u)), ~u) @rule 𝛷(~x, coth(~u)) => (log(sinh(~u)), ~u) # 1/trigonometric functions - @rule 𝛷(~x, 1 / sin(~u)) => (log(csc(~u) + cot(~u)) + log(sin(~u)), ~u) - @rule 𝛷(~x, 1 / cos(~u)) => (log(sec(~u) + tan(~u)) + log(cos(~u)), ~u) + @rule 𝛷(~x, 1 / + sin(~u)) => (log(csc(~u) + cot(~u)) + log(sin(~u)), ~u) + @rule 𝛷(~x, 1 / + cos(~u)) => (log(sec(~u) + tan(~u)) + log(cos(~u)), ~u) @rule 𝛷(~x, 1 / tan(~u)) => (log(sin(~u)) + log(tan(~u)), ~u) @rule 𝛷(~x, 1 / csc(~u)) => (cos(~u) + log(csc(~u)), ~u) @rule 𝛷(~x, 1 / sec(~u)) => (sin(~u) + log(sec(~u)), ~u) @@ -160,7 +162,8 @@ partial_int_rules = [ @rule 𝛷(~x, asech(~u)) => (asech(~u), ~u) @rule 𝛷(~x, acoth(~u)) => (~u * acot(~u) + log(~u + 1), ~u) # logarithmic and exponential functions - @rule 𝛷(~x, log(~u)) => ( + @rule 𝛷(~x, + log(~u)) => ( ~u + ~u * log(~u) + sum(pow_minus_rule(~u, ~x, -1); init = one(~u)), ~u) @@ -172,16 +175,19 @@ partial_int_rules = [ sum(sqrt_rule(~u, ~x, ~k); init = one(~u)), ~u) @rule 𝛷(~x, sqrt(~u)) => ( sum(sqrt_rule(~u, ~x, 0.5); init = one(~u)), ~u) - @rule 𝛷(~x, 1 / sqrt(~u)) => ( + @rule 𝛷(~x, 1 / + sqrt(~u)) => ( sum(sqrt_rule(~u, ~x, -0.5); init = one(~u)), ~u) # rational functions - @rule 𝛷(~x, 1 / ^(~u::is_univar_poly, ~k::is_pos_int)) => ( + @rule 𝛷(~x, + 1 / ^(~u::is_univar_poly, ~k::is_pos_int)) => ( sum(pow_minus_rule(~u, ~x, -~k); init = one(~u)), ~u) - @rule 𝛷(~x, 1 / ~u::is_univar_poly) => ( + @rule 𝛷( + ~x, 1 / ~u::is_univar_poly) => ( sum(pow_minus_rule(~u, ~x, -1); init = one(~u)), ~u) @rule 𝛷(~x, ^(~u, -1)) => (log(~u) + ~u * log(~u), ~u) @@ -239,7 +245,7 @@ function pow_minus_rule(p, x, k; abstol = 1e-8) end function sqrt_rule(p, x, k) - h = Any[p^k, p^(k + 1)] + h = Any[p ^ k, p ^ (k + 1)] Δ = diff(p, x) push!(h, log(Δ / 2 + sqrt(p))) diff --git a/src/integral.jl b/src/integral.jl index 9985afa..0c04c0e 100644 --- a/src/integral.jl +++ b/src/integral.jl @@ -99,7 +99,8 @@ function integrate(eq, x = nothing; plan = NumericalPlan(abstol, radius, complex_plane, opt) - s, u, ε = integrate_sum(eq, x; plan, bypass, num_trials, num_steps, + s, u, + ε = integrate_sum(eq, x; plan, bypass, num_trials, num_steps, show_basis, symbolic, max_basis, verbose, use_optim) s = beautify(s) @@ -206,7 +207,12 @@ end # in a future version function integrate_term(eq, x; kwargs...) args = Dict(kwargs) - plan, num_steps, num_trials, show_basis, symbolic, verbose, max_basis = args[:plan], + plan, num_steps, + num_trials, + show_basis, + symbolic, + verbose, + max_basis = args[:plan], args[:num_steps], args[:num_trials], args[:show_basis], args[:symbolic], args[:verbose], args[:max_basis] diff --git a/src/rules.jl b/src/rules.jl index 8bac05b..0f8c60a 100644 --- a/src/rules.jl +++ b/src/rules.jl @@ -109,22 +109,28 @@ trigs_rules = [@rule tan(~x) => sin(~x) / cos(~x) @rule sec(~x) => one(~x) / cos(~x) @rule csc(~x) => one(~x) / sin(~x) @rule cot(~x) => cos(~x) / sin(~x) - @rule sin(~n::is_int_gt_one * ~x) => sin((~n - 1) * ~x) * cos(~x) + - cos((~n - 1) * ~x) * sin(~x) - @rule cos(~n::is_int_gt_one * ~x) => cos((~n - 1) * ~x) * cos(~x) - - sin((~n - 1) * ~x) * sin(~x) - @rule tan(~n::is_int_gt_one * ~x) => (tan((~n - 1) * ~x) + tan(~x)) / - (1 - tan((~n - 1) * ~x) * tan(~x)) - @rule csc(~n::is_int_gt_one * ~x) => sec((~n - 1) * ~x) * sec(~x) * - csc((~n - 1) * ~x) * csc(~x) / - (sec((~n - 1) * ~x) * csc(~x) + - csc((~n - 1) * ~x) * sec(~x)) - @rule sec(~n::is_int_gt_one * ~x) => sec((~n - 1) * ~x) * sec(~x) * - csc((~n - 1) * ~x) * csc(~x) / - (csc((~n - 1) * ~x) * csc(~x) - - sec((~n - 1) * ~x) * sec(~x)) - @rule cot(~n::is_int_gt_one * ~x) => (cot((~n - 1) * ~x) * cot(~x) - 1) / - (cot((~n - 1) * ~x) + cot(~x)) + @rule sin(~n::is_int_gt_one * + ~x) => sin((~n - 1) * ~x) * cos(~x) + + cos((~n - 1) * ~x) * sin(~x) + @rule cos(~n::is_int_gt_one * + ~x) => cos((~n - 1) * ~x) * cos(~x) - + sin((~n - 1) * ~x) * sin(~x) + @rule tan(~n::is_int_gt_one * + ~x) => (tan((~n - 1) * ~x) + tan(~x)) / + (1 - tan((~n - 1) * ~x) * tan(~x)) + @rule csc(~n::is_int_gt_one * + ~x) => sec((~n - 1) * ~x) * sec(~x) * + csc((~n - 1) * ~x) * csc(~x) / + (sec((~n - 1) * ~x) * csc(~x) + + csc((~n - 1) * ~x) * sec(~x)) + @rule sec(~n::is_int_gt_one * + ~x) => sec((~n - 1) * ~x) * sec(~x) * + csc((~n - 1) * ~x) * csc(~x) / + (csc((~n - 1) * ~x) * csc(~x) - + sec((~n - 1) * ~x) * sec(~x)) + @rule cot(~n::is_int_gt_one * + ~x) => (cot((~n - 1) * ~x) * cot(~x) - 1) / + (cot((~n - 1) * ~x) + cot(~x)) @rule 1 / sin(~x) => csc(~x) @rule 1 / cos(~x) => sec(~x) @rule 1 / tan(~x) => cot(~x) @@ -140,18 +146,22 @@ trigs_rules = [@rule tan(~x) => sin(~x) / cos(~x) @rule sin(~x + ~y) => sin(~x) * cos(~y) + cos(~x) * sin(~y) @rule cos(~x + ~y) => cos(~x) * cos(~y) - sin(~x) * sin(~y) @rule tan(~x + ~y) => (tan(~x) + tan(~y)) / (1 - tan(~x) * tan(~y)) - @rule csc(~x + ~y) => sec(~x) * sec(~y) * csc(~x) * csc(~y) / - (sec(~x) * csc(~y) + csc(~x) * sec(~y)) - @rule sec(~x + ~y) => sec(~x) * sec(~y) * csc(~x) * csc(~y) / - (csc(~x) * csc(~y) - sec(~x) * sec(~y)) + @rule csc(~x + + ~y) => sec(~x) * sec(~y) * csc(~x) * csc(~y) / + (sec(~x) * csc(~y) + csc(~x) * sec(~y)) + @rule sec(~x + + ~y) => sec(~x) * sec(~y) * csc(~x) * csc(~y) / + (csc(~x) * csc(~y) - sec(~x) * sec(~y)) @rule cot(~x + ~y) => (cot(~x) * cot(~y) - 1) / (cot(~x) + cot(~y)) @rule sin(~x - ~y) => sin(~x) * cos(~y) - cos(~x) * sin(~y) @rule cos(~x - ~y) => cos(~x) * cos(~y) + sin(~x) * sin(~y) @rule tan(~x - ~y) => (tan(~x) - tan(~y)) / (1 + tan(~x) * tan(~y)) - @rule csc(~x - ~y) => sec(~x) * sec(~y) * csc(~x) * csc(~y) / - (sec(~x) * csc(~y) - csc(~x) * sec(~y)) - @rule sec(~x - ~y) => sec(~x) * sec(~y) * csc(~x) * csc(~y) / - (csc(~x) * csc(~y) + sec(~x) * sec(~y)) + @rule csc(~x - + ~y) => sec(~x) * sec(~y) * csc(~x) * csc(~y) / + (sec(~x) * csc(~y) - csc(~x) * sec(~y)) + @rule sec(~x - + ~y) => sec(~x) * sec(~y) * csc(~x) * csc(~y) / + (csc(~x) * csc(~y) + sec(~x) * sec(~y)) @rule cot(~x - ~y) => (cot(~x) * cot(~y) + 1) / (cot(~x) - cot(~y)) # @rule sin(2*~x) => 2*sin(~x)*cos(~x) @@ -239,8 +249,9 @@ rational_rules = [@rule Ω(+(~~xs)) => sum(map(Ω, ~~xs)) @rule Ω(^(~x::is_poly, ~k::is_neg_int)) => expand(^( decompose_rational(~x), -~k)) - @rule Ω(~x / ^(~y::is_poly, ~k::is_pos_int)) => expand(~x * - ^( + @rule Ω(~x / + ^(~y::is_poly, ~k::is_pos_int)) => expand(~x * + ^( decompose_rational(~y), ~k)) @rule Ω(~x / ~y::is_poly) => expand(~x * decompose_rational(~y))