 Math::GSL::VectorComplex(3) Complex Vectors

SYNOPSIS

use Math::GSL::VectorComplex qw/:all/;
my \$vec1 = Math::GSL::VectorComplex->new([1 + 2*i, 7*i, 5, -3 ]);
my \$vec2 = \$vec1 * 5;
my \$vec3 = Math::GSL::Vector>new(10); # 10 element zero vector
my \$vec4 = \$vec1 + \$vec2;
# set the element at index 1 to -i
# and the element at index 3 to i
\$vec3->set([ 1, -i ], [ 9, i ]);
my @vec = \$vec2->as_list; # return elements as Perl list
my \$dot_product = \$vec1 * \$vec2;
my \$length = \$vec2->length;
my \$first = \$vec1->get(0);

new()

Creates a new Vector of the given size.

```    my \$vector = Math::GSL::VectorComplex->new(3);
```

You can also create and set directly the values of the vector like this :

```   my \$vector = Math::GSL::VectorComplex->new([2,4,1]);
```

raw()

Get the underlying GSL vector object created by SWIG, useful for using gsl_vector_* functions which do not have an OO counterpart.

```    my \$vector    = Math::GSL::VectorComplex->new(3);
my \$gsl_vector = \$vector->raw;
my \$stuff      = gsl_vector_get(\$gsl_vector, 1);
```

min()

Returns the minimum value contained in the vector.

```   my \$vector = Math::GSL::VectorComplex->new([2,4,1]);
my \$minimum = \$vector->min;
```

max()

Returns the minimum value contained in the vector.

```   my \$vector = Math::GSL::VectorComplex->new([2,4,1]);
my \$maximum = \$vector->max;
```

length()

Returns the number of elements contained in the vector.

```   my \$vector = Math::GSL::VectorComplex->new([2,4,1]);
my \$length = \$vector->length;
```

as_list()

Gets the content of a Math::GSL::Vector object as a Perl list.

```    my \$vector = Math::GSL::VectorComplex->new(3);
...
my @values = \$vector->as_list;
```

get()

Gets the value of an of a Math::GSL::Vector object.

```    my \$vector = Math::GSL::VectorComplex->new(3);
...
my @values = \$vector->get(2);
```

You can also enter an array of indices to receive their corresponding values:

```    my \$vector = Math::GSL::VectorComplex->new(3);
...
my @values = \$vector->get([0,2]);
```

reverse()

Returns the a vector with the elements in reversed order.

```    use Math::Complex;
my \$v1 = Math::GSL::VectorComplex->new([ 1, 2, 3*i]);
my \$v2 = \$v1->reverse;
```

set()

Sets values of an of a Math::GSL::Vector object.

```    my \$vector = Math::GSL::VectorComplex->new(3);
\$vector->set([1,2], [8,23]);
```

This sets the second and third value to 8 and 23.

copy()

Returns a copy of the vector, which has the same length and values but resides at a different location in memory.

```    my \$vector = Math::GSL::VectorComplex->new([10 .. 20]);
my \$copy   = \$vector->copy;
```

swap()

Exchanges the values in the vectors \$v with \$w by copying.

```    my \$v = Math::GSL::VectorComplex->new([1..5]);
my \$w = Math::GSL::VectorComplex->new([3..7]);
\$v->swap( \$w );
```

AUTHORS

Jonathan ``Duke'' Leto <[email protected]> and Thierry Moisan <[email protected]>