It is over the ring of polynomials in one variable over Q.

El miércoles, 13 de diciembre de 2023 a las 15:05:00 UTC+1, Dima Pasechnik 
escribió:

> On Wed, Dec 13, 2023 at 10:55 AM Enrique Artal <enriqu...@gmail.com> 
> wrote:
> >
> > I have the toy example belowto compare the direct use of smith_form and 
> the combination of hermite_form and smith_form.
> >
> > Last execution (there are random inputs) gave:
> > CPU times: user 2.22 s, sys: 5.93 ms, total: 2.23 s Wall time: 2.23 s 
> CPU times: user 454 ms, sys: 990 µs, total: 455 ms Wall time: 456 ms
> >
> > %%%%%%%%%%%%%%%%%%%%%
> > R.<t> = QQ[]
> > n = 3
> > m = 5
> > ds = (n, m)
> > M = MatrixSpace(R, n, m)
> > V = random_vector(R, n)
> > A0 = Matrix(R, n, m)
> > A0[0, 0] = R.random_element()
> > for j in range(1, n):
> > A0[j, j] = A0[j -1, j - 1] * R.random_element()
> > def par(n):
> > i1 = ZZ.random_element(0,n)
> > j1 = i1
> > while j1 == i1:
> > j1 = ZZ.random_element(0,n)
> > return (i1, j1)
> > def smith_hermite(A):
> > D1, U1 = A.hermite_form(transformation=True)
> > D, U2, V = D1.smith_form()
> > U = U2 * U1
> > return D, U, V
> > P = {j: identity_matrix(R, ds[j]) for j in range(2)}
> > s = 20
> > for k in range(2):
> > for a in range(s):
> > i, j = par(n)
> > f = R.random_element()
> > P[k].add_multiple_of_row(i, j ,f)
> > i, j = par(n)
> > P[k].swap_rows(i, j)
> > i, j = par(n)
> > f = R.random_element()
> > P[k].add_multiple_of_column(i, j ,f)
> > i, j = par(n)
> > P[0].swap_columns(i, j)
> > A = P[0] * A0 * P[1]
> > %time D, U, V = A.smith_form()
> > %time D1, U1, V1 = smith_hermite(A)
>
> hmm, what's Smith form of a matrix over Q ?
> Q is not a PID.
> >
> > --
> > You received this message because you are subscribed to the Google 
> Groups "sage-support" group.
> > To unsubscribe from this group and stop receiving emails from it, send 
> an email to sage-support...@googlegroups.com.
> > To view this discussion on the web visit 
> https://groups.google.com/d/msgid/sage-support/dec24250-3a00-4c3e-a2e6-e352cde6ff2bn%40googlegroups.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-support/87a33d6e-b0e5-4dbf-9b53-30c0535f7f53n%40googlegroups.com.

Reply via email to