Dot product of two vectors #
This file contains some results on the map dotProduct, which maps two
vectors v w : n → R to the sum of the entrywise products v i * w i.
Main results #
dotProduct_stdBasis_one: the dot product ofvwith theith standard basis vector isv idotProduct_eq_zero_iff: ifv's dot product with allwis zero, thenvis zero
Tags #
matrix
theorem dotProduct_nonneg_of_nonneg {n : Type u_2} {R : Type u_4} [Semiring R] [PartialOrder R] [IsOrderedRing R] [Fintype n] {v w : n → R} (hv : 0 ≤ v) (hw : 0 ≤ w) :
theorem dotProduct_le_dotProduct_of_nonneg_right {n : Type u_2} {R : Type u_4} [Semiring R] [PartialOrder R] [IsOrderedRing R] [Fintype n] {u v w : n → R} (huv : u ≤ v) (hw : 0 ≤ w) :
theorem dotProduct_le_dotProduct_of_nonneg_left {n : Type u_2} {R : Type u_4} [Semiring R] [PartialOrder R] [IsOrderedRing R] [Fintype n] {u v w : n → R} (huv : u ≤ v) (hw : 0 ≤ w) :
@[simp]
theorem dotProduct_self_eq_zero {n : Type u_2} {R : Type u_4} [Fintype n] [Ring R] [LinearOrder R] [IsStrictOrderedRing R] {v : n → R} :
@[simp]
theorem dotProduct_star_self_nonneg {n : Type u_2} {R : Type u_4} [Fintype n] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] (v : n → R) :
Note that this applies to ℂ via RCLike.toStarOrderedRing.
@[simp]
theorem dotProduct_self_star_nonneg {n : Type u_2} {R : Type u_4} [Fintype n] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] (v : n → R) :
Note that this applies to ℂ via RCLike.toStarOrderedRing.
@[simp]
theorem dotProduct_star_self_eq_zero {n : Type u_2} {R : Type u_4} [Fintype n] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] [IsProperStar R] {v : n → R} :
Note that this applies to ℂ via RCLike.toStarOrderedRing.
@[simp]
theorem dotProduct_self_star_eq_zero {n : Type u_2} {R : Type u_4} [Fintype n] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] [IsProperStar R] {v : n → R} :
Note that this applies to ℂ via RCLike.toStarOrderedRing.
@[simp]
theorem Matrix.conjTranspose_mul_self_eq_zero {m : Type u_1} {R : Type u_4} [Fintype m] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] [IsProperStar R] {n : Type u_5} {A : Matrix m n R} :
instance Matrix.instIsProperStar {m : Type u_1} {R : Type u_4} [Fintype m] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] [IsProperStar R] :
IsProperStar (Matrix m m R)
@[simp]
theorem Matrix.self_mul_conjTranspose_eq_zero {n : Type u_2} {R : Type u_4} [Fintype n] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] [IsProperStar R] {m : Type u_5} {A : Matrix m n R} :
theorem Matrix.conjTranspose_mul_self_mul_eq_zero {m : Type u_1} {n : Type u_2} {R : Type u_4} [Fintype m] [Fintype n] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] [IsProperStar R] {p : Type u_5} (A : Matrix m n R) (B : Matrix n p R) :
theorem Matrix.self_mul_conjTranspose_mul_eq_zero {m : Type u_1} {n : Type u_2} {R : Type u_4} [Fintype m] [Fintype n] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] [IsProperStar R] {p : Type u_5} (A : Matrix m n R) (B : Matrix m p R) :
theorem Matrix.mul_self_mul_conjTranspose_eq_zero {m : Type u_1} {n : Type u_2} {R : Type u_4} [Fintype m] [Fintype n] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] [IsProperStar R] {p : Type u_5} (A : Matrix m n R) (B : Matrix p m R) :
theorem Matrix.mul_conjTranspose_mul_self_eq_zero {m : Type u_1} {n : Type u_2} {R : Type u_4} [Fintype m] [Fintype n] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] [IsProperStar R] {p : Type u_5} (A : Matrix m n R) (B : Matrix p n R) :
theorem Matrix.conjTranspose_mul_self_mulVec_eq_zero {m : Type u_1} {n : Type u_2} {R : Type u_4} [Fintype m] [Fintype n] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] [IsProperStar R] (A : Matrix m n R) (v : n → R) :
theorem Matrix.self_mul_conjTranspose_mulVec_eq_zero {m : Type u_1} {n : Type u_2} {R : Type u_4} [Fintype m] [Fintype n] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] [IsProperStar R] (A : Matrix m n R) (v : m → R) :
theorem Matrix.vecMul_conjTranspose_mul_self_eq_zero {m : Type u_1} {n : Type u_2} {R : Type u_4} [Fintype m] [Fintype n] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] [IsProperStar R] (A : Matrix m n R) (v : n → R) :
theorem Matrix.vecMul_self_mul_conjTranspose_eq_zero {m : Type u_1} {n : Type u_2} {R : Type u_4} [Fintype m] [Fintype n] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] [IsProperStar R] (A : Matrix m n R) (v : m → R) :
@[simp]
theorem Matrix.dotProduct_star_self_pos_iff {n : Type u_2} {R : Type u_4} [Fintype n] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] [IsProperStar R] {v : n → R} :
Note that this applies to ℂ via RCLike.toStarOrderedRing.
@[simp]
theorem Matrix.dotProduct_self_star_pos_iff {n : Type u_2} {R : Type u_4} [Fintype n] [PartialOrder R] [NonUnitalRing R] [StarRing R] [StarOrderedRing R] [IsProperStar R] {v : n → R} :
Note that this applies to ℂ via RCLike.toStarOrderedRing.