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
nand 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
selfifargsis 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#subvectorand aVector::Viewis 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
argsis empty, behaves as#set_allandvalmust be a[re,im]Array,Float,Integer, orGSL::Complex.If
argsis a singleFixnum,i, sets thei-th element of the vectorselftoval, which must be a[re,im]Array,Float,Integer, orGSL::Complex.All other
argsspecify a subvector (as with#subvector) whose elements are assigned fromval. In this case,valcan 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
#setexample of GSL::Vector).
Initializing vector elements¶ ↑
-
GSL::Vector::Complex#set_all(z)
Sets all the elements of the complex vector
selfto the complexz.
-
GSL::Vector::Complex#set_zero
Sets all the elements of the vector
selfto 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
selftox. Currently,xmust 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
selftox. Currently,xmust 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
selffrom FFT order to natural order. The#fftshiftmethod leavesselfunmodified and returns a newGSL::Vector::Complexobject containing the shifted data. The#fftshift!method modifiesselfin-place and returnsself. Note that#fftshiftand#ifftshiftare equivalent for even lengths, but not for odd lengths.
-
GSL::Vector::Complex#ifftshift
-
GSL::Vector::Complex#ifftshift!
Shifts the data of
selffrom natural order to FFT order. The#ifftshiftmethod leavesselfunmodified and returns a newGSL::Vector::Complexobject containing the shifted data. The#ifftshift!method modifiesselfin-place and returnsself. Note that#fftshiftand#ifftshiftare 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::Complexinstance containing the result of the appropriate arithmetic operation onselfandother. The inputs are unchanged. Theotherparameter 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
selfin place to contain the result of the appropriate arithmetic operation onselfandother. Theotherparameter 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::Complexthat is the complex conjugate ofself.
-
GSL::Vector::Complex#conj!
-
GSL::Vector::Complex#conjugate!
Conjugates
selfin-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
selfand returns a real vector.
-
GSL::Vector::Complex#abs2
Calculates the squared magnitude of the complex elements of the vector
selfand returns a real vector.
-
GSL::Vector::Complex#abs
-
GSL::Vector::Complex#amp
Calculates the magnitude of the complex elements of the vector
selfand returns a real vector.
-
GSL::Vector::Complex#logabs
Calculates the natural logarithm of the magnitude of the complex elements of the vector
selfand returns a real vector.
-
GSL::Vector::Complex#sqrt
Calculates the square root of the complex elements of the vector
selfand 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::Complexobject representing the sum of all elements ofself.
-
GSL::Vector::Complex#mean
Returns a
GSL::Complexobject 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
selfaroundmean. This is a real number, i.e. aFloat.
-
GSL::Vector::Complex#variance_fm(mean)
Returns the variance of
selfaround 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
selfaroundmean. This is a real number, i.e. aFloat.
-
GSL::Vector::Complex#sd_fm(mean)
Returns the standard deviation of
selfaround 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>