Zulip Chat Archive
Stream: Is there code for X?
Topic: Tensor product on linear maps
Ivรกn Renison (Apr 23 2025 at 09:41):
Hi, do we have something like this?
def LinearMap_tmul (T N : E โโ[๐] E) : E โ[๐] E โโ[๐] E โ[๐] E
I now that with T โโ[๐] N
I get a (E โโ[๐] E) โ[๐] (E โโ[๐] E)
, witch is kind of equivalent to E โ[๐] E โโ[๐] E โ[๐] E
, but it not the same type (it can't be used as a function) and I have not found a way of converting from one to the other
Kevin Buzzard (Apr 23 2025 at 09:43):
What do you mean by "kind of equivalent"?
Kevin Buzzard (Apr 23 2025 at 09:45):
By the way tmul
means "tensoring elements together" so that's definitely not the right name for what you're looking for -- theorems with tmul
in will talk about not .
Ivรกn Renison (Apr 23 2025 at 09:47):
Kevin Buzzard said:
What do you mean by "kind of equivalent"?
I'm not sure
What I now is that when having explicit matrices and vectores (informal speaking) they are isomorphism (if not the same)
Kevin Buzzard (Apr 23 2025 at 09:48):
But not canonically, right? There's no natural way to get from one to the other without picking a basis I don't think.
Jz Pan (Apr 23 2025 at 09:48):
Kevin Buzzard (Apr 23 2025 at 09:49):
Here's how to answer your question:
@loogle LinearMap, TensorProduct
loogle (Apr 23 2025 at 09:49):
:search: TensorProduct.Neg.aux, LinearMap.lTensor, and 847 more
Kevin Buzzard (Apr 23 2025 at 09:49):
oh yikes that's too many
Kevin Buzzard (Apr 23 2025 at 09:49):
oh but it's only the 6th one down, and Jz has already told you the answer :-)
Jz Pan (Apr 23 2025 at 09:51):
Ivรกn Renison said:
(E โโ[๐] E) โ[๐] (E โโ[๐] E)
, witch is kind of equivalent toE โ[๐] E โโ[๐] E โ[๐] E
Really? I don't know how to get two from an element of E โโ[๐] E
backE โ[๐] E โโ[๐] E โ[๐] E
.
Ivรกn Renison (Apr 23 2025 at 09:52):
Jz Pan said:
Thanks
Kevin Buzzard (Apr 23 2025 at 09:52):
If everything is finite-dimensional then V tensor W and Hom(V,W) have the same dimension so if you pick bases they'll be noncanonically isomorphic.
Ivรกn Renison (Apr 23 2025 at 09:52):
You are right
Ivรกn Renison (Apr 23 2025 at 09:52):
I was a little confused
Kevin Buzzard (Apr 23 2025 at 09:52):
This is how matrices and vectors can be misleading.
Kevin Buzzard (Apr 23 2025 at 09:53):
It's a shame that
@loogle (?A โ[?k] ?B) โโ[?k] (?C โ[?k] ?D)
doesn't work
loogle (Apr 23 2025 at 09:53):
:exclamation: <input>:1:4: expected token
Kevin Buzzard (Apr 23 2025 at 09:54):
set_option pp.notation false in
#check E โ[๐] E โโ[๐] E โ[๐] E
gives
LinearMap (RingHom.id ๐) (TensorProduct ๐ E E) (TensorProduct ๐ E E) : Type
Yaรซl Dillies (Apr 23 2025 at 09:55):
Kevin Buzzard (Apr 23 2025 at 09:55):
yes we got there a while ago :-)
Yaรซl Dillies (Apr 23 2025 at 09:55):
Sorry, I sent this message 12min ago
Kevin Buzzard (Apr 23 2025 at 09:55):
The game now is to make loogle find it painlessly
Kevin Buzzard (Apr 23 2025 at 09:56):
@loogle |- LinearMap (RingHom.id ?k) (TensorProduct ?k ?A ?B) (TensorProduct ?k ?C ?D)
loogle (Apr 23 2025 at 09:56):
:search: TensorProduct.Neg.aux, LinearMap.lTensor, and 3 more
Kevin Buzzard (Apr 23 2025 at 09:56):
That's a bit more reasonable
Jz Pan (Apr 23 2025 at 09:57):
Frankly, in mathematics don't know how to construct (E โ[๐] E โโ[๐] E โ[๐] E) โโ[๐] ((E โโ[๐] E) โ[๐] (E โโ[๐] E))
Kevin Buzzard (Apr 23 2025 at 09:59):
If E is finite-dimensional and you pick an ordered basis of E and then choose a method of getting ordered bases of V tensor W and Hom(V,W) from ordered bases of V and W and then you identify every n-dimensional vector space equipped with an ordered basis with k^n then it's just the identity map.
Kevin Buzzard (Apr 23 2025 at 10:00):
If you think about it this way then you can see they are kind of equivalent.
Kevin Buzzard (Apr 23 2025 at 10:00):
This is exactly how not to do linear algebra.
Jz Pan (Apr 23 2025 at 10:02):
OK the bundled version is docs#TensorProduct.homTensorHomMap
Jz Pan (Apr 23 2025 at 10:03):
If it is bijective then it is indeed an isomorphism. Although we don't know how to write down its inverse.
Jz Pan (Apr 23 2025 at 10:07):
Kevin Buzzard said:
If everything is finite-dimensional then V tensor W and Hom(V,W) have the same dimension so if you pick bases they'll be noncanonically isomorphic.
But this argument indeed shows that the canonical forward map is bijective. So it is isomorphic. The inverse map must also be "canonical"...
Kevin Buzzard (Apr 23 2025 at 10:20):
We are identifying a finite-dimensional vector space with its dual here, nothing is canonical.
Kevin Buzzard (Apr 23 2025 at 10:22):
The canonical thing is that in the finite-dimensional case (this is just curry/uncurry) and if everything is equal to its dual because the transpose of a row vector is a column vector then you can just remove the stars.
Eric Wieser (Apr 23 2025 at 14:14):
Kevin Buzzard said:
It's a shame that
...
doesn't work
@loogle open scoped TensorProduct in (?A โ[?k] ?B) โโ[?k] (?C โ[?k] ?D)
loogle (Apr 23 2025 at 14:14):
:search: TensorProduct.Neg.aux, LinearMap.lTensor, and 293 more
Eric Wieser (Apr 23 2025 at 14:17):
Kevin Buzzard said:
But not canonically, right? There's no natural way to get from one to the other without picking a basis I don't think.
@loogle open scoped TensorProduct in (_ โโ[?๐] _) โ[?๐] (_ โโ[?๐] _), open scoped TensorProduct in (_ โ[?๐] _) โโ[?๐] (_ โ[?๐] _)
loogle (Apr 23 2025 at 14:17):
:search: TensorProduct.homTensorHomMap, TensorProduct.homTensorHomMap_apply, and 4 more
Eric Wieser (Apr 23 2025 at 14:19):
So docs#homTensorHomEquiv is the basis-agnostic equivalence (it doesn't depend on the choice, but does still need one)
Last updated: May 02 2025 at 03:31 UTC