Provided by: libmath-gsl-perl_0.43-4_amd64 bug

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.