Setup:
sage: F = GF(2, impl='ntl')
sage: m_ntl = identity_matrix(1, F)
sage: v_ntl = vector(F, (1,))
Now consider
sage: m_ntl * v_ntl
sage: v_ntl * m_ntl
I'm trying to multiply a 1x1 matrix by a 1-dimensional vector, in one order or the other. Here's what happens: the first line fails with a SignalError, and the second actually crashes Sage. If we are defining a field that can't do linear algebra, shouldn't there be big warnings posted somewhere? If we are defining a field like this, are there any expectations that it should work broadly with Sage types and constructions? I just discovered that cup products in mod 2 cohomology don't work when "mod 2" means coefficients in GF(2, impl='ntl'), and I don't know if I should bother trying to fix this.
For what it's worth, I get the same with `GF(2, impl='givaro')`. Also for what it's worth, explicitly converting `v_ntl` to a matrix allows the matrix multiplication to work.
I see this on two different OS X machines, one Intel and one Apple Silicon.
--
John