Provided by: libmath-gsl-perl_0.43-4build1_amd64
NAME
Math::GSL::MatrixComplex - Complex Matrices
SYNOPSIS
use Math::GSL::MatrixComplex qw/:all/; my $matrix1 = Math::GSL::MatrixComplex->new(5,5); # OO interface my $matrix3 = $matrix1 + $matrix1; my $matrix4 = $matrix1 - $matrix1; if($matrix1 == $matrix4) ... if($matrix1 != $matrix3) ... my $matrix2 = gsl_matrix_complex_alloc(5,5); # standard interface
Objected Oriented Interface to GSL Math::GSL::MatrixComplex
new() Creates a new MatrixComplex object of the given size. my $matrix = Math::GSL::MatrixComplex->new(10,10); raw() Get the underlying GSL matrix object created by SWIG, useful for using gsl_matrix_* functions which do not have an OO counterpart. my $matrix = Math::GSL::MatrixComplex->new(3,3); my $gsl_matrix = $matrix->raw; my $stuff = gsl_matrix_complex_get($gsl_matrix, 1, 2); rows() Returns the number of rows in the matrix. my $rows = $matrix->rows; cols() Returns the number of columns in the matrix. my $cols = $matrix->cols; as_vector() Returns a 1xN or Nx1 matrix as a Math::GSL::VectorComplex object. Dies if called on a matrix that is not a single row or column. Useful for turning the output of "col()" or "row()" into a vector, like so: my $vector1 = $matrix->col(0)->as_vector; my $vector2 = $matrix->row(1)->as_vector; as_list() Get the contents of a Math::GSL::Matrix object as a Perl list. my $matrix = Math::GSL::MatrixComplex->new(3,3); ... my @matrix = $matrix->as_list; row() Returns a row matrix of the row you enter. my $matrix = Math::GSL::MatrixComplex->new(3,3); ... my $matrix_row = $matrix->row(0); col() Returns a col matrix of the column you enter. my $matrix = Math::GSL::MatrixComplex->new(3,3); ... my $matrix_col = $matrix->col(0); set_row() Sets a the values of a row with the elements of an array. my $matrix = Math::GSL::MatrixComplex->new(3,3); $matrix->set_row(0, [8, 6, 2]); You can also set multiple rows at once with chained calls: my $matrix = Math::GSL::MatrixComplex->new(3,3); $matrix->set_row(0, [8, 6, 2]) ->set_row(1, [2, 4, 1]); ... set_col() Sets a the values of a column with the elements of an array. my $matrix = Math::GSL::MatrixComplex->new(3,3); $matrix->set_col(0, [8, 6, 2]); You can also set multiple columns at once with chained calls: my $matrix = Math::GSL::MatrixComplex->new(3,3); $matrix->set_col(0, [8, 6, 2]) ->set_col(1, [2, 4, 1]); ... is_square() Returns true if a matrix is square, i.e. it has the same number of rows as columns, false otherwise. det() Returns the determinant of a matrix (computed by LU decomposition) or dies if called on a non-square matrix. my $det = $matrix->det(); zero() Set a matrix to the zero matrix. $matrix->zero; identity() Set a matrix to the identity matrix, i.e. one on the diagonal and zero elsewhere. my $I = $matrix->identity; inverse() Returns the inverse of a matrix or dies when called on a non-square matrix. my $inverse = $matrix->inverse; is_hermitian() Returns true if the matrix is hermitian, false otherwise my $test = $matrix->is_hermitian; eigenvalues() lndet() Returns the natural log of the absolute value of the determinant of a matrix (computed by LU decomposition) or dies if called on a non-square matrix. my $lndet = $matrix->lndet();
DESCRIPTION
"gsl_matrix_complex_alloc " "gsl_matrix_complex_calloc " "gsl_matrix_complex_alloc_from_block " "gsl_matrix_complex_alloc_from_matrix " "gsl_vector_complex_alloc_row_from_matrix " "gsl_vector_complex_alloc_col_from_matrix " "gsl_matrix_complex_free " "gsl_matrix_complex_submatrix " "gsl_matrix_complex_row " "gsl_matrix_complex_column " "gsl_matrix_complex_diagonal " "gsl_matrix_complex_subdiagonal " "gsl_matrix_complex_superdiagonal " "gsl_matrix_complex_subrow " "gsl_matrix_complex_subcolumn " "gsl_matrix_complex_view_array " "gsl_matrix_complex_view_array_with_tda " "gsl_matrix_complex_view_vector " "gsl_matrix_complex_view_vector_with_tda " "gsl_matrix_complex_const_submatrix " "gsl_matrix_complex_const_row " "gsl_matrix_complex_const_column " "gsl_matrix_complex_const_diagonal " "gsl_matrix_complex_const_subdiagonal " "gsl_matrix_complex_const_superdiagonal " "gsl_matrix_complex_const_subrow " "gsl_matrix_complex_const_subcolumn " "gsl_matrix_complex_const_view_array " "gsl_matrix_complex_const_view_array_with_tda " "gsl_matrix_complex_const_view_vector " "gsl_matrix_complex_const_view_vector_with_tda " "gsl_matrix_complex_get" "gsl_matrix_complex_set" "gsl_matrix_complex_ptr" "gsl_matrix_complex_const_ptr" "gsl_matrix_complex_set_zero " "gsl_matrix_complex_set_identity " "gsl_matrix_complex_set_all " "gsl_matrix_complex_fread " "gsl_matrix_complex_fwrite " "gsl_matrix_complex_fscanf " "gsl_matrix_complex_fprintf " "gsl_matrix_complex_memcpy" "gsl_matrix_complex_swap" "gsl_matrix_complex_swap_rows" "gsl_matrix_complex_swap_columns" "gsl_matrix_complex_swap_rowcol" "gsl_matrix_complex_transpose " "gsl_matrix_complex_transpose_memcpy " "gsl_matrix_complex_isnull " "gsl_matrix_complex_ispos " "gsl_matrix_complex_isneg " "gsl_matrix_complex_add " "gsl_matrix_complex_sub " "gsl_matrix_complex_mul_elements " "gsl_matrix_complex_div_elements " "gsl_matrix_complex_scale " "gsl_matrix_complex_add_constant " "gsl_matrix_complex_add_diagonal " "gsl_matrix_complex_get_row" "gsl_matrix_complex_get_col" "gsl_matrix_complex_set_row" "gsl_matrix_complex_set_col" For more information on the functions, we refer you to the GSL official documentation <http://www.gnu.org/software/gsl/manual/html_node/>
AUTHORS
Jonathan "Duke" Leto <jonathan@leto.net> and Thierry Moisan <thierry.moisan@gmail.com>
COPYRIGHT AND LICENSE
Copyright (C) 2008-2021 Jonathan "Duke" Leto and Thierry Moisan This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.