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

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/faeffb72-3b16-4f37-90c4-f969e4d5c017n%40googlegroups.com.

Reply via email to