pymor.tools.plot

Module Contents

class pymor.tools.plot.Adaptive(f, a, b, initial_num, max_num, angle_tol, min_rel_dist, aspect_ratio, xscale, yscale)[source]

Bases: pymor.core.base.BasicObject

Base class for most classes in pyMOR.

logger[source]

A per-class instance of logging.Logger with the class name as prefix.

logging_disabled[source]

True if logging has been disabled.

name[source]

The name of the instance. If not set by the user, the name is set to the class name.

uid[source]

A unique id for each instance. The uid is obtained by using UID and is unique for all pyMOR objects ever created.

Methods

compute

compute()[source]
pymor.tools.plot.adaptive(f, a, b, initial_num=10, max_num=2000, angle_tol=2, min_rel_dist=0.01, aspect_ratio=4 / 3, xscale='linear', yscale='linear')[source]

Adaptive sampling of a NumPy array-valued function.

Samples the function such that the piecewise linear interpolation looks “smooth”.

If the function is complex-valued, it is assumed that the magnitude and phase should be plotted.

Parameters

f

The function to sample.

a

The left bound.

b

The right bound.

initial_num

Initial number of linearly spaced sampling points.

max_num

Maximum number of sampling points.

angle_tol

Tolerance for the maximum pointwise angle in degrees away from 180°.

min_rel_dist

Minimum distance between two neighboring points relative to the width of the plot.

aspect_ratio

Ratio between width and height of the plot, used in calculating angles and distances.

xscale

Whether to use linear ('linear') or logarithmic ('log') scale in the x-axis.

yscale

Whether to use linear ('linear') or logarithmic ('log') scale in the y-axis. If the function is complex-valued, yscale only refers to the magnitude (phase is always assumed to be in a linear scale).

Returns

points

A 1D NumPy array of sampled points.

fvals

A NumPy array of function values.