GSL::Vector::Complex¶ ↑
Class methods¶ ↑
-
GSL::Vector::Complex.alloc(size)
-
GSL::Vector::Complex.alloc(re, im)
-
GSL::Vector::Complex.alloc(z0, z1, z2, …)
-
GSL::Vector::Complex.alloc( … )
-
GSL::Vector::Complex[ … ]
Constructors.
-
With two (real) vectors:
>> re = Vector[0..3] >> im = Vector[5..8] >> z = Vector::Complex[re, im] [ [0.000e+00 5.000e+00] [1.000e+00 6.000e+00] [2.000e+00 7.000e+00] [3.000e+00 8.000e+00] ]
-
With arrays
>> z = Vector::Complex.alloc([0, 1], [2, 5], [-3, 4]) [ [0.000e+00 1.000e+00] [2.000e+00 5.000e+00] [-3.000e+00 4.000e+00] ]
-
GSL::Vector::Complex.calloc(n)
Creates a complex vector of length
n
and initializes all the elements of the vector to zero.
Instance methods¶ ↑
Accessing vector elements¶ ↑
-
GSL::Vector::Complex#get(args)
-
GSL::Vector::Complex#[args]
Returns elements(s) of the complex vector
self
ifargs
is a single Fixnum, a single Array of Fixnums, or a single GSL::Permutation (or GSL::Index). For all otherargs
, the parameters are treated as withVector#subvector
and aVector::View
is returned.Example:
>> z [ [0.000e+00 1.000e+00] [2.000e+00 5.000e+00] [-3.000e+00 4.000e+00] ] => #<GSL::Vector::Complex:0x6c5b9c> >> z[1] => GSL::Complex [ 2.000000 5.000000 ] >> z[-1] => GSL::Complex [ -3.000000 4.000000 ] >> z[0, 2] [ [0.000e+00 1.000e+00] [-3.000e+00 4.000e+00] ] => #<GSL::Vector::Complex:0x6bfbac>
-
GSL::Vector::Complex#set(args, val)
-
GSL::Vector::Complex#[args]=val
If
args
is empty, behaves as#set_all
andval
must be a[re,im]
Array
,Float
,Integer
, orGSL::Complex
.If
args
is a singleFixnum
,i
, sets thei
-th element of the vectorself
toval
, which must be a[re,im]
Array
,Float
,Integer
, orGSL::Complex
.All other
args
specify a subvector (as with#subvector
) whose elements are assigned fromval
. In this case,val
can be anArray
,Range
,GSL::Vector::Complex
, or one of the classes listed in the previous cases.NOTE: GSL does not provide a vector copy function that properly copies data across overlapping memory regions, so watch out if assigning to part of a Vector from another part of itself (see
#set
example of GSL::Vector).
Initializing vector elements¶ ↑
-
GSL::Vector::Complex#set_all(z)
Sets all the elements of the complex vector
self
to the complexz
.
-
GSL::Vector::Complex#set_zero
Sets all the elements of the vector
self
to zero.
-
GSL::Vector::Complex#set_real(x)
-
GSL::Vector::Complex#real=(x)
-
GSL::Vector::Complex#re=(x)
Sets the real component of all elements of the vector
self
tox
. Currently,x
must be a scalar, but a future Ruby GSL version could accept a GSL::Vector.
-
GSL::Vector::Complex#set_imag(x)
-
GSL::Vector::Complex#imag=(x)
-
GSL::Vector::Complex#im=(x)
Sets the imaginary component of all elements of the vector
self
tox
. Currently,x
must be a scalar, but a future Ruby GSL version could accept a GSL::Vector.
Vector Properties¶ ↑
-
GSL::Vector::Complex#size
-
GSL::Vector::Complex#len
-
GSL::Vector::Complex#length
Return the vector length.
-
GSL::Vector::Complex#stride
Return the vector stride.
Iterators¶ ↑
-
GSL::Vector::Complex#each
-
GSL::Vector::Complex#each_index
-
GSL::Vector::Complex#collect
-
GSL::Vector::Complex#map
-
GSL::Vector::Complex#collect!
-
GSL::Vector::Complex#map!
Reordering Elements¶ ↑
GSL::Vector::Complex
provides four methods for shifting the
frequency domain data between FFT order, shown in the
table in the Overview of
complex data FFTs, and natural order, which has the
most negative freqeuncy component first, the zero frequency component in
the middle, and the most positive frequency component last. For more
information on Ruby/GSL and FFTs, see Fast Fourier
Transforms.
-
GSL::Vector::Complex#fftshift
-
GSL::Vector::Complex#fftshift!
Shifts the data of
self
from FFT order to natural order. The#fftshift
method leavesself
unmodified and returns a newGSL::Vector::Complex
object containing the shifted data. The#fftshift!
method modifiesself
in-place and returnsself
. Note that#fftshift
and#ifftshift
are equivalent for even lengths, but not for odd lengths.
-
GSL::Vector::Complex#ifftshift
-
GSL::Vector::Complex#ifftshift!
Shifts the data of
self
from natural order to FFT order. The#ifftshift
method leavesself
unmodified and returns a newGSL::Vector::Complex
object containing the shifted data. The#ifftshift!
method modifiesself
in-place and returnsself
. Note that#fftshift
and#ifftshift
are equivalent for even lengths, but not for odd lengths.
Arithmetic¶ ↑
-
GSL::Vector::Complex#+(other)
-
GSL::Vector::Complex#-(other)
-
GSL::Vector::Complex#*(other)
-
GSL::Vector::Complex#/(other)
-
GSL::Vector::Complex#add(other)
-
GSL::Vector::Complex#sub(other)
-
GSL::Vector::Complex#mul(other)
-
GSL::Vector::Complex#div(other)
Returns a new
GSL::Vector::Complex
instance containing the result of the appropriate arithmetic operation onself
andother
. The inputs are unchanged. Theother
parameter may be a scalar,{GSL::Vector}[link:rdoc/vector_rdoc.html]
, orGSL::Vector::Complex
.
-
GSL::Vector::Complex#+=(other)
-
GSL::Vector::Complex#-=(other)
-
GSL::Vector::Complex#*=(other)
-
GSL::Vector::Complex#/=(other)
-
GSL::Vector::Complex#add!(other)
-
GSL::Vector::Complex#sub!(other)
-
GSL::Vector::Complex#mul!(other)
-
GSL::Vector::Complex#div!(other)
Modifies
self
in place to contain the result of the appropriate arithmetic operation onself
andother
. Theother
parameter may be a scalar,{GSL::Vector}[link:rdoc/vector_rdoc.html]
, orGSL::Vector::Complex
.
Reading and writing vectors¶ ↑
-
GSL::Vector::Complex#fwite(io)
-
GSL::Vector::Complex#fread(io)
-
GSL::Vector::Complex#fprintf(io, format)
-
GSL::Vector::Complex#fscanf(io)
Functions¶ ↑
-
GSL::Vector::Complex#conj
-
GSL::Vector::Complex#conjugate
Returns a new
GSL::Vector::Complex
that is the complex conjugate ofself
.
-
GSL::Vector::Complex#conj!
-
GSL::Vector::Complex#conjugate!
Conjugates
self
in-place and returnsself
.
-
GSL::Vector::Complex#arg
-
GSL::Vector::Complex#angle
-
GSL::Vector::Complex#phase
Calculates the argument (i.e. phase angle in radians) of each of the complex elements of the vector
self
and returns a real vector.
-
GSL::Vector::Complex#abs2
Calculates the squared magnitude of the complex elements of the vector
self
and returns a real vector.
-
GSL::Vector::Complex#abs
-
GSL::Vector::Complex#amp
Calculates the magnitude of the complex elements of the vector
self
and returns a real vector.
-
GSL::Vector::Complex#logabs
Calculates the natural logarithm of the magnitude of the complex elements of the vector
self
and returns a real vector.
-
GSL::Vector::Complex#sqrt
Calculates the square root of the complex elements of the vector
self
and returns a new complex vector.
-
GSL::Vector::Complex#exp
-
GSL::Vector::Complex#pow(a)
-
GSL::Vector::Complex#log
-
GSL::Vector::Complex#log10
-
GSL::Vector::Complex#log_b(base)
-
GSL::Vector::Complex#sin
-
GSL::Vector::Complex#cos
-
GSL::Vector::Complex#tan
-
GSL::Vector::Complex#sec
-
GSL::Vector::Complex#csc
-
GSL::Vector::Complex#cot
-
GSL::Vector::Complex#arcsin
-
GSL::Vector::Complex#arccos
-
GSL::Vector::Complex#arctan
-
GSL::Vector::Complex#arcsec
-
GSL::Vector::Complex#arccsc
-
GSL::Vector::Complex#arccot
-
GSL::Vector::Complex#sinh
-
GSL::Vector::Complex#cosh
-
GSL::Vector::Complex#tanh
-
GSL::Vector::Complex#sech
-
GSL::Vector::Complex#csch
-
GSL::Vector::Complex#coth
-
GSL::Vector::Complex#arcsinh
-
GSL::Vector::Complex#arccosh
-
GSL::Vector::Complex#arctanh
-
GSL::Vector::Complex#arcsech
-
GSL::Vector::Complex#arccsch
-
GSL::Vector::Complex#arccoth
Statistics¶ ↑
-
GSL::Vector::Complex#sum
Returns a
GSL::Complex
object representing the sum of all elements ofself
.
-
GSL::Vector::Complex#mean
Returns a
GSL::Complex
object representing the mean of all elements ofself
.
-
GSL::Vector::Complex#tss
Returns the total sum of squares about
self.mean
. This is a real number, i.e. aFloat
.
-
GSL::Vector::Complex#tss_m(mean)
Returns the total sum of squares about
mean
. This is a real number, i.e. aFloat.
-
GSL::Vector::Complex#variance
Returns the variance of
self
. This is a real number, i.e. aFloat.
-
GSL::Vector::Complex#variance_m(mean)
Returns the variance of
self
aroundmean
. This is a real number, i.e. aFloat
.
-
GSL::Vector::Complex#variance_fm(mean)
Returns the variance of
self
around the fixed meanmean
. This is a real number, i.e. aFloat
.
-
GSL::Vector::Complex#sd
Returns the standard deviation of
self
. This is a real number, i.e. aFloat
.
-
GSL::Vector::Complex#sd_m(mean)
Returns the standard deviation of
self
aroundmean
. This is a real number, i.e. aFloat
.
-
GSL::Vector::Complex#sd_fm(mean)
Returns the standard deviation of
self
around the fixed meanmean
. This is a real number, i.e. aFloat
.
Data Conversions¶ ↑
-
GSL::Vector#to_complex
-
GSL::Vector#to_complex2
Create a complex vector from a real vector.
>> v = Vector[1..4] => GSL::Vector [ 1.000e+00 2.000e+00 3.000e+00 4.000e+00 ] >> v.to_complex [ [1.000e+00 0.000e+00] [2.000e+00 0.000e+00] [3.000e+00 0.000e+00] [4.000e+00 0.000e+00] ] => #<GSL::Vector::Complex:0x6d7d24> >> v.to_complex2 [ [1.000e+00 2.000e+00] [3.000e+00 4.000e+00] ] => #<GSL::Vector::Complex:0x6d6424>