Weighted stable residuals and quadratic phase remainders
DefinitionBianchiIX_StableProjectionRefinementDataFor real variables , set
The shear components and wall rates are
These functions define the normalized vacuum Bianchi IX vector field . For , define
and .
For , put
For , set and
Write for the normalized vector field and for its constraint.
The normalized and projective state spaces are and with their finite-product norms. The maps act on these state spaces.
The projective vector field in normalized time is
Write , , and let be the maximal solution of with initial value at and domain . Put
On the invariant plane with zero active wall, use , the inclusion and the restriction . Define
Write , , , for their explicit Jacobian and Hessian expressions. The denominator derivatives are and . The exact original-time boundary flow and its projected variation are
For a fixed scale , set , and . For directions , define
All vector norms are sup norms, and operator norms are induced by them. Write , , , and
The closed boundary region is . The boundary projection is the limit of as , using the total limit convention of the formal definitions.
Set and
Its explicit gradient is used together with the residual , where
Write , , , and set
The corrected and quadratic remainders are
For , let , where are independent of , and put
The cubic derivative budgets are
A direction is radial if its last two coordinates vanish, and transverse if its zeroth coordinate vanishes.
This data includes the explicit first two derivatives of and , the bilinear Hessian of , and the cubic monomials with their linear and bilinear derivatives. The reciprocal coordinate map is , where . With , the four compactified residual profiles are
The weak-radius remainder is , together with its two first and three second partial derivatives. Its second-derivative kernel is
The additional second input weight is . The residual tail is , and the corrected phase tail is . All spaces of continuous linear maps carry their usual operator norms.
import Mathlib.Analysis.Calculus.ContDiff.Operations
import Mathlib.Analysis.Calculus.ParametricIntegral
import Mathlib.MeasureTheory.Integral.Bochner.ContinuousLinearMap
import Mathlib.Analysis.Calculus.ContDiff.Comp
import Mathlib.Analysis.Calculus.Deriv.Comp
import Mathlib.Analysis.Calculus.Deriv.Mul
import Mathlib.Analysis.SpecialFunctions.Pow.Deriv
import Mathlib.Analysis.Calculus.Deriv.Inv
import Mathlib.Data.Fin.VecNotation
import Definitions.Def_BianchiIX_CompactPhaseExpansionData
import Mathlib.Analysis.Calculus.Deriv.Pow
import Mathlib.Analysis.Calculus.Deriv.Add
import Mathlib.Analysis.Real.Sqrt
import Mathlib.Tactic.Linarith
import Mathlib.Tactic.Ring
import Mathlib.Tactic.FieldSimp
import Mathlib.Tactic.LinearCombination
import Mathlib.Analysis.SpecialFunctions.Sqrt
import Definitions.Def_BianchiIX_Algebra_MatchingPhase
import Mathlib.Analysis.SpecialFunctions.Arsinh
import Mathlib.Analysis.Calculus.Deriv.Prod
import Mathlib.Analysis.Calculus.MeanValue
import Mathlib.Tactic.FinCases
import Mathlib.Tactic.FunProp
import Mathlib.Analysis.SpecialFunctions.Arcosh
import Mathlib.MeasureTheory.Integral.IntervalIntegral.FundThmCalculus
import Mathlib.Analysis.Calculus.InverseFunctionTheorem.Deriv
import Mathlib.Analysis.Calculus.Deriv.MeanValue
import Mathlib.Analysis.SpecialFunctions.Integrals.Basic
import Mathlib.Analysis.ODE.ExistUnique
import Mathlib.Analysis.Calculus.FDeriv.Partial
import Mathlib.MeasureTheory.Integral.IntervalIntegral.DistLEIntegral
import Mathlib.Analysis.ODE.Gronwall
import Mathlib.Data.Matrix.Mul
import Mathlib.Topology.Instances.Real.Lemmas
import Mathlib.Tactic.GCongr
import Mathlib.Analysis.Calculus.Deriv.Slope
import Mathlib.Topology.Order.OrderClosed
import Mathlib.Topology.Order.IntermediateValue
import Mathlib.Topology.MetricSpace.Cauchy
import Mathlib.Analysis.Calculus.FDeriv.Symmetric
import Mathlib.Tactic.NormNum
import Mathlib.Topology.Order.Compact
import Mathlib.Analysis.Calculus.UniformLimitsDeriv
import Mathlib.Analysis.Calculus.ParametricIntervalIntegral
import Mathlib.MeasureTheory.Integral.DominatedConvergence
import Mathlib.Topology.Order.ProjIcc
import Mathlib.Analysis.SpecialFunctions.ImproperIntegrals
section
noncomputable section
namespace BianchiIX
open Set Filter MeasureTheory
open scoped Topology
variable {E F : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E]
[NormedAddCommGroup F] [NormedSpace ℝ F]
-- Fix the operator norm structure before forming the second operator space.
local instance _root_.BianchiIX.instNormedAddCommGroupContinuousLinearMapRealId_bianchiIX : NormedAddCommGroup (E →L[ℝ] F) := ContinuousLinearMap.toNormedAddCommGroup
local instance _root_.BianchiIX.instNormedSpaceRealContinuousLinearMapId_bianchiIX : NormedSpace ℝ (E →L[ℝ] F) := inferInstance
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
open Filter
open scoped Topology
def reciprocalParameter (y : Fin 2 → ℝ) : ℝ := (y 0 + 1)⁻¹
def reciprocalParameterMap (y : Fin 2 → ℝ) : Fin 2 → ℝ := ![reciprocalParameter y, y 1]
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
open scoped Topology
def stableCorrectionADeriv (m : ℝ) : ℝ := -(m ^ 2 + 1) / (m ^ 2 - 1) ^ 2
def stableCorrectionASecond (m : ℝ) : ℝ := 2 * m * (m ^ 2 + 3) / (m ^ 2 - 1) ^ 3
def stableCorrectionCDeriv (m : ℝ) : ℝ := 2 / (m + 1) ^ 2
def stableCorrectionCSecond (m : ℝ) : ℝ := -4 / (m + 1) ^ 3
def stableCorrectedHessian (m u w : ℝ) (v r : Fin 3 → ℝ) : ℝ :=
(w ^ 2 / stableWeakRadius m w ^ 3 + stableCorrectionASecond m * u ^ 2 +
stableCorrectionCSecond m * u * w) * v 0 * r 0 +
(2 * stableCorrectionADeriv m * u + stableCorrectionCDeriv m * w) * (v 0 * r 1 + v 1 * r 0) +
(-(m + 1) * w / stableWeakRadius m w ^ 3 + stableCorrectionCDeriv m * u) * (v 0 * r 2 + v 2 * r 0) +
2 * stableCorrectionA m * v 1 * r 1 +
stableCorrectionC m * (v 1 * r 2 + v 2 * r 1) +
(m + 1) ^ 2 / stableWeakRadius m w ^ 3 * v 2 * r 2
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
open scoped Topology
def stableWeakRemainder (m w : ℝ) : ℝ :=
stableWeakRadius m w - (m + 1) - w ^ 2 / (2 * (m + 1))
def stableWeakRemainderM (m w : ℝ) : ℝ :=
(m + 1) / stableWeakRadius m w - 1 + w ^ 2 / (2 * (m + 1) ^ 2)
def stableWeakRemainderW (m w : ℝ) : ℝ :=
w / stableWeakRadius m w - w / (m + 1)
def stableWeakRemainderMM (m w : ℝ) : ℝ :=
w ^ 2 / stableWeakRadius m w ^ 3 - w ^ 2 / (m + 1) ^ 3
def stableWeakRemainderMW (m w : ℝ) : ℝ :=
-(m + 1) * w / stableWeakRadius m w ^ 3 + w / (m + 1) ^ 2
def stableWeakRemainderWW (m w : ℝ) : ℝ :=
(m + 1) ^ 2 / stableWeakRadius m w ^ 3 - 1 / (m + 1)
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
def stableResidualCoefficient (i : Fin 4) (y : Fin 2 → ℝ) : ℝ :=
![stableResidual4 (y 0), stableResidual3 (y 0),
stableResidual2 (y 0) (y 1), stableResidual1 (y 0) (y 1)] i
def stableResidualProfile (i : Fin 4) (p : Fin 2 → ℝ) : ℝ :=
let x := p 0
let R := phaseNorm 1 (x * p 1)
![-2 * (1 - x) * x ^ 2 / (1 - 2 * x) ^ 2,
2 * (3 - 4 * x) * x ^ 2 / (1 - 2 * x) ^ 2,
-x * ((1 - x) ^ 2 + x ^ 2) / (1 - 2 * x) ^ 2 - (1 - x) / (1 - 2 * x) +
(R + x) / (R * (R + 1)),
2 * x + 1 - 1 / (R + 1)] i
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
def stableWeakSecondKernel (m w : ℝ) : ℝ :=
(stableWeakRadius m w ^ 2 + stableWeakRadius m w * (m + 1) + (m + 1) ^ 2) /
(stableWeakRadius m w ^ 3 * (stableWeakRadius m w + (m + 1)))
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
def stableCubicMonomial (i : Fin 4) (y : StableState) : ℝ :=
![y 1 ^ 3, y 1 ^ 2 * y 2, y 1 * y 2 ^ 2, y 2 ^ 3] i
def stableCubicDifferential (i : Fin 4) (y v : StableState) : ℝ :=
![3 * y 1 ^ 2 * v 1, 2 * y 1 * y 2 * v 1 + y 1 ^ 2 * v 2,
y 2 ^ 2 * v 1 + 2 * y 1 * y 2 * v 2, 3 * y 2 ^ 2 * v 2] i
def stableCubicHessian (i : Fin 4) (y v w : StableState) : ℝ :=
![6 * y 1 * v 1 * w 1,
2 * y 2 * v 1 * w 1 + 2 * y 1 * v 1 * w 2 + 2 * y 1 * v 2 * w 1,
2 * y 2 * v 1 * w 2 + 2 * y 2 * v 2 * w 1 + 2 * y 1 * v 2 * w 2,
6 * y 2 * v 2 * w 2] i
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
def stableResidualClock (K : ℝ) (y : StableState) : ℝ := 6 * K / stableBoundaryDenom y
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
def stableCenterWeakProjection : StableState →L[ℝ] (Fin 2 → ℝ) :=
ContinuousLinearMap.pi ![ContinuousLinearMap.proj 0, ContinuousLinearMap.proj 2]
def stableScaledResidualCoefficient (K : ℝ) (i : Fin 4) (y : StableState) : ℝ :=
stableResidualClock K y * stableResidualCoefficient i (stableCenterWeakProjection y)
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
def stableScaledResidual (K : ℝ) (y : StableState) : ℝ :=
stableResidualClock K y * stableCorrectedResidual (y 0) (y 1) (y 2)
def stableScaledResidualCubic (K : ℝ) (y : StableState) : ℝ :=
∑ i : Fin 4, stableScaledResidualCoefficient K i y * stableCubicMonomial i y
def stableCubicFirstBudget (y v : StableState) : ℝ :=
(|y 1| + |y 2|) ^ 3 * ‖v‖ + 3 * (|y 1| + |y 2|) ^ 2 * ‖![v 1, v 2]‖
def stableCubicSecondBudget (y v w : StableState) : ℝ :=
(|y 1| + |y 2|) ^ 3 * ‖v‖ * ‖w‖ +
3 * (|y 1| + |y 2|) ^ 2 * (‖v‖ * ‖![w 1, w 2]‖ + ‖![v 1, v 2]‖ * ‖w‖) +
6 * (|y 1| + |y 2|) * ‖![v 1, v 2]‖ * ‖![w 1, w 2]‖
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
def stableStrongHessianBudget (y v w : StableState) : ℝ :=
|y 1| * ‖v‖ * ‖w‖ + (|v 0| * |w 1| + |v 1| * |w 0|) +
(|y 1| + |y 2|) * (|v 1| * ‖w‖ + ‖v‖ * |w 1|)
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
def stableFirstInputWeight (b : ℝ) (v : StableState) : ℝ :=
b * ‖v‖ + ‖![v 1, v 2]‖
def stableSecondInputWeight (b : ℝ) (v w : StableState) : ℝ :=
b * ‖v‖ * ‖w‖ + ‖![v 1, v 2]‖ * ‖w‖ + ‖v‖ * ‖![w 1, w 2]‖
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
def stableRescaledResidualRate (K s : ℝ) (y : StableState) : ℝ :=
stableScaledResidual K (stableRescaledFlow K y s)
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
open Set MeasureTheory
local instance _root_.BianchiIX.instNormedAddCommGroupContinuousLinearMapRealIdStableState : NormedAddCommGroup (StableState →L[ℝ] ℝ) := ContinuousLinearMap.toNormedAddCommGroup
local instance _root_.BianchiIX.instNormedSpaceRealContinuousLinearMapIdStableState : NormedSpace ℝ (StableState →L[ℝ] ℝ) := inferInstance
def stableResidualTailIntegral (K T : ℝ) (y : StableState) : ℝ :=
∫ s in Ioi T, stableRescaledResidualRate K s y
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
open Set Filter MeasureTheory
open scoped Topology
def stableCorrectedRemainder (y : StableState) : ℝ :=
stableBoundaryProjection (y 0) (y 1) (y 2) - stableCorrectedPhase (y 0) (y 1) (y 2)
def stableCorrectedPhaseTail (K T : ℝ) (y : StableState) : ℝ :=
stableBoundaryProjection (y 0) (y 1) (y 2) -
stableCorrectedPhase (stableRescaledFlow K y T 0) (stableRescaledFlow K y T 1) (stableRescaledFlow K y T 2)
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
open Filter
open scoped Topology
local instance _root_.BianchiIX.instNormedAddCommGroupContinuousLinearMapRealIdStableState_1 : NormedAddCommGroup (StableState →L[ℝ] ℝ) := ContinuousLinearMap.toNormedAddCommGroup
local instance _root_.BianchiIX.instNormedSpaceRealContinuousLinearMapIdStableState_1 : NormedSpace ℝ (StableState →L[ℝ] ℝ) := inferInstance
end BianchiIX
end
end
section
noncomputable section
namespace BianchiIX
open Filter
open scoped Topology
local instance stableQuadraticExpansionOperatorGroup : NormedAddCommGroup (StableState →L[ℝ] ℝ) :=
ContinuousLinearMap.toNormedAddCommGroup
local instance stableQuadraticExpansionOperatorSpace : NormedSpace ℝ (StableState →L[ℝ] ℝ) := inferInstance
def stableQuadraticPhase (m u w : ℝ) : ℝ :=
m + stableCorrectionA m * u ^ 2 + stableCorrectionC m * u * w + w ^ 2 / (2 * (m + 1))
def stableQuadraticRemainder (y : StableState) : ℝ :=
stableBoundaryProjection (y 0) (y 1) (y 2) - stableQuadraticPhase (y 0) (y 1) (y 2)
end BianchiIX
end
end