scri.modes_time_series

Classes

ModesTimeSeries(input_array, *args, **kwargs)

Object to store SWSH modes as functions of time

class scri.modes_time_series.ModesTimeSeries(input_array, *args, **kwargs)[source]

Object to store SWSH modes as functions of time

This class subclasses the spinsfast.Modes class, but also tracks corresponding time values, allowing this class to have extra methods for interpolation, as well as differentiation and integration in time.

NOTE: The time array is not copied; this class merely keeps a reference to the original time array. If you change that array in place outside of this class, it changes inside of this class as well. You can, of course, change the variable you used to label that array to point to some other quantity without affecting the time array stored in this class.

Attributes:
LM
T

View of the transposed array.

bar

Return Modes object corresponding to conjugated function

base

Base object if memory is from some other object.

ctypes

An object to simplify the interaction of the array with the ctypes module.

data

Python buffer object pointing to the start of the array’s data.

ddot

Differentiate modes twice with respect to time

dot

Differentiate modes once with respect to time

dtype

Data-type of the array’s elements.

ell_max

Largest ell value stored in data

ell_min

Smallest ell value stored in data [need not equal abs(s)]

eth

Spin-raising derivative operator defined by Newman and Penrose

eth_GHP

Raise spin-weight with GHP convention

ethbar

Spin-lowering conjugate-derivative operator defined by Newman and Penrose

ethbar_GHP

Lower spin-weight with GHP convention

flags

Information about the memory layout of the array.

flat

A 1-D iterator over the array.

iint

Integrate modes twice with respect to time

imag
int

Integrate modes once with respect to time

itemsize

Length of one array element in bytes.

n_modes

Number of elements along the last axis

n_times
nbytes

Total bytes consumed by the elements of the array.

ndarray

View this array as a numpy ndarray

ndim

Number of array dimensions.

real
s

Spin weight of this Modes object

shape

Tuple of array dimensions.

size

Number of elements in the array.

spin_weight

Spin weight of this Modes object

strides

Tuple of bytes to step in each dimension when traversing an array.

t
time
u

Methods

Lminus()

Lowering operator for Lz

Lplus()

Raising operator for Lz

Lsquared()

Total angular-momentum operator

Lz()

Left Lie derivative with respect to rotation about z

Rminus()

Lowering operator for Rz

Rplus()

Raising operator for Rz

Rsquared()

Total angular-momentum operator

Rz()

Right Lie derivative with respect to rotation about z

all([axis, out, keepdims, where])

Returns True if all elements evaluate to True.

antiderivative([antiderivative_order])

Integrate modes with respect to time

any([axis, out, keepdims, where])

Returns True if any of the elements of a evaluate to True.

argmax([axis, out, keepdims])

Return indices of the maximum values along the given axis.

argmin([axis, out, keepdims])

Return indices of the minimum values along the given axis.

argpartition(kth[, axis, kind, order])

Returns the indices that would partition this array.

argsort([axis, kind, order])

Returns the indices that would sort this array.

astype(dtype[, order, casting, subok, copy])

Copy of the array, cast to a specified type.

byteswap([inplace])

Swap the bytes of the array elements

choose(choices[, out, mode])

Use an index array to construct a new array from a set of choices.

clip([min, max, out])

Return an array whose values are limited to [min, max].

compress(condition[, axis, out])

Return selected slices of this array along given axis.

conj([inplace])

Return Modes object corresponding to conjugated function

conjugate([inplace])

Return Modes object corresponding to conjugated function

copy([order])

Return a copy of the array.

cumprod([axis, dtype, out])

Return the cumulative product of the elements along the given axis.

cumsum([axis, dtype, out])

Return the cumulative sum of the elements along the given axis.

derivative([derivative_order])

Differentiate modes with respect to time

diagonal([offset, axis1, axis2])

Return specified diagonals.

dump(file)

Dump a pickle of the array to the specified file.

dumps()

Returns the pickle of the array as a string.

evaluate(rotors, **kwargs)

Return values of function on input rotors

fill(value)

Fill the array with a scalar value.

flatten([order])

Return a copy of the array collapsed into one dimension.

getfield(dtype[, offset])

Returns a field of the given array as a certain type.

grid([n_theta, n_phi])

Return values of function on an equi-angular grid

grid_multiply(mts, **kwargs)

Compute mode weights of the product of two functions

index(ell, m)

Return index of (ell, m) mode in data

item(*args)

Copy an element of an array to a standard Python scalar and return it.

itemset(*args)

Insert scalar into an array (scalar is cast to array's dtype, if possible)

max([axis, out, keepdims, initial, where])

Return the maximum along a given axis.

mean([axis, dtype, out, keepdims, where])

Returns the average of the array elements along given axis.

min([axis, out, keepdims, initial, where])

Return the minimum along a given axis.

multiply(other[, truncator])

Multiply by another spin-weighted function or a scalar

newbyteorder([new_order])

Return the array with the same data viewed with a different byte order.

nonzero()

Return the indices of the elements that are non-zero.

partition(kth[, axis, kind, order])

Rearranges the elements in the array in such a way that the value of the element in kth position is in the position it would be in a sorted array.

prod([axis, dtype, out, keepdims, initial, ...])

Return the product of the array elements over the given axis

ptp([axis, out, keepdims])

Peak to peak (maximum - minimum) value along a given axis.

put(indices, values[, mode])

Set a.flat[n] = values[n] for all n in indices.

ravel([order])

Return a flattened array.

repeat(repeats[, axis])

Repeat elements of an array.

reshape(shape[, order])

Returns an array containing the same data with a new shape.

resize(new_shape[, refcheck])

Change shape and size of array in-place.

round([decimals, out])

Return a with each element rounded to the given number of decimals.

searchsorted(v[, side, sorter])

Find indices where elements of v should be inserted in a to maintain order.

setfield(val, dtype[, offset])

Put a value into a specified place in a field defined by a data-type.

setflags([write, align, uic])

Set array flags WRITEABLE, ALIGNED, WRITEBACKIFCOPY, respectively.

sort([axis, kind, order])

Sort an array in-place.

squeeze([axis])

Remove axes of length one from a.

std([axis, dtype, out, ddof, keepdims, where])

Returns the standard deviation of the array elements along given axis.

sum([axis, dtype, out, keepdims, initial, where])

Return the sum of the array elements over the given axis.

swapaxes(axis1, axis2)

Return a view of the array with axis1 and axis2 interchanged.

take(indices[, axis, out, mode])

Return an array formed from the elements of a at the given indices.

tobytes([order])

Construct Python bytes containing the raw data bytes in the array.

tofile(fid[, sep, format])

Write array to a file as text or binary (default).

tolist()

Return the array as an a.ndim-levels deep nested list of Python scalars.

tostring([order])

A compatibility alias for tobytes, with exactly the same behavior.

trace([offset, axis1, axis2, dtype, out])

Return the sum along diagonals of the array.

transpose(*axes)

Returns a view of the array with axes transposed.

truncate_ell(new_ell_max)

Slice array so that new ell max is no more than the given value

var([axis, dtype, out, ddof, keepdims, where])

Returns the variance of the array elements, along given axis.

view([dtype][, type])

New view of array with the same data.

add

divide

interpolate

norm

subtract

property LM
antiderivative(antiderivative_order=1)[source]

Integrate modes with respect to time

property ddot

Differentiate modes twice with respect to time

derivative(derivative_order=1)[source]

Differentiate modes with respect to time

property dot

Differentiate modes once with respect to time

property eth_GHP

Raise spin-weight with GHP convention

property ethbar_GHP

Lower spin-weight with GHP convention

grid_multiply(mts, **kwargs)[source]

Compute mode weights of the product of two functions

This will compute the values of self and mts on a grid, multiply the grid values together, and then return the mode coefficients of the product. This takes less time and memory compared to the SWSH_modes.Modes.multiply() function, at the risk of introducing aliasing effects if working_ell_max is too small.

Parameters:
self: ModesTimeSeries

One of the quantities to multiply.

mts: ModesTimeSeries

The quantity to multiply with ‘self’.

working_ell_max: int, optional

The value of ell_max to be used to define the computation grid. The number of theta points and the number of phi points are set to 2*working_ell_max+1. Defaults to (self.ell_max + mts.ell_max).

output_ell_max: int, optional

The value of ell_max in the output mts object. Defaults to self.ell_max.

property iint

Integrate modes twice with respect to time

property int

Integrate modes once with respect to time

interpolate(new_time, derivative_order=0, out=None)[source]
property n_times
property t
property time
property u