Skip to content

Conversation

@themathqueen
Copy link
Collaborator

@themathqueen themathqueen commented Dec 31, 2025

... "almost" meaning that they are colinear. I.e., f.conj{Continuous, Star}AlgEquiv S = g.conj{Continuous, Star}AlgEquiv S iff f = α • g for some (unitary) α.

Also, the same for Unitary.conjStarAlgAut. All in one PR since they all have analogous proofs.


Open in Gitpod

@themathqueen themathqueen added the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Dec 31, 2025
@github-actions github-actions bot added the t-algebra Algebra (groups, rings, fields, etc) label Dec 31, 2025
@github-actions
Copy link

github-actions bot commented Dec 31, 2025

PR summary ce5b0921e0

Import changes for modified files

Dependency changes

File Base Count Head Count Change
Mathlib.Analysis.InnerProductSpace.Adjoint 1983 1992 +9 (+0.45%)
Mathlib.Algebra.Star.UnitaryStarAlgAut 863 866 +3 (+0.35%)
Mathlib.Analysis.Normed.Operator.ContinuousAlgEquiv 2076 2077 +1 (+0.05%)
Import changes for all files
Files Import difference
Mathlib.Analysis.Normed.Operator.ContinuousAlgEquiv 1
3 files Mathlib.Analysis.InnerProductSpace.StarOrder Mathlib.Probability.Distributions.Gaussian.CharFun Mathlib.Probability.Moments.CovarianceBilin
2
Mathlib.Algebra.Star.UnitaryStarAlgAut 3
Mathlib.Analysis.Convex.Cone.InnerDual 4
4 files Mathlib.Analysis.Matrix.HermitianFunctionalCalculus Mathlib.Analysis.Matrix.Order Mathlib.Combinatorics.SimpleGraph.LapMatrix Mathlib.LinearAlgebra.Matrix.HermitianFunctionalCalculus
7
4 files Mathlib.Analysis.Matrix.LDL Mathlib.Analysis.Matrix.PosDef Mathlib.Analysis.Matrix.Spectrum Mathlib.LinearAlgebra.Matrix.LDL
8
15 files Mathlib.Analysis.CStarAlgebra.ContinuousLinearMap Mathlib.Analysis.CStarAlgebra.Matrix Mathlib.Analysis.Convex.Birkhoff Mathlib.Analysis.Convex.DoublyStochasticMatrix Mathlib.Analysis.InnerProductSpace.Adjoint Mathlib.Analysis.InnerProductSpace.JointEigenspace Mathlib.Analysis.InnerProductSpace.LinearPMap Mathlib.Analysis.InnerProductSpace.Positive Mathlib.Analysis.InnerProductSpace.Rayleigh Mathlib.Analysis.InnerProductSpace.Spectrum Mathlib.Analysis.InnerProductSpace.TensorProduct Mathlib.Analysis.InnerProductSpace.Trace Mathlib.Analysis.VonNeumannAlgebra.Basic Mathlib.LinearAlgebra.Matrix.Permutation Mathlib.LinearAlgebra.Matrix.Swap
9

Declarations diff

+ conjStarAlgAut_ext_iff
+ conjStarAlgAut_ext_iff'
+ conjStarAlgAut_symm_unitaryLinearIsometryEquiv
+ conjStarAlgEquiv_ext_iff
+ conjStarAlgEquiv_unitaryLinearIsometryEquiv
+ eq_toContinuousLinearMap_symm_comp
+ instance : SMul (unitary 𝕜) (V ≃ₗᵢ[𝕜] W) where smul α e
+ instance : SMul Sˣ (V ≃L[R] W) where smul α e
+ instance : SMul Sˣ (V ≃ₗ[R] W) where smul α e
+ symm_units_smul
+ toContinuousLinearEquiv_smul
+ toLinearMap_smul
++ symm_smul
++ toLinearEquiv_smul
+++ smul_apply
+++ smul_trans
+++ symm_smul_apply
+++ trans_smul

You can run this locally as follows
## summary with just the declaration names:
./scripts/declarations_diff.sh <optional_commit>

## more verbose report:
./scripts/declarations_diff.sh long <optional_commit>

The doc-module for script/declarations_diff.sh contains some details about this script.


No changes to technical debt.

You can run this locally as

./scripts/technical-debt-metrics.sh pr_summary
  • The relative value is the weighted sum of the differences with weight given by the inverse of the current value of the statistic.
  • The absolute value is the relative value divided by the total sum of the inverses of the current values (i.e. the weighted average of the differences).

@themathqueen themathqueen changed the title feat: conj{Continuous, Star}AlgEquiv is "almost" injective feat: {Continuous}Linear{Isometry}Equiv.conj{Continuous, Star}AlgEquiv are "almost" injective Dec 31, 2025
@mathlib4-dependent-issues-bot mathlib4-dependent-issues-bot removed the blocked-by-other-PR This PR depends on another PR (this label is automatically managed by a bot) label Jan 2, 2026
@mathlib4-dependent-issues-bot
Copy link
Collaborator

open LinearMap in
public theorem LinearEquiv.conjAlgEquiv_ext_iff {M₂ : Type*} [AddCommMonoid M₂] [Module R M₂]
[Module S M₂] [SMulCommClass R S M₂] [IsScalarTower S R M₂] [Algebra.IsCentral S R]
(f g : M ≃ₗ[R] M₂) : f.conjAlgEquiv S = g.conjAlgEquiv S ↔ ∃ α : S, ⇑f = α • g := by
Copy link
Collaborator Author

@themathqueen themathqueen Jan 3, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stating this in terms of LinearEquiv instead of bare functions would make this less general since it would require GroupWithZero for Units.mk0. Unless there's an alternate proof I'm not thinking of?

See below for the stronger one (but with the nicer statement). Which one should I remove?

Set.mem_range, Algebra.algebraMap_eq_smul_one, Units.eq_inv_mul_iff_mul_eq, mul_smul_comm,
mul_one, eq_comm]

theorem conjStarAlgAut_ext_iff' {R S : Type*} [Ring R] [StarMul R] [CommRing S] [StarMul S]
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here. This is stronger, but with a nicer statement. Which should I remove?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

t-algebra Algebra (groups, rings, fields, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants