import numpy as np

class FloquetProblemParameters(object):
    """Data transfer object to hold the parameters of a Floquet problem"""
    def __init__(self,dim=None,zones=None,components=None,omega=None,t=None,decimals=10):
        self.dim = dim
        self.zones = zones
        self.components = components
        self.omega = omega
        self.t = t
        self.decimals = decimals
        
        self.k_dim = dim*zones
@@ -186,16 +186,30 @@
 ts=None,
+controls=None,
 omega=No
@@ -258,187 +258,598 @@
  dim
-%0A        self.zones = zones%0A        self.components = components%0A        self.omega = omega%0A        self.t = t%0A        self.decimals = decimals%0A        %0A        self.k_dim = dim*zones
+ # Size of the Hilbert space of the physical system%0A        self.zones = zones # Number of Brillouin zones in the extended space%0A        self.components = components # Number of frequency components of Hf%0A        self.controls = controls # Number of control parameters%0A%0A        self.omega = omega # The frequency associated with the period of the control signal, T = 2 Pi / omega%0A        self.t = t # Control duration%0A        %0A        self.decimals = decimals # Number of decimals used for internal rounding%0A        %0A        self.k_dim = dim*zones # Size of the extended Hilbert + Fourier space

add some documentation to FloquetProblemParameters