# Counting number of trues in a 1000 line answer Anonymous for y in range (1000):
F=matrix([[randint(0,1) for i in range(1,11)] for j in range(1,11)])
F.echelon_form()==identity_matrix(10)


I need help with this formula! We are supposed to find the number of outputted Trues in this statement. Either a percent answer or just the number true out of 1000 would be awesome!

I'm not very well versed in this programming language and any help with a description would be great!!

edit retag close merge delete

Sort by » oldest newest most voted

# 3) Approximately 120/1000(Depending on the randomization)

var('x')
x=0
for y in range (1000):
F=matrix([[randint(0,1) for i in range(1,11)] for j in range(1,11)])
if (F.echelon_form()==identity_matrix(10)):
x=x+1
show(x/1000)

more

1

The "var('x')" in the first line is superfluous, since you rebind it to the integer 0 immediately after that. There are other ways you can do this, but this one has the advantage of being clear.

In one line:

[random_matrix(ZZ,10,x=0,y=2).echelon_form()==identity_matrix(10) for i in range(1000)].count(true)

more

Following kcrisman, this has the disadvantage of being unclear, but you can learn a trick or two here :)