def param_control_2(variables3): ll_vars = NullVariables() @jax.jit def e(p, t): q = p[1] return jnp.array([[1., 0.], [q, 0.]]) @jax.jit def a(p, t): q = p[1] return jnp.array([[-1., 0.], [-q, 1.]]) @jax.jit def b(p, t): q = p[1] return jnp.array([[1.], [q]]) @jax.jit def c(p, t): return jnp.identity(2) @jax.jit def d(p, t): return np.array([[0.]]) @jax.jit def f(p, t): return np.array([0., 0.]) return LinearParameterControlSystem(ll_vars, *variables3, e, a, b, c, d, f)
def param_control_3(variables3, request): fix_p = request.param ll_vars = NullVariables() @jax.jit def e(p, t): q = p[1] return jnp.array([[1., 0.], [q, 0.]]) @jax.jit def a(p, t): q = p[1] return jnp.array([[-1., 0.], [-q, 1.]]) @jax.jit def b(p, t): q = p[1] return jnp.array([[1.], [q]]) @jax.jit def c(p, t): return jnp.identity(2) @jax.jit def d(p, t): return jnp.array([[0.]]) @jax.jit def f(p, t): q_0 = p[0] q = p[1] return jnp.array([1., q + fix_p + q_0]) return LinearParameterControlSystem(ll_vars, *variables3, e, a, b, c, d, f)
def param_control(variables2): ll_vars = NullVariables() def e(p, t): return np.array([[1.]]) def a(p, t): return np.array([[-1.]]) def b(p, t): return np.array([[1.]]) def c(p, t): return np.array([[1.]]) def d(p, t): return np.array([[0.]]) def f(p, t): return np.array([0.]) return LinearParameterControlSystem(ll_vars, *variables2, e, a, b, c, d, f)
def param_vars(): states = StateVariablesContainer(2) domain = RNDomain(1) parameters = ParameterContainer(1, domain) null_vars = NullVariables() return null_vars, parameters, states
def variables(): domain = RNDomain(1) parameters = ParameterContainer(1, domain) state_input = InputStateVariables(n_states=2, m_inputs=1) null_vars = NullVariables() return null_vars, parameters, state_input
def nlsq_2(nlsq_obj_2, variables3): variables = (variables3[1], NullVariables(), variables3[0]) return NonLinearLeastSquares(nlsq_obj_2, *variables)
def nlsq_3(nlsq_obj_3, variables2): variables = (variables2[1], NullVariables(), variables2[0]) return NonLinearLeastSquares(nlsq_obj_3, *variables)
def nlsq_obj_3(f_nlsq_3, variables2): variables = (variables2[1], NullVariables(), variables2[0]) return optimization.objectives.NonLinearLeastSquares(*variables, f_nlsq_3)
def nlsq_obj_2(f_nlsq_2, variables3): variables = (variables3[1], NullVariables(), variables3[0]) return optimization.objectives.NonLinearLeastSquares(*variables, f_nlsq_2)
def mloc_object(self, opt): optimizations = [opt[0], opt[0]] variableslist = [NullVariables(), NullVariables()] mloc = MultiLevelOptimalControl(optimizations, variableslist) return mloc