Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit dbc9cf9

Browse files
committed
feat(data/matrix/basic): transform vec_mul to mul_vec (#7348)
1 parent d5cb403 commit dbc9cf9

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

src/data/matrix/basic.lean

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -644,6 +644,22 @@ lemma smul_mul_vec_assoc (A : matrix m n α) (b : n → α) (a : α) :
644644
(a • A).mul_vec b = a • (A.mul_vec b) :=
645645
by { ext, apply smul_dot_product }
646646

647+
lemma mul_vec_add (A : matrix m n α) (x y : n → α) :
648+
A.mul_vec (x + y) = A.mul_vec x + A.mul_vec y :=
649+
by { ext, apply dot_product_add }
650+
651+
lemma add_mul_vec (A B : matrix m n α) (x : n → α) :
652+
(A + B).mul_vec x = A.mul_vec x + B.mul_vec x :=
653+
by { ext, apply add_dot_product }
654+
655+
lemma vec_mul_add (A B : matrix m n α) (x : m → α) :
656+
vec_mul x (A + B) = vec_mul x A + vec_mul x B :=
657+
by { ext, apply dot_product_add }
658+
659+
lemma add_vec_mul (A : matrix m n α) (x y : m → α) :
660+
vec_mul (x + y) A = vec_mul x A + vec_mul y A :=
661+
by { ext, apply add_dot_product }
662+
647663
variables [decidable_eq m] [decidable_eq n]
648664

649665
/--
@@ -742,6 +758,14 @@ lemma mul_vec_smul_assoc (A : matrix m n α) (b : n → α) (a : α) :
742758
A.mul_vec (a • b) = a • (A.mul_vec b) :=
743759
by { ext, apply dot_product_smul }
744760

761+
lemma mul_vec_transpose (A : matrix m n α) (x : m → α) :
762+
mul_vec Aᵀ x = vec_mul x A :=
763+
by { ext, apply dot_product_comm }
764+
765+
lemma vec_mul_transpose (A : matrix m n α) (x : n → α) :
766+
vec_mul x Aᵀ = mul_vec A x :=
767+
by { ext, apply dot_product_comm }
768+
745769
end comm_semiring
746770

747771
section transpose

0 commit comments

Comments
 (0)