The two core logarithmic rates and their state Jacobian
DefinitionBianchiIX_Dynamics_CoreLogRatesFor 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.
Define the core radius, angle, and clock factor by
For , write , , and . All quotients use the total convention .
The core state space is with coordinates . Define
For fixed put , , , and define
At use the abbreviations
Let . Define the matrix by its rows, in the order and columns :
Define the two rates and the matrix by
Here is the Kronecker symbol. The total formulas are defined also when a wall amplitude vanishes, and use .
import Definitions.Def_BianchiIX_Dynamics_CoreAngle
import Definitions.Def_BianchiIX_Dynamics_CoreAuxiliary
import Mathlib.Analysis.Calculus.Deriv.Pow
import Mathlib.Analysis.Calculus.Deriv.Mul
import Mathlib.Analysis.Calculus.Deriv.Add
import Mathlib.Analysis.Real.Sqrt
import Mathlib.Tactic.Linarith
import Mathlib.Tactic.Ring
import Mathlib.Analysis.SpecialFunctions.Arsinh
import Mathlib.Analysis.SpecialFunctions.Sqrt
import Mathlib.Tactic.FieldSimp
import Mathlib.Analysis.Calculus.ContDiff.Operations
import Mathlib.Analysis.Calculus.Deriv.Prod
import Mathlib.Analysis.Calculus.MeanValue
import Mathlib.Data.Fin.VecNotation
import Mathlib.Tactic.FinCases
import Mathlib.Tactic.FunProp
import Mathlib.Analysis.Calculus.Deriv.Inv
import Mathlib.Tactic.LinearCombination
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.Pow.Deriv
import Mathlib.Analysis.SpecialFunctions.Integrals.Basic
import Mathlib.Analysis.ODE.ExistUnique
import Mathlib.Data.Matrix.Mul
import Mathlib.Algebra.BigOperators.Fin
noncomputable section
namespace BianchiIX
/-- The logarithmic rates of `U` and `P = V W`, defined also on the zero-wall boundary. -/
def coreLogRates (z : ℝ) (y : CoreAngleState) : Fin 2 → ℝ :=
let q := coreAuxiliary z y
![q 2 / q 1, -2 * (1 + q 0) / (y 0 * q 1)]
def coreLogRateJacobian (z : ℝ) (y : CoreAngleState) : Matrix (Fin 2) (Fin 3) ℝ :=
let r := y 0
let q := coreAuxiliary z y
let h := coreAuxiliaryJacobian z y
![![h 2 0 / q 1 - q 2 * h 1 0 / q 1 ^ 2,
h 2 1 / q 1 - q 2 * h 1 1 / q 1 ^ 2,
h 2 2 / q 1 - q 2 * h 1 2 / q 1 ^ 2],
![2 * (1 + q 0) / (r ^ 2 * q 1) - 2 * h 0 0 / (r * q 1) +
2 * (1 + q 0) * h 1 0 / (r * q 1 ^ 2),
-2 * h 0 1 / (r * q 1) + 2 * (1 + q 0) * h 1 1 / (r * q 1 ^ 2),
-2 * h 0 2 / (r * q 1) + 2 * (1 + q 0) * h 1 2 / (r * q 1 ^ 2)]]
end BianchiIX