Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - feat: Invertible matrices #8219

Closed
wants to merge 18 commits into from
Closed

Conversation

apnelson1
Copy link
Collaborator

We add some results on invertible matrices, showing that for a finite square matrix A, IsUnit A is equivalent to the surjectivity/injectivity of left/right multiplication, and to the linear independence of the set of rows/columns.

We also add a couple of lemmas about the existence of left/right inverses for nonsquare matrices, and a bit of API for mulVecLin and vecMulLinear.


Open in Gitpod

@apnelson1 apnelson1 added the awaiting-review The author would like community review of the PR label Nov 6, 2023
Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean Outdated Show resolved Hide resolved
Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean Outdated Show resolved Hide resolved
Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean Outdated Show resolved Hide resolved
Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean Outdated Show resolved Hide resolved
Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean Outdated Show resolved Hide resolved
Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean Outdated Show resolved Hide resolved
Mathlib/LinearAlgebra/Matrix/ToLin.lean Outdated Show resolved Hide resolved
simp_rw [vecMul_transpose]
exact LinearMap.surjective_of_injective (f := A.mulVecLin) h
change Function.Injective A.mulVecLin
rw [←LinearMap.ker_eq_bot, LinearMap.ker_eq_bot']
Copy link
Collaborator

Choose a reason for hiding this comment

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

Suggested change
rw [←LinearMap.ker_eq_bot, LinearMap.ker_eq_bot']
rw [← LinearMap.ker_eq_bot, LinearMap.ker_eq_bot']

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Is there a style guide reference for having the space after the arrow?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

And if it's part of the official style, why doesn't the linter enforce it?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean Outdated Show resolved Hide resolved
Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean Outdated Show resolved Hide resolved
Mathlib/LinearAlgebra/Matrix/ToLin.lean Outdated Show resolved Hide resolved
Mathlib/LinearAlgebra/Matrix/ToLin.lean Outdated Show resolved Hide resolved
eric-wieser and others added 2 commits December 8, 2023 12:01
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Copy link
Member

@eric-wieser eric-wieser left a comment

Choose a reason for hiding this comment

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

bors merge

Thanks, and sorry for letting this fall off my radar

@leanprover-community-mathlib4-bot leanprover-community-mathlib4-bot added ready-to-merge This PR has been sent to bors. and removed awaiting-review The author would like community review of the PR labels Dec 8, 2023
mathlib-bors bot pushed a commit that referenced this pull request Dec 8, 2023
We add some results on invertible matrices, showing that for a finite square matrix `A`, `IsUnit A` is equivalent to the surjectivity/injectivity of left/right multiplication, and to the linear independence of the set of rows/columns. 

We also add a couple of lemmas about the existence of left/right inverses for nonsquare matrices, and a bit of API for `mulVecLin` and `vecMulLinear`.



Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
@mathlib-bors
Copy link

mathlib-bors bot commented Dec 8, 2023

Pull request successfully merged into master.

Build succeeded:

@mathlib-bors mathlib-bors bot changed the title feat: Invertible matrices [Merged by Bors] - feat: Invertible matrices Dec 8, 2023
@mathlib-bors mathlib-bors bot closed this Dec 8, 2023
@mathlib-bors mathlib-bors bot deleted the invertible_matrix branch December 8, 2023 13:30
awueth pushed a commit that referenced this pull request Dec 19, 2023
We add some results on invertible matrices, showing that for a finite square matrix `A`, `IsUnit A` is equivalent to the surjectivity/injectivity of left/right multiplication, and to the linear independence of the set of rows/columns. 

We also add a couple of lemmas about the existence of left/right inverses for nonsquare matrices, and a bit of API for `mulVecLin` and `vecMulLinear`.



Co-authored-by: Eric Wieser <wieser.eric@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge This PR has been sent to bors.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants