def evolvets(rng, pop, params, simplification_interval, recorder=None,<EOL>suppress_table_indexing=False, record_gvalue_matrix=False,<EOL>stopping_criterion=None,<EOL>track_mutation_counts=False,<EOL>remove_extinct_variants=True):
import warnings<EOL>if len(params.nregions) != <NUM_LIT:0>:<EOL><INDENT>raise ValueError(<EOL>"<STR_LIT>")<EOL><DEDENT>with warnings.catch_warnings():<EOL><INDENT>warnings.simplefilter("<STR_LIT:ignore>")<EOL>params.validate()<EOL><DEDENT>if recorder is None:<EOL><INDENT>from ._fwdpy11 import NoAncientSamples<EOL>recorder = NoAncientSamples()<EOL><DEDENT>if stopping_criterion is None:<EOL><INDENT>from ._fwdpy11 import _no_stopping<EOL>stopping_criterion = _no_stopping<EOL><DEDENT>from ._fwdpy11 import MutationRegions<EOL>from ._fwdpy11 import dispatch_create_GeneticMap<EOL>from ._fwdpy11 import evolve_with_tree_sequences<EOL>pneutral = <NUM_LIT:0><EOL>mm = MutationRegions.create(pneutral, params.nregions, params.sregions)<EOL>rm = dispatch_create_GeneticMap(params.recrate, params.recregions)<EOL>from ._fwdpy11 import SampleRecorder<EOL>sr = SampleRecorder()<EOL>evolve_with_tree_sequences(rng, pop, sr, simplification_interval,<EOL>params.demography, params.mutrate_s,<EOL>mm, rm, params.gvalue,<EOL>recorder, stopping_criterion,<EOL>params.pself, params.prune_selected is False,<EOL>suppress_table_indexing, record_gvalue_matrix,<EOL>track_mutation_counts,<EOL>remove_extinct_variants)<EOL>
Evolve a population with tree sequence recording

:param rng: random number generator
:type rng: :class:`fwdpy11.GSLrng`
:param pop: A population
:type pop: :class:`fwdpy11.DiploidPopulation`
:param params: simulation parameters
:type params: :class:`fwdpy11.ModelParams`
:param simplification_interval: Number of generations between simplifications.
:type simplification_interval: int
:param recorder: (None) A temporal sampler/data recorder.
:type recorder: callable
:param suppress_table_indexing: (False) Prevents edge table indexing until end of simulation
:type suppress_table_indexing: boolean
:param record_gvalue_matrix: (False) Whether to record genetic values into :attr:`fwdpy11.Population.genetic_values`.
:type record_gvalue_matrix: boolean

The recording of genetic values into :attr:`fwdpy11.Population.genetic_values` is supprssed by default.  First, it
is redundant with :attr:`fwdpy11.DiploidMetadata.g` for the common case of mutational effects on a single trait.
Second, we save some memory by not tracking these matrices.  However, it is useful to track these data for some
cases when simulating multivariate mutational effects (pleiotropy).

.. note::
    If recorder is None,
    then :class:`fwdpy11.NoAncientSamples` will be used.