seq2seq_pde_solver
- class torchquantlib.utils.seq2seq_pde_solver.Seq2SeqPDESolver(input_dim, hidden_dim, output_dim, num_layers=1)[source]
Bases:
ModuleSequence-to-Sequence model for solving Partial Differential Equations (PDEs).
This model uses an encoder-decoder architecture with LSTM layers to approximate solutions to PDEs. It can be used for various financial applications such as option pricing or interest rate modeling.
- forward(src, trg, teacher_forcing_ratio=0.5)[source]
Forward pass of the Seq2SeqPDESolver.
- Parameters:
src (Tensor) – Source sequence representing initial/boundary conditions. Shape: (batch_size, src_seq_len, input_dim)
trg (Tensor) – Target sequence representing the expected solution trajectory. Shape: (batch_size, trg_seq_len, output_dim)
teacher_forcing_ratio (float) – Probability of using teacher forcing during training.
- Returns:
Predicted solution trajectory. Shape: (batch_size, trg_seq_len, output_dim)
- Return type:
Tensor
- class torchquantlib.utils.seq2seq_pde_solver.Seq2SeqPDESolver(input_dim, hidden_dim, output_dim, num_layers=1)[source]
Bases:
ModuleSequence-to-Sequence model for solving Partial Differential Equations (PDEs).
This model uses an encoder-decoder architecture with LSTM layers to approximate solutions to PDEs. It can be used for various financial applications such as option pricing or interest rate modeling.
- __init__(input_dim, hidden_dim, output_dim, num_layers=1)[source]
Initialize the Seq2SeqPDESolver.
- Parameters:
input_dim (int) – Dimension of the input features.
hidden_dim (int) – Dimension of the hidden state in LSTM layers.
output_dim (int) – Dimension of the output (solution) at each time step.
num_layers (int) – Number of LSTM layers in both encoder and decoder.
Methods
- forward(src, trg, teacher_forcing_ratio=0.5)[source]
Forward pass of the Seq2SeqPDESolver.
- Parameters:
src (Tensor) – Source sequence representing initial/boundary conditions. Shape: (batch_size, src_seq_len, input_dim)
trg (Tensor) – Target sequence representing the expected solution trajectory. Shape: (batch_size, trg_seq_len, output_dim)
teacher_forcing_ratio (float) – Probability of using teacher forcing during training.
- Returns:
Predicted solution trajectory. Shape: (batch_size, trg_seq_len, output_dim)
- Return type:
Tensor
Attributes
- encoder
- decoder
Example Usage
import torch from torchquantlib.utils.seq2seq_pde_solver import Seq2SeqPDESolver # Define your encoder and decoder architectures encoder = YourEncoderClass(...) decoder = YourDecoderClass(...) # Initialize the Seq2SeqPDESolver pde_solver = Seq2SeqPDESolver(encoder, decoder) # Prepare your input data input_data = torch.randn(batch_size, sequence_length, input_dim) # Solve the PDE output = pde_solver(input_data)
Note
Make sure to replace YourEncoderClass and YourDecoderClass with your actual encoder and decoder implementations.
- forward(src, trg, teacher_forcing_ratio=0.5)[source]
Forward pass of the Seq2SeqPDESolver.
- Parameters:
src (Tensor) – Source sequence representing initial/boundary conditions. Shape: (batch_size, src_seq_len, input_dim)
trg (Tensor) – Target sequence representing the expected solution trajectory. Shape: (batch_size, trg_seq_len, output_dim)
teacher_forcing_ratio (float) – Probability of using teacher forcing during training.
- Returns:
Predicted solution trajectory. Shape: (batch_size, trg_seq_len, output_dim)
- Return type:
Tensor