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(linear_algebra/*): Use alternating maps for wedge and determinant #5124

Closed
wants to merge 8 commits into from

Conversation

eric-wieser
Copy link
Member

@eric-wieser eric-wieser commented Nov 26, 2020

This :

  • Adds exterior_algebra.ι_multi, where ι_multi ![a, b ,c] = ι a * ι b * ι c
  • Makes det_row_multilinear an alternating_map
  • Makes is_basis.det an alternating_map

I think ι_multi is was what @zhangir-azerbayev was preparing to prove after they wrapped up #3770

@eric-wieser eric-wieser added the blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. label Nov 26, 2020
Comment on lines +191 to +192
/-- The product of `n` terms of the form `ι R m` is an alternating map.

This is a special case of `multilinear_map.mk_pi_algebra_fin` -/
def ι_multi (n : ℕ) :
Copy link
Member Author

Choose a reason for hiding this comment

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

I'm not really sure what a good name for this is. wedge is another option, but it's weird that we use * as the symbol for a product that we call a wedge product.

Copy link
Collaborator

Choose a reason for hiding this comment

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

The name looks fine to me right now, since it's the (alternating) multilinear version of ι.

@eric-wieser eric-wieser force-pushed the eric-wieser/alternating_maps-wedge branch from 1b54b47 to b2a4fa8 Compare December 1, 2020 14:53
@eric-wieser eric-wieser changed the title feat(linear_algebra/exterior_algebra): Wedge is an alternating map feat(linear_algebra/*): Use alternating maps for wedge and determinant Dec 1, 2020
@eric-wieser eric-wieser changed the base branch from master to eric-wieser/conv-exact December 1, 2020 16:18
@eric-wieser eric-wieser changed the base branch from eric-wieser/conv-exact to master December 1, 2020 16:18
@eric-wieser eric-wieser added awaiting-review The author would like community review of the PR and removed blocked-by-other-PR This PR depends on another PR which is still in the queue. A bot manages this label via PR comment. labels Dec 1, 2020
map_eq_zero_of_eq' := begin
intros v i j h hij,
rw [←function.update_eq_self i v, h, ←det_transpose, he.to_matrix_update, ←update_row_transpose],
have : (he.to_matrix v)ᵀ j = he.repr (v j) := funext (λ _, rfl),
Copy link
Member Author

Choose a reason for hiding this comment

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

Zulip thread about whether this lemma should have a name.

Copy link
Collaborator

Choose a reason for hiding this comment

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

Seeing in this context, I believe it should have a name, but probably not be a simp lemma.

Copy link
Collaborator

@Vierkantor Vierkantor left a comment

Choose a reason for hiding this comment

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

Looks good to me if you can extract that to_matrix_transpose lemma.

bors d+

map_eq_zero_of_eq' := begin
intros v i j h hij,
rw [←function.update_eq_self i v, h, ←det_transpose, he.to_matrix_update, ←update_row_transpose],
have : (he.to_matrix v)ᵀ j = he.repr (v j) := funext (λ _, rfl),
Copy link
Collaborator

Choose a reason for hiding this comment

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

Seeing in this context, I believe it should have a name, but probably not be a simp lemma.

@bors
Copy link

bors bot commented Dec 2, 2020

✌️ eric-wieser can now approve this pull request. To approve and merge a pull request, simply reply with bors r+. More detailed instructions are available here.

@Vierkantor Vierkantor added delegated The PR author may merge after reviewing final suggestions. and removed awaiting-review The author would like community review of the PR labels Dec 2, 2020
@eric-wieser eric-wieser force-pushed the eric-wieser/alternating_maps-wedge branch from 3cea314 to 9565c2c Compare December 2, 2020 12:05
@eric-wieser
Copy link
Member Author

bors r+

bors bot pushed a commit that referenced this pull request Dec 2, 2020
…nt (#5124)

This :

* Adds `exterior_algebra.ι_multi`, where `ι_multi ![a, b ,c]` = `ι a * ι b * ι c`
* Makes `det_row_multilinear` an `alternating_map`
* Makes `is_basis.det` an `alternating_map`
@bors
Copy link

bors bot commented Dec 2, 2020

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(linear_algebra/*): Use alternating maps for wedge and determinant [Merged by Bors] - feat(linear_algebra/*): Use alternating maps for wedge and determinant Dec 2, 2020
@bors bors bot closed this Dec 2, 2020
@bors bors bot deleted the eric-wieser/alternating_maps-wedge branch December 2, 2020 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
delegated The PR author may merge after reviewing final suggestions.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants