chaosmagpy.model_utils.design_matrix

chaosmagpy.model_utils.design_matrix(knots, order, n_tdep, time, radius, theta, phi, n_static=None, source=None)[source]

Returns matrices that connect radial, colatitude and azimuthal field components on a grid with radius, theta (colatitude) and phi to the spherical harmonics expansion of a potential.

The potential is time-dependent on large length-scales (n <= n_tdep) and static on small length-scales (n_tdep < n <= n_static). The time-dependent part uses a B-spline representation of order k.

Parameters:
knotsndarray, shape >= (k+1,)

Knot vector with adequate endpoint multiplicity.

orderint, positive

Order k of B-spline basis functions (4 = cubic).

n_tdepint, positive

Maximum degree of the time-dependent field.

timendarray, shape (N,)

Time vector of the N data points in days.

radiusndarray, shape (N,)

Radius vector of the N data points in kilometers.

thetandarray, shape (N,)

Data colatitude vector in degrees \([0^\circ,180^\circ]\).

phindarray, shape (N,)

Data longitude vector in degrees.

n_staticint, positive, optional

Maximum degree of static field (default is None, n_static > n_tdep).

source{‘internal’, ‘external’}, optional

Magnetic field source (default is internal).

Returns:
G_radius, G_theta, G_phindarray, shape (N, …)

Forward matrix for \(B_r\), \(B_{\theta}\) and \(B_{\phi}\).

Raises:
ValueError

If degree of static field is smaller than the degree of the time-dep. field. In order to exclude the static field and obtain a purely time-dependent potential, use optional argument n_static=None or leave out completely.

See also

design_gauss