def test_memory_region_safety(): op = NumpyMatrixOperator(np.eye(1)) rhs = op.range.make_array(np.array([1])) m = StationaryModel(op, rhs) m.enable_caching('memory') U = m.solve() del U[:] U = m.solve() assert len(U) == 1 del U[:] U = m.solve() assert len(U) == 1
def reconstruct_solution(gq, lq, bases, silent=True): # Berechne reduzierte Loesung anhand gegebener Basis if not silent: print("reconstructing solution") op = gq["op"] rhs = gq["rhs"] localizer = gq["localizer"] spaces = gq["spaces"] operator_reductor = LRBOperatorProjection(op, rhs, localizer, spaces, bases, spaces, bases) rop = operator_reductor.get_reduced_operator() rrhs = operator_reductor.get_reduced_rhs() rd = StationaryModel(rop, rrhs, cache_region=None) ru = operator_reductor.reconstruct_source(rd.solve()) return ru