def test_rs_0(self): np.random.seed(42) df0 = np.random.normal(size=(10, 2)) sub = ss.Subspaces() sub.compute(df=df0) avd = dom.UnboundedActiveVariableDomain(sub) avm = dom.UnboundedActiveVariableMap(avd) asm.ActiveSubspaceResponseSurface(avm)
def test_fun_ubnd_int(self): np.random.seed(42) X0 = np.random.normal(size=(50,3)) f0 = np.random.normal(size=(50,1)) df0 = np.random.normal(size=(50,3)) sub = ss.Subspaces() sub.compute(df=df0) sub.partition(1) avd = dom.UnboundedActiveVariableDomain(sub) avm = dom.UnboundedActiveVariableMap(avd) mu, lb, ub = asi.integrate(self.quad_fun, avm, 10)
def test_unbounded_active_variable_map_1(self): np.random.seed(42) df0 = np.random.normal(size=(10, 3)) sub = ss.Subspaces() sub.compute(df=df0) m, n = sub.W1.shape uavd = dom.UnboundedActiveVariableDomain(sub) uavm = dom.UnboundedActiveVariableMap(uavd) X = np.random.normal(size=(100, m)) Y, Z = uavm.forward(X) X0 = np.dot(Y, sub.W1.T) + np.dot(Z, sub.W2.T) np.testing.assert_almost_equal(X0, X)
def test_rs_ubnd_2d_int(self): np.random.seed(42) X0 = np.random.normal(size=(50,3)) f0 = np.random.normal(size=(50,1)) df0 = np.random.normal(size=(50,3)) sub = ss.Subspaces() sub.compute(df=df0) sub.partition(2) avd = dom.UnboundedActiveVariableDomain(sub) avm = dom.UnboundedActiveVariableMap(avd) asrs = asm.ActiveSubspaceResponseSurface(avm) asrs.train_with_data(X0, f0) I = asi.av_integrate(asrs, avm, 10)
def test_unbounded_active_variable_map_3(self): np.random.seed(42) df0 = np.random.normal(size=(10, 3)) sub = ss.Subspaces() sub.compute(df=df0) m, n = sub.W1.shape uavd = dom.UnboundedActiveVariableDomain(sub) uavm = dom.UnboundedActiveVariableMap(uavd) X = np.random.normal(size=(100, m)) Y, Z = uavm.forward(X) X0 = uavm.inverse(Y, N=10)[0] np.testing.assert_almost_equal(np.dot(X0, sub.W1), np.kron(Y, np.ones((10, 1))))
def test_rs_data_train_pr_ubnd(self): np.random.seed(42) X0 = np.random.normal(size=(50, 3)) f0 = np.random.normal(size=(50, 1)) df0 = np.random.normal(size=(50, 3)) sub = ss.Subspaces() sub.compute(df=df0) avd = dom.UnboundedActiveVariableDomain(sub) avm = dom.UnboundedActiveVariableMap(avd) pr = rs.PolynomialApproximation() asrs = asm.ActiveSubspaceResponseSurface(avm, respsurf=pr) asrs.train_with_data(X0, f0) XX = np.random.normal(size=(10, 3)) ff, dff = asrs.predict(XX, compgrad=True)
def test_rs_fun_train_pr_ubnd(self): np.random.seed(42) X0 = np.random.normal(size=(50, 3)) f0 = np.random.normal(size=(50, 1)) df0 = np.random.normal(size=(50, 3)) sub = ss.Subspaces() sub.compute(df=df0) avd = dom.UnboundedActiveVariableDomain(sub) avm = dom.UnboundedActiveVariableMap(avd) asrs = asm.ActiveSubspaceResponseSurface(avm) asrs.train_with_interface(self.quad_fun, 10) XX = np.random.normal(size=(10, 3)) ff, dff = asrs.predict(XX, compgrad=True)
def test_rs_data_train_gp_ubnd_2d(self): np.random.seed(42) X0 = np.random.normal(size=(50, 3)) f0 = np.random.normal(size=(50, 1)) df0 = np.random.normal(size=(50, 3)) sub = ss.Subspaces() sub.compute(df=df0) sub.partition(2) avd = dom.UnboundedActiveVariableDomain(sub) avm = dom.UnboundedActiveVariableMap(avd) asrs = asm.ActiveSubspaceResponseSurface(avm) asrs.train_with_data(X0, f0) XX = np.random.normal(size=(10, 3)) ff, dff = asrs.predict(XX, compgrad=True)
def test_rs_ubnd_2d_int(self): np.random.seed(42) X0 = np.random.normal(size=(50,3)) f0 = np.zeros((50,1)) df0 = np.zeros((50,3)) for i in range(50): x = X0[i,:] f0[i,0] = self.quad_fun(x) df0[i,:] = self.quad_dfun(x).reshape((3, )) sub = ss.Subspaces() sub.compute(df=df0) sub.partition(2) avd = dom.UnboundedActiveVariableDomain(sub) avm = dom.UnboundedActiveVariableMap(avd) asrs = asm.ActiveSubspaceResponseSurface(avm) asrs.train_with_data(X0, f0) xstar, fstar = aso.minimize(asrs, X0, f0)