# Create matrix with random numbers

Discussion in 'Ruby' started by Jason Bornhoft, Oct 19, 2007.

1. ### Jason BornhoftGuest

I would like to start evaluating Ruby's capabilities in processing large
linear systems and matrices and I would like to know if there is a
simple way to 'randomly' populate various matrices regardless of size or
type.

Any help, comments, anything is greatly appreciated!
--
Posted via http://www.ruby-forum.com/.

Jason Bornhoft, Oct 19, 2007

2. ### Todd BensonGuest

On 10/19/07, Jason Bornhoft <> wrote:
> I would like to start evaluating Ruby's capabilities in processing large
> linear systems and matrices and I would like to know if there is a
> simple way to 'randomly' populate various matrices regardless of size or
> type.
>
> Any help, comments, anything is greatly appreciated!

Not sure what you want exactly, but, maybe...

require 'matrix'
a, b = 2, 3
m = Matrix[*(Array.new(a) {Array.new(b) {rand}})]

Todd

Todd Benson, Oct 19, 2007

3. ### Jason BornhoftGuest

> Not sure what you want exactly, but, maybe...
>
> require 'matrix'
> a, b = 2, 3
> m = Matrix[*(Array.new(a) {Array.new(b) {rand}})]
>
> Todd

What I would ideally like is to be able to specify the size of the
matrix and then have a random function populate the matrix with real
integers or, eventually, complex numbers.

Thanks for the guidance...
--
Posted via http://www.ruby-forum.com/.

Jason Bornhoft, Oct 20, 2007
4. ### Rob BiedenharnGuest

On Oct 19, 2007, at 9:38 PM, Jason Bornhoft wrote:
>> Not sure what you want exactly, but, maybe...
>>
>> require 'matrix'
>> a, b = 2, 3
>> m = Matrix[*(Array.new(a) {Array.new(b) {rand}})]
>>
>> Todd

>
> What I would ideally like is to be able to specify the size of the
> matrix and then have a random function populate the matrix with real
> integers or, eventually, complex numbers.
>
> Thanks for the guidance...

So something like:

require 'matrix'
def some_random_function
# make something up, perhaps something complex
end
rows, columns = 2, 3
matrix = Matrix[*(Array.new(rows) {Array.new(columns)
{ some_random_function }})]

And, yes, that just about exactly what you were already given. ;-)

-Rob

Rob Biedenharn http://agileconsultingllc.com

Rob Biedenharn, Oct 20, 2007