sandy.utils module

Collection of utilities, functions and classes that are requetsed in all code components.

sandy.utils.get_seed()
sandy.utils.grouper(iterable, n, fillvalue=None)

Collect data into fixed-length chunks or blocks

sandy.utils.pad_from_beginning(vals, maxlen=None, value=0.0, axis=0)

Convert list of arrays into matrix by backward padding. .. note:: this function can be used to put cross sections into one matrix

by adding zeros before the first value of threshold reactions.

Parameters:
valsiterable of arrays/lists

values of the matrix

maxlenint, optional, default is None

length to fill with padding. If not given, use the maximum length of the arrays in vals .. important:: if given, maxlen should be

maxlen <= max([len(v) for v in vals])

valuefloat, optional, default is 0.

value used for padding

axisint, optional, either 0 or 1, default is 0

axis along whihc the arrays should be positioned. 0 means rows, 1 means columns

Returns:
numpy.array

2D numpy.array with shape (len(vals), maxlen) if axis=0 and (maxlen, len(vals)) if axis=1

Raises:
ValueError

if axis is neither 0 nor 1

ValueError

if maxlen <= max([len(v) for v in vals])

sandy.utils.pad_from_beginning_fast(vals, maxlen)

Like aleph.utils.pad_from_beginning but faster. Keyword arguments axis and values take the default options. .. note:: this function can be used to put cross sections into one matrix

by adding zeros before the first value of threshold reactions.

Parameters:
valsiterable of arrays/lists

values of the matrix

maxlenint

length to fill with padding.

Returns:
numpy.array

2D numpy.array with shape (len(vals), maxlen)

sandy.utils.uniform_loggrid(xmin, xmax, npoints=100)

Given lower and upper limits, produce a grid with a number of points npoints that define equivalent intervals in log scale.

Parameters:
xminfloat

lower bound of the grid structure

xmaxfloat

upper bound of the grid structure

npointsint, optional, default 100
Returns:
numpy array

grid equally spaced in logarithmic scale

Examples

>>> uniform_loggrid(1e-5, 1e7, 25)
array([1.00000000e-05, 3.16227766e-05, 1.00000000e-04, 3.16227766e-04,
       1.00000000e-03, 3.16227766e-03, 1.00000000e-02, 3.16227766e-02,
       1.00000000e-01, 3.16227766e-01, 1.00000000e+00, 3.16227766e+00,
       1.00000000e+01, 3.16227766e+01, 1.00000000e+02, 3.16227766e+02,
       1.00000000e+03, 3.16227766e+03, 1.00000000e+04, 3.16227766e+04,
       1.00000000e+05, 3.16227766e+05, 1.00000000e+06, 3.16227766e+06,
       1.00000000e+07])