Blurb::
Activate adaptive procedure for determining best rank representation
Description::
The adaptive algorithm proceeds as follows:


1. Start from rank ``start_rank`` and form an approximation
2. Adapt the current approximation by searching for a solution with lower rank that achieves L2 accuracy within epsilon tolerance of the reference.
3. If a lower rank solution is found with comparable accuracy, then stop.  If not, increase the rank by an amount specified by ``kick_rank``.
4. Return to step 2 and continue until either ``max_rank`` is reached or a converged rank (rank less than current reference with comparable accuracy) is found.

*Default Behavior*

No cross validation for rank.
Topics::
Examples::
This example shows specification of a rank adaptation starting at rank 2,
incrementing by 2, and limited at rank 10.

.. code-block::

    model,
     id_model = 'FT'
     surrogate global function_train
       start_order = 5
       adapt_rank  start_rank = 2  kick_rank = 2  max_rank = 10
       solver_tolerance   = 1e-12
       rounding_tolerance = 1e-12
     dace_method_pointer = 'SAMPLING'


Note that ``adapt_rank`` and ``adapt_order`` can either be combined or
used separately.
Theory::
Faq::
See_Also::
