Skip to content

Commit bcfba1d

Browse files
committed
refactor(MultilinearMap): rename fields (#18592)
Use `map_update_*` instead of `map_*`, so that we can move these lemmas to the root namespace once we introduce `MultilinearMapClass`.
1 parent 06cb2ca commit bcfba1d

File tree

19 files changed

+259
-209
lines changed

19 files changed

+259
-209
lines changed

Mathlib/Analysis/Analytic/Basic.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1037,8 +1037,8 @@ theorem HasFPowerSeriesWithinOnBall.isBigO_image_sub_image_sub_deriv_principal
10371037
((hf.hasSum_sub ⟨ys.1, hy.1⟩).sub (hf.hasSum_sub ⟨ys.2, hy.2⟩)) using 1
10381038
rw [Finset.sum_range_succ, Finset.sum_range_one, hf.coeff_zero, hf.coeff_zero, sub_self,
10391039
zero_add, ← Subsingleton.pi_single_eq (0 : Fin 1) (y.1 - x), Pi.single,
1040-
← Subsingleton.pi_single_eq (0 : Fin 1) (y.2 - x), Pi.single, ← (p 1).map_sub, ← Pi.single,
1041-
Subsingleton.pi_single_eq, sub_sub_sub_cancel_right]
1040+
← Subsingleton.pi_single_eq (0 : Fin 1) (y.2 - x), Pi.single, ← (p 1).map_update_sub,
1041+
← Pi.single, Subsingleton.pi_single_eq, sub_sub_sub_cancel_right]
10421042
rw [EMetric.mem_ball, edist_eq_coe_nnnorm_sub, ENNReal.coe_lt_coe] at hy'
10431043
set B : ℕ → ℝ := fun n => C * (a / r') ^ 2 * (‖y - (x, x)‖ * ‖y.1 - y.2‖) * ((n + 2) * a ^ n)
10441044
have hAB : ∀ n, ‖A (n + 2)‖ ≤ B n := fun n =>

Mathlib/Analysis/Analytic/Composition.lean

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -175,22 +175,21 @@ map `f` in `c.length` variables, one may form a continuous multilinear map in `n
175175
applying the right coefficient of `p` to each block of the composition, and then applying `f` to
176176
the resulting vector. It is called `f.compAlongComposition p c`. -/
177177
def compAlongComposition {n : ℕ} (p : FormalMultilinearSeries 𝕜 E F) (c : Composition n)
178-
(f : ContinuousMultilinearMap 𝕜 (fun _i : Fin c.length => F) G) :
179-
ContinuousMultilinearMap 𝕜 (fun _i : Fin n => E) G where
178+
(f : F [×c.length]→L[𝕜] G) : E [×n]→L[𝕜] G where
180179
toFun v := f (p.applyComposition c v)
181-
map_add' v i x y := by
180+
map_update_add' v i x y := by
182181
cases Subsingleton.elim ‹_› (instDecidableEqFin _)
183-
simp only [applyComposition_update, ContinuousMultilinearMap.map_add]
184-
map_smul' v i c x := by
182+
simp only [applyComposition_update, ContinuousMultilinearMap.map_update_add]
183+
map_update_smul' v i c x := by
185184
cases Subsingleton.elim ‹_› (instDecidableEqFin _)
186-
simp only [applyComposition_update, ContinuousMultilinearMap.map_smul]
185+
simp only [applyComposition_update, ContinuousMultilinearMap.map_update_smul]
187186
cont :=
188187
f.cont.comp <|
189188
continuous_pi fun _ => (coe_continuous _).comp <| continuous_pi fun _ => continuous_apply _
190189

191190
@[simp]
192191
theorem compAlongComposition_apply {n : ℕ} (p : FormalMultilinearSeries 𝕜 E F) (c : Composition n)
193-
(f : ContinuousMultilinearMap 𝕜 (fun _i : Fin c.length => F) G) (v : Fin n → E) :
192+
(f : F [×c.length]→L[𝕜] G) (v : Fin n → E) :
194193
(f.compAlongComposition p c) v = f (p.applyComposition c v) :=
195194
rfl
196195

@@ -207,8 +206,7 @@ form a continuous multilinear map in `n` variables by applying the right coeffic
207206
block of the composition, and then applying `q c.length` to the resulting vector. It is
208207
called `q.compAlongComposition p c`. -/
209208
def compAlongComposition {n : ℕ} (q : FormalMultilinearSeries 𝕜 F G)
210-
(p : FormalMultilinearSeries 𝕜 E F) (c : Composition n) :
211-
ContinuousMultilinearMap 𝕜 (fun _i : Fin n => E) G :=
209+
(p : FormalMultilinearSeries 𝕜 E F) (c : Composition n) : (E [×n]→L[𝕜] G) :=
212210
(q c.length).compAlongComposition p c
213211

214212
@[simp]
@@ -290,7 +288,7 @@ namespace FormalMultilinearSeries
290288
/-- The norm of `f.compAlongComposition p c` is controlled by the product of
291289
the norms of the relevant bits of `f` and `p`. -/
292290
theorem compAlongComposition_bound {n : ℕ} (p : FormalMultilinearSeries 𝕜 E F) (c : Composition n)
293-
(f : ContinuousMultilinearMap 𝕜 (fun _i : Fin c.length => F) G) (v : Fin n → E) :
291+
(f : F [×c.length]→L[𝕜] G) (v : Fin n → E) :
294292
‖f.compAlongComposition p c v‖ ≤ (‖f‖ * ∏ i, ‖p (c.blocksFun i)‖) * ∏ i : Fin n, ‖v i‖ :=
295293
calc
296294
‖f.compAlongComposition p c v‖ = ‖f (p.applyComposition c v)‖ := rfl

Mathlib/Analysis/NormedSpace/Multilinear/Basic.lean

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ theorem norm_image_sub_le_of_bound' [DecidableEq ι] {C : ℝ} (hC : 0 ≤ C)
218218
s.piecewise_insert _ _ _
219219
have B : s.piecewise m₂ m₁ = Function.update (s.piecewise m₂ m₁) i (m₁ i) := by
220220
simp [eq_update_iff, his]
221-
rw [B, A, ← f.map_sub]
221+
rw [B, A, ← f.map_update_sub]
222222
apply le_trans (H _)
223223
gcongr with j
224224
by_cases h : j = i
@@ -960,13 +960,13 @@ def flipMultilinear (f : G →L[𝕜] ContinuousMultilinearMap 𝕜 E G') :
960960
(‖f‖ * ∏ i, ‖m i‖) fun x => by
961961
rw [mul_right_comm]
962962
exact (f x).le_of_opNorm_le _ (f.le_opNorm x)
963-
map_add' := fun m i x y => by
963+
map_update_add' := fun m i x y => by
964964
ext1
965-
simp only [add_apply, ContinuousMultilinearMap.map_add, LinearMap.coe_mk,
965+
simp only [add_apply, ContinuousMultilinearMap.map_update_add, LinearMap.coe_mk,
966966
LinearMap.mkContinuous_apply, AddHom.coe_mk]
967-
map_smul' := fun m i c x => by
967+
map_update_smul' := fun m i c x => by
968968
ext1
969-
simp only [coe_smul', ContinuousMultilinearMap.map_smul, LinearMap.coe_mk,
969+
simp only [coe_smul', ContinuousMultilinearMap.map_update_smul, LinearMap.coe_mk,
970970
LinearMap.mkContinuous_apply, Pi.smul_apply, AddHom.coe_mk] }
971971
‖f‖ fun m => by
972972
dsimp only [MultilinearMap.coe_mk]
@@ -1029,10 +1029,10 @@ def mkContinuousMultilinear (f : MultilinearMap 𝕜 E (MultilinearMap 𝕜 E' G
10291029
ContinuousMultilinearMap 𝕜 E (ContinuousMultilinearMap 𝕜 E' G) :=
10301030
mkContinuous
10311031
{ toFun := fun m => mkContinuous (f m) (C * ∏ i, ‖m i‖) <| H m
1032-
map_add' := fun m i x y => by
1032+
map_update_add' := fun m i x y => by
10331033
ext1
10341034
simp
1035-
map_smul' := fun m i c x => by
1035+
map_update_smul' := fun m i c x => by
10361036
ext1
10371037
simp }
10381038
(max C 0) fun m => by
@@ -1133,17 +1133,17 @@ def compContinuousLinearMapLRight (g : ContinuousMultilinearMap 𝕜 E₁ G) :
11331133
ContinuousMultilinearMap 𝕜 (fun i ↦ E i →L[𝕜] E₁ i) (ContinuousMultilinearMap 𝕜 E G) :=
11341134
MultilinearMap.mkContinuous
11351135
{ toFun := fun f => g.compContinuousLinearMap f
1136-
map_add' := by
1136+
map_update_add' := by
11371137
intro h f i f₁ f₂
11381138
ext x
11391139
simp only [compContinuousLinearMap_apply, add_apply]
1140-
convert g.map_add (fun j ↦ f j (x j)) i (f₁ (x i)) (f₂ (x i)) <;>
1140+
convert g.map_update_add (fun j ↦ f j (x j)) i (f₁ (x i)) (f₂ (x i)) <;>
11411141
exact apply_update (fun (i : ι) (f : E i →L[𝕜] E₁ i) ↦ f (x i)) f i _ _
1142-
map_smul' := by
1142+
map_update_smul' := by
11431143
intro h f i a f₀
11441144
ext x
11451145
simp only [compContinuousLinearMap_apply, smul_apply]
1146-
convert g.map_smul (fun j ↦ f j (x j)) i a (f₀ (x i)) <;>
1146+
convert g.map_update_smul (fun j ↦ f j (x j)) i a (f₀ (x i)) <;>
11471147
exact apply_update (fun (i : ι) (f : E i →L[𝕜] E₁ i) ↦ f (x i)) f i _ _ }
11481148
(‖g‖) (fun f ↦ by simp [norm_compContinuousLinearMap_le])
11491149

@@ -1168,16 +1168,16 @@ noncomputable def compContinuousLinearMapMultilinear :
11681168
MultilinearMap 𝕜 (fun i ↦ E i →L[𝕜] E₁ i)
11691169
((ContinuousMultilinearMap 𝕜 E₁ G) →L[𝕜] ContinuousMultilinearMap 𝕜 E G) where
11701170
toFun := compContinuousLinearMapL
1171-
map_add' f i f₁ f₂ := by
1171+
map_update_add' f i f₁ f₂ := by
11721172
ext g x
11731173
change (g fun j ↦ update f i (f₁ + f₂) j <| x j) =
11741174
(g fun j ↦ update f i f₁ j <| x j) + g fun j ↦ update f i f₂ j (x j)
1175-
convert g.map_add (fun j ↦ f j (x j)) i (f₁ (x i)) (f₂ (x i)) <;>
1175+
convert g.map_update_add (fun j ↦ f j (x j)) i (f₁ (x i)) (f₂ (x i)) <;>
11761176
exact apply_update (fun (i : ι) (f : E i →L[𝕜] E₁ i) ↦ f (x i)) f i _ _
1177-
map_smul' f i a f₀ := by
1177+
map_update_smul' f i a f₀ := by
11781178
ext g x
11791179
change (g fun j ↦ update f i (a • f₀) j <| x j) = a • g fun j ↦ update f i f₀ j (x j)
1180-
convert g.map_smul (fun j ↦ f j (x j)) i a (f₀ (x i)) <;>
1180+
convert g.map_update_smul (fun j ↦ f j (x j)) i a (f₀ (x i)) <;>
11811181
exact apply_update (fun (i : ι) (f : E i →L[𝕜] E₁ i) ↦ f (x i)) f i _ _
11821182

11831183
/-- If `f` is a collection of continuous linear maps, then the construction

Mathlib/Analysis/NormedSpace/Multilinear/Curry.lean

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -217,8 +217,8 @@ def ContinuousMultilinearMap.uncurryRight
217217
ContinuousMultilinearMap 𝕜 Ei G :=
218218
let f' : MultilinearMap 𝕜 (fun i : Fin n => Ei <| castSucc i) (Ei (last n) →ₗ[𝕜] G) :=
219219
{ toFun := fun m => (f m).toLinearMap
220-
map_add' := fun m i x y => by simp
221-
map_smul' := fun m i c x => by simp }
220+
map_update_add' := fun m i x y => by simp
221+
map_update_smul' := fun m i c x => by simp }
222222
(@MultilinearMap.uncurryRight 𝕜 n Ei G _ _ _ _ _ f').mkContinuous ‖f‖ fun m =>
223223
f.norm_map_init_le m
224224

@@ -237,10 +237,10 @@ def ContinuousMultilinearMap.curryRight (f : ContinuousMultilinearMap 𝕜 Ei G)
237237
{ toFun := fun m =>
238238
(f.toMultilinearMap.curryRight m).mkContinuous (‖f‖ * ∏ i, ‖m i‖) fun x =>
239239
f.norm_map_snoc_le m x
240-
map_add' := fun m i x y => by
240+
map_update_add' := fun m i x y => by
241241
ext
242242
simp
243-
map_smul' := fun m i c x => by
243+
map_update_smul' := fun m i c x => by
244244
ext
245245
simp }
246246
f'.mkContinuous ‖f‖ fun m => by
@@ -616,7 +616,7 @@ noncomputable def continuousMultilinearMapOption (B : G →L[𝕜] ContinuousMul
616616
ContinuousMultilinearMap 𝕜 (fun (_ : Option ι) ↦ (G × (Π i, E i))) F :=
617617
MultilinearMap.mkContinuous
618618
{ toFun := fun p ↦ B (p none).1 (fun i ↦ (p i).2 i)
619-
map_add' := by
619+
map_update_add' := by
620620
intro inst v j x y
621621
match j with
622622
| none => simp
@@ -629,7 +629,7 @@ noncomputable def continuousMultilinearMapOption (B : G →L[𝕜] ContinuousMul
629629
· simp
630630
· simp [hij]
631631
simp [B]
632-
map_smul' := by
632+
map_update_smul' := by
633633
intro inst v j c x
634634
match j with
635635
| none => simp

Mathlib/Analysis/NormedSpace/PiTensorProduct/InjectiveSeminorm.lean

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -418,15 +418,16 @@ open Function in
418418
protected theorem mapL_add [DecidableEq ι] (i : ι) (u v : E i →L[𝕜] E' i) :
419419
mapL (update f i (u + v)) = mapL (update f i u) + mapL (update f i v) := by
420420
ext x
421-
simp only [mapL_apply, mapL_add_smul_aux, ContinuousLinearMap.coe_add, PiTensorProduct.map_add,
422-
LinearMap.add_apply, ContinuousLinearMap.add_apply]
421+
simp only [mapL_apply, mapL_add_smul_aux, ContinuousLinearMap.coe_add,
422+
PiTensorProduct.map_update_add, LinearMap.add_apply, ContinuousLinearMap.add_apply]
423423

424424
open Function in
425425
protected theorem mapL_smul [DecidableEq ι] (i : ι) (c : 𝕜) (u : E i →L[𝕜] E' i) :
426426
mapL (update f i (c • u)) = c • mapL (update f i u) := by
427427
ext x
428-
simp only [mapL_apply, mapL_add_smul_aux, ContinuousLinearMap.coe_smul, PiTensorProduct.map_smul,
429-
LinearMap.smul_apply, ContinuousLinearMap.coe_smul', Pi.smul_apply]
428+
simp only [mapL_apply, mapL_add_smul_aux, ContinuousLinearMap.coe_smul,
429+
PiTensorProduct.map_update_smul, LinearMap.smul_apply, ContinuousLinearMap.coe_smul',
430+
Pi.smul_apply]
430431

431432
theorem mapL_opNorm : ‖mapL f‖ ≤ ∏ i, ‖f i‖ := by
432433
rw [ContinuousLinearMap.opNorm_le_iff (Finset.prod_nonneg (fun _ _ ↦ norm_nonneg _))]
@@ -452,8 +453,8 @@ noncomputable def mapLMultilinear : ContinuousMultilinearMap 𝕜 (fun (i : ι)
452453
((⨂[𝕜] i, E i) →L[𝕜] ⨂[𝕜] i, E' i) :=
453454
MultilinearMap.mkContinuous
454455
{ toFun := mapL
455-
map_smul' := fun _ _ _ _ ↦ PiTensorProduct.mapL_smul _ _ _ _
456-
map_add' := fun _ _ _ _ ↦ PiTensorProduct.mapL_add _ _ _ _ }
456+
map_update_smul' := fun _ _ _ _ ↦ PiTensorProduct.mapL_smul _ _ _ _
457+
map_update_add' := fun _ _ _ _ ↦ PiTensorProduct.mapL_add _ _ _ _ }
457458
1 (fun f ↦ by rw [one_mul]; exact mapL_opNorm f)
458459

459460
variable {𝕜 E E'}

Mathlib/LinearAlgebra/Alternating/Basic.lean

Lines changed: 20 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -153,23 +153,32 @@ These are expressed in terms of `⇑f` instead of `f.toFun`.
153153

154154

155155
@[simp]
156-
theorem map_add [DecidableEq ι] (i : ι) (x y : M) :
156+
theorem map_update_add [DecidableEq ι] (i : ι) (x y : M) :
157157
f (update v i (x + y)) = f (update v i x) + f (update v i y) :=
158-
f.toMultilinearMap.map_add' v i x y
158+
f.map_update_add' v i x y
159+
160+
@[deprecated (since := "2024-11-03")] protected alias map_add := map_update_add
159161

160162
@[simp]
161-
theorem map_sub [DecidableEq ι] (i : ι) (x y : M') :
163+
theorem map_update_sub [DecidableEq ι] (i : ι) (x y : M') :
162164
g' (update v' i (x - y)) = g' (update v' i x) - g' (update v' i y) :=
163-
g'.toMultilinearMap.map_sub v' i x y
165+
g'.toMultilinearMap.map_update_sub v' i x y
166+
167+
@[deprecated (since := "2024-11-03")] protected alias map_sub := map_update_sub
164168

165169
@[simp]
166-
theorem map_neg [DecidableEq ι] (i : ι) (x : M') : g' (update v' i (-x)) = -g' (update v' i x) :=
167-
g'.toMultilinearMap.map_neg v' i x
170+
theorem map_update_neg [DecidableEq ι] (i : ι) (x : M') :
171+
g' (update v' i (-x)) = -g' (update v' i x) :=
172+
g'.toMultilinearMap.map_update_neg v' i x
173+
174+
@[deprecated (since := "2024-11-03")] protected alias map_neg := map_update_neg
168175

169176
@[simp]
170-
theorem map_smul [DecidableEq ι] (i : ι) (r : R) (x : M) :
177+
theorem map_update_smul [DecidableEq ι] (i : ι) (r : R) (x : M) :
171178
f (update v i (r • x)) = r • f (update v i x) :=
172-
f.toMultilinearMap.map_smul' v i r x
179+
f.map_update_smul' v i r x
180+
181+
@[deprecated (since := "2024-11-03")] protected alias map_smul := map_update_smul
173182

174183
@[simp]
175184
theorem map_eq_zero_of_eq (v : ι → M) {i j : ι} (h : v i = v j) (hij : i ≠ j) : f v = 0 :=
@@ -747,16 +756,16 @@ theorem map_linearDependent {K : Type*} [Ring K] {M : Type*} [AddCommGroup M] [M
747756
obtain ⟨s, g, h, i, hi, hz⟩ := not_linearIndependent_iff.mp h
748757
letI := Classical.decEq ι
749758
suffices f (update v i (g i • v i)) = 0 by
750-
rw [f.map_smul, Function.update_eq_self, smul_eq_zero] at this
759+
rw [f.map_update_smul, Function.update_eq_self, smul_eq_zero] at this
751760
exact Or.resolve_left this hz
752761
-- Porting note: Was `conv at h in .. => ..`.
753762
rw [← (funext fun x => ite_self (c := i = x) (d := Classical.decEq ι i x) (g x • v x))] at h
754763
rw [Finset.sum_ite, Finset.filter_eq, Finset.filter_ne, if_pos hi, Finset.sum_singleton,
755764
add_eq_zero_iff_eq_neg] at h
756-
rw [h, f.map_neg, f.map_update_sum, neg_eq_zero]; apply Finset.sum_eq_zero
765+
rw [h, f.map_update_neg, f.map_update_sum, neg_eq_zero]; apply Finset.sum_eq_zero
757766
intro j hj
758767
obtain ⟨hij, _⟩ := Finset.mem_erase.mp hj
759-
rw [f.map_smul, f.map_update_self _ hij.symm, smul_zero]
768+
rw [f.map_update_smul, f.map_update_self _ hij.symm, smul_zero]
760769

761770
section Fin
762771

Mathlib/LinearAlgebra/Determinant.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -450,13 +450,13 @@ theorem LinearMap.associated_det_comp_equiv {N : Type*} [AddCommGroup N] [Module
450450
multilinear map. -/
451451
nonrec def Basis.det : M [⋀^ι]→ₗ[R] R where
452452
toFun v := det (e.toMatrix v)
453-
map_add' := by
453+
map_update_add' := by
454454
intro inst v i x y
455455
cases Subsingleton.elim inst ‹_›
456456
simp only [e.toMatrix_update, LinearEquiv.map_add, Finsupp.coe_add]
457457
-- Porting note: was `exact det_update_column_add _ _ _ _`
458458
convert det_updateColumn_add (e.toMatrix v) i (e.repr x) (e.repr y)
459-
map_smul' := by
459+
map_update_smul' := by
460460
intro inst u i c x
461461
cases Subsingleton.elim inst ‹_›
462462
simp only [e.toMatrix_update, Algebra.id.smul_eq_mul, LinearEquiv.map_smul]

Mathlib/LinearAlgebra/Matrix/Adjugate.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ theorem cramer_one : cramer (1 : Matrix n n α) = 1 := by
122122

123123
theorem cramer_smul (r : α) (A : Matrix n n α) :
124124
cramer (r • A) = r ^ (Fintype.card n - 1) • cramer A :=
125-
LinearMap.ext fun _ => funext fun _ => det_updateColumn_smul' _ _ _ _
125+
LinearMap.ext fun _ => funext fun _ => det_updateColumn_smul_left _ _ _ _
126126

127127
@[simp]
128128
theorem cramer_subsingleton_apply [Subsingleton n] (A : Matrix n n α) (b : n → α) (i : n) :

Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ end DetZero
339339

340340
theorem det_updateRow_add (M : Matrix n n R) (j : n) (u v : n → R) :
341341
det (updateRow M j <| u + v) = det (updateRow M j u) + det (updateRow M j v) :=
342-
(detRowAlternating : (n → R) [⋀^n]→ₗ[R] R).map_add M j u v
342+
(detRowAlternating : (n → R) [⋀^n]→ₗ[R] R).map_update_add M j u v
343343

344344
theorem det_updateColumn_add (M : Matrix n n R) (j : n) (u v : n → R) :
345345
det (updateColumn M j <| u + v) = det (updateColumn M j u) + det (updateColumn M j v) := by
@@ -348,22 +348,26 @@ theorem det_updateColumn_add (M : Matrix n n R) (j : n) (u v : n → R) :
348348

349349
theorem det_updateRow_smul (M : Matrix n n R) (j : n) (s : R) (u : n → R) :
350350
det (updateRow M j <| s • u) = s * det (updateRow M j u) :=
351-
(detRowAlternating : (n → R) [⋀^n]→ₗ[R] R).map_smul M j s u
351+
(detRowAlternating : (n → R) [⋀^n]→ₗ[R] R).map_update_smul M j s u
352352

353353
theorem det_updateColumn_smul (M : Matrix n n R) (j : n) (s : R) (u : n → R) :
354354
det (updateColumn M j <| s • u) = s * det (updateColumn M j u) := by
355355
rw [← det_transpose, ← updateRow_transpose, det_updateRow_smul]
356356
simp [updateRow_transpose, det_transpose]
357357

358-
theorem det_updateRow_smul' (M : Matrix n n R) (j : n) (s : R) (u : n → R) :
358+
theorem det_updateRow_smul_left (M : Matrix n n R) (j : n) (s : R) (u : n → R) :
359359
det (updateRow (s • M) j u) = s ^ (Fintype.card n - 1) * det (updateRow M j u) :=
360-
MultilinearMap.map_update_smul _ M j s u
360+
MultilinearMap.map_update_smul_left _ M j s u
361361

362-
theorem det_updateColumn_smul' (M : Matrix n n R) (j : n) (s : R) (u : n → R) :
362+
@[deprecated (since := "2024-11-03")] alias det_updateRow_smul' := det_updateRow_smul_left
363+
364+
theorem det_updateColumn_smul_left (M : Matrix n n R) (j : n) (s : R) (u : n → R) :
363365
det (updateColumn (s • M) j u) = s ^ (Fintype.card n - 1) * det (updateColumn M j u) := by
364-
rw [← det_transpose, ← updateRow_transpose, transpose_smul, det_updateRow_smul']
366+
rw [← det_transpose, ← updateRow_transpose, transpose_smul, det_updateRow_smul_left]
365367
simp [updateRow_transpose, det_transpose]
366368

369+
@[deprecated (since := "2024-11-03")] alias det_updateColumn_smul' := det_updateColumn_smul_left
370+
367371
theorem det_updateRow_sum_aux (M : Matrix n n R) {j : n} (s : Finset n) (hj : j ∉ s) (c : n → R)
368372
(a : R) :
369373
(M.updateRow j (a • M j + ∑ k ∈ s, (c k) • M k)).det = a • M.det := by

0 commit comments

Comments
 (0)