Table of Contents

Class SeparableWaveFunction1D

Namespace
QuantumWaves
Assembly
QuantumLibrary.dll

Represents a separable one dimensional wave function.

public sealed class SeparableWaveFunction1D : WaveFunction1D
Inheritance
SeparableWaveFunction1D
Inherited Members

Constructors

SeparableWaveFunction1D(FloatRange, Func<float, ComplexF>, Func<float, ComplexF>)

Initializes a separable wave function with specified space and time components, and automatically normalizes its amplitude.

public SeparableWaveFunction1D(FloatRange domain, Func<float, ComplexF> spacePart, Func<float, ComplexF> timePart)

Parameters

domain FloatRange

The spatial domain of the wave function.

spacePart Func<float, ComplexF>

The spatial component of the wave function.

timePart Func<float, ComplexF>

The time dependent component of the wave function.

Exceptions

ArgumentNullException

Thrown if spacePart or timePart is null.

SeparableWaveFunction1D(FloatRange, Func<float, ComplexF>, Func<float, ComplexF>, float)

Initializes a separable wave function with specified space and time components.

public SeparableWaveFunction1D(FloatRange domain, Func<float, ComplexF> spacePart, Func<float, ComplexF> timePart, float amplitude)

Parameters

domain FloatRange

The spatial domain of the wave function.

spacePart Func<float, ComplexF>

The spatial component of the wave function.

timePart Func<float, ComplexF>

The time dependent component of the wave function.

amplitude float

The amplitude of the wave function.

Exceptions

ArgumentNullException

Thrown if spacePart or timePart is null.

Properties

SpacePart

Gets the spatial part of the wave function.

public Func<float, ComplexF> SpacePart { get; }

Property Value

Func<float, ComplexF>

TimePart

Gets the time dependent part of the wave function.

public Func<float, ComplexF> TimePart { get; }

Property Value

Func<float, ComplexF>

Methods

EvaluateRaw(float, float)

Evaluates the unscaled wave function at (x, t) using the space and time components.

protected override ComplexF EvaluateRaw(float x, float t)

Parameters

x float

The position at which to evaluate the spatial component.

t float

The time at which to evaluate the time dependent component.

Returns

ComplexF

The unscaled value of the wave function at x and t.

TimeSolution(float, float)

Creates the generic time dependent solution for a given energy.

public static Func<float, ComplexF> TimeSolution(float energy, float hBar = 1)

Parameters

energy float

Energy value.

hBar float

Reduced Planck constant. Must be greater than zero.

Returns

Func<float, ComplexF>

A function representing the time evolution.

Exceptions

ArgumentOutOfRangeException

Thrown if hBar is less than or equal to zero.