require 'matrix'
size = 3
range = 4
num = 10000
det_is_zero=0
matriz = Matrix.build(size) {|i,j| i+j}
print matriz;puts
for i in 1..num
a = Array.new
matriz = Matrix.build(size) { rand -range..range}
matriz = matriz+matriz.transpose
#matriz.to_a.each {|r| puts r.inspect}
det = matriz.determinant
#puts det
if det ==0
det_is_zero+=1
end
end
puts "Matriz #{size}*#{size} valor de #{-range} a #{range}"
puts "#{num}veces, #{det_is_zero}matrizes não invertiveis,"
puts 1.0*det_is_zero/num
=begin
for n in 1..10
for i in 0..3
Array.new(4) {|i| i.to_s }
for j in 0..3
end
end
end
# Create a 2x2 matrix
m = Matrix[[1, 2], [3, 4]]
# Calculate the determinant
det = m.determinant
puts m
p m
p m[1,0]
puts "The determinant of the matrix is #{det}"
=end
cmVxdWlyZSAnbWF0cml4JwoKc2l6ZSA9IDMKcmFuZ2UgPSA0Cm51bSA9IDEwMDAwCmRldF9pc196ZXJvPTAKCm1hdHJpeiA9IE1hdHJpeC5idWlsZChzaXplKSB7fGksanwgaStqfQpwcmludCBtYXRyaXo7cHV0cwoKCmZvciBpIGluIDEuLm51bQoJYSA9IEFycmF5Lm5ldwoJbWF0cml6ID0gTWF0cml4LmJ1aWxkKHNpemUpIHsgcmFuZCAtcmFuZ2UuLnJhbmdlfQoJbWF0cml6ID0gbWF0cml6K21hdHJpei50cmFuc3Bvc2UKCSNtYXRyaXoudG9fYS5lYWNoIHt8cnwgcHV0cyByLmluc3BlY3R9CglkZXQgPSBtYXRyaXouZGV0ZXJtaW5hbnQKCSNwdXRzIGRldAoJaWYgZGV0ID09MAoJCWRldF9pc196ZXJvKz0xCgllbmQKZW5kCnB1dHMgIk1hdHJpeiAje3NpemV9KiN7c2l6ZX0gdmFsb3IgZGUgI3stcmFuZ2V9IGEgI3tyYW5nZX0iCnB1dHMgIiN7bnVtfXZlY2VzLCAje2RldF9pc196ZXJvfW1hdHJpemVzIG7Do28gaW52ZXJ0aXZlaXMsIgpwdXRzIDEuMCpkZXRfaXNfemVyby9udW0KCgo9YmVnaW4KZm9yIG4gaW4gMS4uMTAKCWZvciBpIGluIDAuLjMKCQlBcnJheS5uZXcoNCkge3xpfCBpLnRvX3MgfQoJCWZvciBqIGluIDAuLjMKCQkJCgkJZW5kCgllbmQKZW5kCgoKIyBDcmVhdGUgYSAyeDIgbWF0cml4Cm0gPSBNYXRyaXhbWzEsIDJdLCBbMywgNF1dCgojIENhbGN1bGF0ZSB0aGUgZGV0ZXJtaW5hbnQKZGV0ID0gbS5kZXRlcm1pbmFudAoKcHV0cyBtCnAgbQoKcCBtWzEsMF0KcHV0cyAiVGhlIGRldGVybWluYW50IG9mIHRoZSBtYXRyaXggaXMgI3tkZXR9IgoKPWVuZAoKCg==
Matrix[[0, 1, 2], [1, 2, 3], [2, 3, 4]]
Matriz 3*3 valor de -4 a 4
10000veces, 174matrizes não invertiveis,
0.0174