03/05/2024, 07:54
while True:
m = ZZ.random_element(1, 10)
n = ZZ.random_element(1, 10)
if m > n:
break
print("m =", m, ", n =", n)
A = random_matrix(SR, n, m)
show(A)
show('il rango di A è ', rank(A))
f=linear_transformation(A,side='right')
show(f)
f.is_surjective()
alfabeto = 'abcdefghijklmnopqrstuvwxyz'
variabli = [var(alfabeto[i]) for i in range(n)]
f([variabili])
04/05/2024, 08:35
04/05/2024, 10:58
04/05/2024, 13:05
05/05/2024, 09:48
paolo1712 ha scritto:
Perché il fatto che venga riempita con floating point comporta ciò?
If the matrix is over Q which are independently chosen and equally likely to be 0 or 1, then, when n becomes large, the probability that the matrix has full rank approaches 1.
05/05/2024, 12:28
05/05/2024, 14:02
05/05/2024, 15:57
paolo1712 ha scritto:Vi ringrazio!
Per avere rango massimo nel caso in cui $a=0$, perché non è necessario supporre che anche $b!=0$ ?
a b c d
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1
10
Immagino quindi non ci sia soluzione se non ridurre le dimensioni notevolmente o fare in modo che ci sia una riga/colonna di soli zeri. Però in ogni caso renderei la matrice "meno casuale".
O ancora ma credo allungherei il brodo a dismisura, potrei dividere la matrice in vettori riga, moltiplicarli per un elemento random intero tra 0 e 1 e ricostruire la matrice. Però così verrebbe fuori quasi sempre una funzione non suriettiva.
05/05/2024, 19:32
06/05/2024, 08:12
Skuola.net News è una testata giornalistica iscritta al Registro degli Operatori della Comunicazione.
Registrazione: n° 20792 del 23/12/2010.
©2000—
Skuola Network s.r.l. Tutti i diritti riservati. — P.I. 10404470014.
Powered by phpBB © phpBB Group - Privacy policy - Cookie privacy
phpBB Mobile / SEO by Artodia.