Exemplo n.º 1
0
def _model_to_settings(X, in_grid_config, in_regularization_config,
                       in_solver_config, in_final_solver_config,
                       in_adaptivity_config):
    grid_config = RegularGridConfiguration()
    grid_config.dim_ = X.shape[1]
    grid_config.level_ = in_grid_config.level
    grid_config.type_ = in_grid_config.type  #6 = ModLinear
    grid_config.t_ = in_grid_config.T

    adaptivity_config = AdpativityConfiguration()
    adaptivity_config.numRefinements_ = in_adaptivity_config.num_refinements
    if adaptivity_config.numRefinements_ == 0:
        adaptivity_config.noPoints_ = 0
        adaptivity_config.percent_ = 0
        adaptivity_config.threshold_ = 0
    else:
        adaptivity_config.noPoints_ = in_adaptivity_config.no_points
        adaptivity_config.percent_ = in_adaptivity_config.percent
        adaptivity_config.threshold_ = in_adaptivity_config.treshold

    solver_config = SLESolverConfiguration()
    solver_config.type_ = in_solver_config.type
    solver_config.maxIterations_ = in_solver_config.max_iterations
    solver_config.eps_ = in_solver_config.epsilon
    solver_config.threshold_ = in_solver_config.threshold

    final_solver_config = SLESolverConfiguration()
    final_solver_config.type_ = in_final_solver_config.type
    final_solver_config.maxIterations_ = in_final_solver_config.max_iterations
    final_solver_config.eps_ = in_final_solver_config.epsilon
    final_solver_config.threshold_ = in_solver_config.threshold

    regularization_config = RegularizationConfiguration()
    regularization_config.exponentBase_ = in_regularization_config.exponent_base
    regularization_config.regType_ = in_regularization_config.type
    regularization_config.lambda_ = in_regularization_config.lambda_reg
    regularization_config.l1Ratio_ = in_regularization_config.l1_ratio

    return grid_config, adaptivity_config, solver_config, final_solver_config, regularization_config
Exemplo n.º 2
0
numDims = 6
level = 4
refnums = 0
consistentGrid = False
# candidateSearchAlgorithm = MakePositiveCandidateSearchAlgorithm_FullGrid
# candidateSearchAlgorithm = MakePositiveCandidateSearchAlgorithm_Intersections
candidateSearchAlgorithm = MakePositiveCandidateSearchAlgorithm_IntersectionsJoin
# candidateSearchAlgorithm = MakePositiveCandidateSearchAlgorithm_HybridFullIntersections
# interpolationAlgorithm = MakePositiveInterpolationAlgorithm_InterpolateBoundaries1d
interpolationAlgorithm = MakePositiveInterpolationAlgorithm_SetToZero
plot = True
verbose = True
code = "c++"

gridConfig.dim_ = numDims
gridConfig.level_ = level
gridConfig.maxDegree_ = level + 1

mu = np.ones(numDims) * 0.5
cov = np.diag(np.ones(numDims) * 0.1 / 10.)

dist = J([Normal(0.5, 1. / 16., 0, 1)] * numDims)
# dist = MultivariateNormal(mu, cov, 0, 1)  # problems in 3d/l2
# dist = J([Beta(5, 4, 0, 1)] * numDims)  # problems in 5d/l3
# dist = J([Lognormal(0.2, 0.7, 0, 1)] * numDims)  # problems in 5d/l3

trainSamples = dist.rvs(1000)
testSamples = dist.rvs(1000)

# plot analytic density
if numDims == 2 and plot: