Procedures

ProcedureLocationProcedure TypeDescription
anticommutator matrix_m Function

Calculates the anticommutator between two complex square matrices.

arg basic_m Function

Returns the complex argument θ of a complex number z=r·exp(iθ).

Read more…
commutator matrix_m Function

Calculates the commutator between two complex square matrices.

conjg nambu_m Interface
conjg spin_m Interface
cx basic_m Function

Returns the complex number z=x+iy.

Read more…
diag math_m Interface

Public interface for functions that deal with matrix diagonals.

differentiate math_m Interface

Public interface for various differentiation routines.

differentiate_array_cx calculus_m Function

Complex version of differentiate_array_re.

differentiate_array_re calculus_m Function

Calculates the numerical derivative of an array y wrt. x using central differences at the interior points and forward/backward differences at the exterior points. All three approaches yield two-point approximations of the derivatives, thus the mesh spacing does not have to be uniform.

dump stdio_m Interface
dump_arrays stdio_m Subroutine

Dump numerical arrays to an output file.

dump_scalar stdio_m Subroutine

Dump a numerical result to an output file.

error stdio_m Subroutine

Provides a way to report an error message and halt the program.

evaluate evaluate_m Interface
finalize flow_p Subroutine
finalize phase_p Subroutine
finalize voltage_p Subroutine
finalize critical_p Subroutine
finalize converge_p Subroutine
identity matrix_m Function

Constructs an n×n identity matrix.

im basic_m Function

Returns the imaginary part of a complex number z=x+iy.

Read more…
input stdio_m Function

Open an input file for reading.

integrate math_m Interface

Public interface for various integration routines.

integrate_array_cx calculus_m Function

Complex version of integrate_array_re.

integrate_array_re calculus_m Function

Calculates the integral of an array y wrt. x using the trapezoid method. The mesh spacing does not necessarily have to be uniform.

integrate_range_cx calculus_m Function

Complex version of integrate_range_re.

integrate_range_re calculus_m Function

Constructs a piecewise hermitian cubic interpolation of an array y(x) from discrete numerical data, and then integrates the interpolation in the range (a, b). The mesh spacing does not have to be uniform.

interpolate math_m Interface

Public interface for various interpolation routines.

interpolate_array_cx calculus_m Function

Complex version of interpolate_array_re.

interpolate_array_re calculus_m Function

Constructs a piecewise hermitian cubic interpolation of an array y(x) based on discrete numerical data and evaluates the interpolation at p. Note that the mesh spacing does not necessarily have to be uniform.

interpolate_point_cx calculus_m Function

Complex version of interpolate_point_re.

interpolate_point_matrix_re calculus_m Function

Interpolates a matrix function using Catmull-Rom splines.

interpolate_point_re calculus_m Function

Wrapper for interpolate_array_re that accepts scalar arguments.

inverse nambu_m Interface
inverse spin_m Interface
inverse math_m Interface

Public interface for functions that calculate a matrix inverse.

linspace math_m Interface

Public interface for routines that initialize arrays.

linspace_array_re calculus_m Subroutine

Populates an array with elements from first to last, inclusive.

material_conf material_m Subroutine

Configure a material property based on a key-value pair.

material_load material_m Subroutine

Load a backup of a previous material state.

matrix_diag matrix_m Function

Constructs a block-diagonal matrix R from two general matrices A and B.

matrix_inverse_cx matrix_m Function

Inverts a square matrix via Gauss-Jordan elimination with partial pivot (general) or a cofactoring algorithm (2x2 matrices). The implementation is based on Algorithm #2 in "Efficient matrix inversion via Gauss-Jordan elimination and its parallelization" by E.S. Quintana et al. (1998).

matrix_inverse_re matrix_m Function

Wrapper for matrix_inverse_cx that operates on real matrices.

matrix_trace matrix_m Function

Calculates the trace of a general complex matrix.

mean math_m Interface

Public interface for routines that calculate the mean value.

mean_array_cx calculus_m Function

Calculates the mean value of a complex-valued array.

mean_array_re calculus_m Function

Calculates the mean value of a real-valued array.

message stdio_m Subroutine

Provides a way to report a status message.

nambuv nambu_m Interface
nonzero basic_m Function

Checks whether or not the argument has a finite norm.

norm2 spin_m Interface
output stdio_m Function

Open an output file for writing.

posthook phase_p Subroutine
posthook voltage_p Subroutine
prehook flow_p Subroutine
prehook phase_p Subroutine
prehook voltage_p Subroutine
prehook critical_p Subroutine
propagator propagator_m Interface
re basic_m Function

Returns the real part of a complex number z=x+iy.

Read more…
spinorbit spinorbit_m Interface
spinorbit_construct spinorbit_m Function

Constructs a spinorbit object with a given parent material.

spinscattering spinscattering_m Interface
spinscattering_construct spinscattering_m Function

Constructs a spinscattering object with a given parent material.

status_body stdio_m Subroutine

Provides a way to write boxed status messages to standard out; in particular, this routine writes out the name and value of a variable.

status_box stdio_m Subroutine

Provides a way to write boxed status messages to standard out.

status_foot stdio_m Subroutine

Provides a way to write boxed status messages to standard out; in particular, this routine writes out the bottom edge of such a box.

status_head stdio_m Subroutine

Provides a way to write boxed status messages to standard out; in particular, this routine writes out a boxed title with a timestamp.

structure structure_m Interface
sum nambu_m Interface
sum spin_m Interface
trace nambu_m Interface
trace spin_m Interface
trace math_m Interface

Public interface for functions that calculate a matrix trace.

unitvector basic_m Function

If the argument has a finite norm, then it will be rescaled to a unit vector. If that norm is zero, then a zero vector is returned instead.

vector_diag matrix_m Function

Extracts the diagonal of a general complex matrix.

warning stdio_m Subroutine

Provides a way to report a warning message.