'Create a new object, don\'t allow direct instances.'

def __new__(cls, *system, **kwargs):

    if (cls is LinearTimeInvariant):
        raise NotImplementedError('The    LinearTimeInvariant    class    is    not    meant    to    be    used    directly,    use    `lti`    or    `dlti`    instead.')
    return super(LinearTimeInvariant, cls).__new__(cls)
