GSL::Matrix.new(n)GSL::Matrix.new(array)GSL::Matrix.new(arrays)These methods create a GSL::Matrix object.
One can initialize a matrix with arrays,
require 'gsl'
m = GSL::Matrix::new([1, 2, 3], [6, 5, 4], [7, 8, 1])
-> a 3x3 matrix is created,
1 2 3
4 5 6
7 8 9
With an array and rows&cols,
m = GSL::Matrix::new([1, 2, 3, 4, 5, 6, 7, 8, 9], 3, 3)
GSL::Matrix#set(argv)with two integers and a number,
m.set(1, 2, 3.2) -> the (1, 2) element is set to 3.2
with arrays,
m.set([6, 5, 6], [4, 5, 7], [8, 5, 21])
->
6 5 6
4 5 7
8 5 21with an array and sizes,
m.set([4, 5, 6, 8, 98, 6, 4, 3, 1], 3, 3)
->
4 5 6
8 98 6
4 3 1GSL::Matrix#get(i, j)GSL::Matrix#set_all(x)GSL::Matrix#set_zeroGSL::Matrix#set_identityGSL::Matrix#fwrite(io)GSL::Matrix#fwrite(filename)GSL::Matrix#fread(io)GSL::Matrix#fread(filename)GSL::Matrix#fprintf(io, format = "%e")GSL::Matrix#fprintf(filename, format = "%e")GSL::Matrix#fscanf(io)GSL::Matrix#fscanf(filename)GSL::Matrix#row(i)GSL::Matrix#column(i)GSL::Matrix#col(i)GSL::Matrix#diagonalGSL::Matrix#set_row(i, v)GSL::Matrix#set_col(j, v)GSL::Matrix#swap_rows!(i, j)GSL::Matrix#swap_rows(i, j)GSL::Matrix#swap_columns!(i, j)GSL::Matrix#swap_columns(i, j)GSL::Matrix#swap_rowcol!(i, j)GSL::Matrix#swap_rowcol(i, j)GSL::Matrix#transpose!GSL::Matrix#transposeGSL::Matrix#add(b)GSL::Matrix#add!(b)GSL::Matrix#sub!(b)GSL::Matrix#sub(b)GSL::Matrix#mul_elements!(b)GSL::Matrix#mul_elements(b)GSL::Matrix#div_elements!(b)GSL::Matrix#div_elements(b)GSL::Matrix#scale!(x)GSL::Matrix#scale(x)GSL::Matrix#add_constant!(a)GSL::Matrix#add_constant(a)GSL::Matrix#maxGSL::Matrix#minGSL::Matrix#minmaxGSL::Matrix#max_indexGSL::Matrix#min_indexGSL::Matrix#minmax_indexGSL::Matrix#to_naGSL::Matrix.to_gm(na)GSL::Vector::View object is created. The array data of na are
not copied, thus any modifications to the View object affect on the original
NArray object na. The View object can be used as a reference to the NMatrix
object.( back