From 1b8e0bd54eef619c215dc2eaca8959d89a0e225f Mon Sep 17 00:00:00 2001 From: Simon Rohou Date: Thu, 22 Oct 2026 13:37:20 +0200 Subject: [PATCH 1/4] [doc] manual related to tubes and trajectories --- .../functions/analytic/analytic_operators.rst | 2 + doc/manual/manual/tools/index.rst | 1 - doc/manual/manual/tools/serialization.rst | 5 +- doc/manual/manual/tubes/analytictraj.rst | 102 +++++ doc/manual/manual/tubes/data.csv | 4 + doc/manual/manual/tubes/index.rst | 73 ++- doc/manual/manual/tubes/sampledtraj.rst | 144 ++++++ doc/manual/manual/tubes/slice.rst | 119 +++++ doc/manual/manual/tubes/slicedtube.rst | 70 ++- doc/manual/manual/tubes/src.cpp | 417 +++++++++++++++++- doc/manual/manual/tubes/src.py | 346 ++++++++++++++- doc/manual/manual/tubes/tdomain.rst | 38 +- doc/manual/manual/tubes/trajectory_io.rst | 75 ++++ .../manual/tubes/trajectory_operations.rst | 190 ++++++++ doc/manual/manual/tubes/tube_examples.rst | 159 +++++++ 15 files changed, 1625 insertions(+), 120 deletions(-) create mode 100644 doc/manual/manual/tubes/analytictraj.rst create mode 100644 doc/manual/manual/tubes/data.csv create mode 100644 doc/manual/manual/tubes/sampledtraj.rst create mode 100644 doc/manual/manual/tubes/slice.rst create mode 100644 doc/manual/manual/tubes/trajectory_io.rst create mode 100644 doc/manual/manual/tubes/trajectory_operations.rst create mode 100644 doc/manual/manual/tubes/tube_examples.rst diff --git a/doc/manual/manual/functions/analytic/analytic_operators.rst b/doc/manual/manual/functions/analytic/analytic_operators.rst index 2539a344f..06333a20b 100644 --- a/doc/manual/manual/functions/analytic/analytic_operators.rst +++ b/doc/manual/manual/functions/analytic/analytic_operators.rst @@ -350,6 +350,8 @@ Temporal operations for involving trajectories or tubes in analytic expressions ); +For a detailed example using ``SampledTraj.as_function()`` and information on pointwise ``AnalyticFunction.traj_eval(...)``, see :ref:`sec-trajectories-operations`. + Direct use of operators ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/doc/manual/manual/tools/index.rst b/doc/manual/manual/tools/index.rst index 86f6b4682..c6fe0617c 100644 --- a/doc/manual/manual/tools/index.rst +++ b/doc/manual/manual/tools/index.rst @@ -9,5 +9,4 @@ Tools serialization.rst registration.rst octasym.rst - sampled_traj_npz.rst threading.rst \ No newline at end of file diff --git a/doc/manual/manual/tools/serialization.rst b/doc/manual/manual/tools/serialization.rst index b93c3b5bd..d67ae973b 100644 --- a/doc/manual/manual/tools/serialization.rst +++ b/doc/manual/manual/tools/serialization.rst @@ -18,10 +18,13 @@ The serialization system currently supports: - Built-in types (*e.g.*, ``int``, ``double``, ``float``) that are *trivially copyable*. The raw memory of the variables is directly written to or read from the stream ; - ``Interval`` objects ; - Matrix structures such as ``[Interval]Matrix``, ``[Interval]Vector``, and ``[Interval]Row``, with either scalar or ``Interval`` elements ; -- Any ``SampledTraj`` objects, as long as ``serialize`` functions are defined for type ``T``. +- Any ``SampledTraj`` objects, as long as ``serialize`` functions are defined for type ``T`` (see :ref:`sec-trajectories-sampledtraj`). All functions assume that the given streams are open and valid for the requested operation. +``AnalyticTraj`` is not listed among the supported serialized types: sample an analytic trajectory to a ``SampledTraj`` if you need to save discrete values (the defining analytic expression will not be preserved). +For trajectory-specific examples (including ``.npz`` and CSV), see :ref:`sec-trajectories-io`. + Example of use -------------- diff --git a/doc/manual/manual/tubes/analytictraj.rst b/doc/manual/manual/tubes/analytictraj.rst new file mode 100644 index 000000000..6c749f97a --- /dev/null +++ b/doc/manual/manual/tubes/analytictraj.rst @@ -0,0 +1,102 @@ +.. _sec-trajectories-analytictraj: + +Analytic trajectories +===================== + + Main author: `Simon Rohou `_ + +``AnalyticTraj`` represents a trajectory defined by a function of time rather than by stored samples. It combines a temporal domain and an ``AnalyticFunction`` with one scalar input. + +Construction +------------ + +Define a ``ScalarVar`` for time, create an ``AnalyticFunction`` and pass the domain before the function to ``AnalyticTraj``. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-analytic-create-beg] + :end-before: [traj-analytic-create-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-analytic-create-beg] + :end-before: [traj-analytic-create-end] + :dedent: 4 + +Evaluation +---------- + +``x(t)`` evaluates the function at a given time. ``x([a,b])`` computes an interval enclosure over the time interval using, by default, the intersection of the natural and centered forms to reduce overestimation. If the centered form is unavailable, only the natural evaluation is used. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-analytic-eval-beg] + :end-before: [traj-analytic-eval-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-analytic-eval-beg] + :end-before: [traj-analytic-eval-end] + :dedent: 4 + +Sampling +-------- + +``sampled(dt)`` constructs a ``SampledTraj`` at regular instants, including the final time. The resulting interpolation is generally different from the original analytic function between samples. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-analytic-sampled-beg] + :end-before: [traj-analytic-sampled-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-analytic-sampled-beg] + :end-before: [traj-analytic-sampled-end] + :dedent: 4 + +Other operations +---------------- + +``tdomain()``, ``codomain()``, ``size()`` and ``truncate_tdomain()`` provide the usual trajectory properties. ``sampled_as(reference)`` evaluates at the reference timestamps. ``as_function()`` embeds the trajectory into an analytic expression. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-analytic-advanced-beg] + :end-before: [traj-analytic-advanced-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-analytic-advanced-beg] + :end-before: [traj-analytic-advanced-end] + :dedent: 4 + +For numerical integration with ``primitive(dt)``, see :doc:`trajectory_operations`. An analytic trajectory may also initialize a :doc:`slicedtube`. Its symbolic expression is not serialized directly. See :doc:`trajectory_io`. diff --git a/doc/manual/manual/tubes/data.csv b/doc/manual/manual/tubes/data.csv new file mode 100644 index 000000000..c2a846cd9 --- /dev/null +++ b/doc/manual/manual/tubes/data.csv @@ -0,0 +1,4 @@ +t;value +0;1.5 +1;2. +2;2.5 diff --git a/doc/manual/manual/tubes/index.rst b/doc/manual/manual/tubes/index.rst index e1baee6dc..489fe0b00 100644 --- a/doc/manual/manual/tubes/index.rst +++ b/doc/manual/manual/tubes/index.rst @@ -1,66 +1,61 @@ .. _sec-domains-tubes: +.. _sec-domains-tubes-trajectories: -Tubes -===== +Tubes & Trajectories +==================== Main author: `Simon Rohou `_ -Introduction ------------- +Codac provides trajectories to represent time-dependent values and tubes to represent time-dependent sets. -A tube is a set of trajectories. More precisely, if :math:`\mathcal{F}(\mathbb{R}\to\mathbb{R}^n)` denotes the set of trajectories with values in :math:`\mathbb{R}^n`, a tube :math:`\mathbb{X}(\cdot)` is a set-valued map +| A trajectory :math:`x(\cdot):[t_0,t_f]\rightarrow\mathbb{R}^n` associates a single value with each time. +| A tube is a set-valued function defined as .. math:: - \mathbb{X}(\cdot): \mathbb{R} \to \mathcal{P}(\mathbb{R}^n) + [x](\cdot):[t_0,t_f]\rightarrow\mathcal{P}(\mathbb{R}^n), -such that +where :math:`\mathcal{P}(\mathbb{R}^n)` denotes the power set of :math:`\mathbb{R}^n`. In Codac, these sets are represented by a configurable domain type, such as a box or a polygon. -.. math:: - \mathbf{x}(\cdot)\in\mathbb{X}(\cdot) - \;\Longleftrightarrow\; - \forall t,\ \mathbf{x}(t)\in\mathbb{X}(t). +.. _sec-trajectories: -In other words, a tube encloses trajectories pointwise in time: for every time :math:`t`, the value :math:`\mathbf{x}(t)` must belong to the set :math:`\mathbb{X}(t)`. This definition is intentionally general. It does not encode additional temporal information such as continuity, monotonicity, or derivative constraints. Such properties may be handled separately, for instance by contractors or by combining several tubes. +Trajectories +------------ -This point of view naturally extends interval and box representations. In the most common cases, :math:`\mathbb{X}(t)` is an interval, a box, or a matrix of intervals, but in principle it may be any codomain type for which suitable set operations are available. +Two representations are available. ``SampledTraj`` stores time/value samples and interpolates linearly between them, while ``AnalyticTraj`` evaluates expressions of time through an ``AnalyticFunction``. Both support scalar, vector and matrix trajectories. -In Codac C++, this generality is reflected by the template ``SlicedTube``. In principle, ``T`` can be any codomain type compatible with the sliced-tube algorithms. -The library naturally provides and primarily uses: +Trajectories are intended to represent approximations of solutions or measured signals. Guaranteed computations involving time-dependent quantities rely on tubes to account for uncertainties. -* ``SlicedTube``, -* ``SlicedTube``, -* ``SlicedTube``. +.. toctree:: + :maxdepth: 1 -These are the most common tube types in practice. In Python and Matlab, only these standard sliced-tube classes are currently exposed through the bindings. -In C++, instantiations such as ``SlicedTube`` are allowed, provided the required tube operations are available for that domain. + sampledtraj + analytictraj + trajectory_operations + trajectory_io -This chapter documents the *sliced tube* implementation currently available in Codac. In this implementation, a tube is represented over an explicit temporal partition stored in a :class:`~codac.TDomain`. Each temporal element is a :class:`~codac.TSlice`, and each application-level value over one temporal element is represented by a :class:`~codac.Slice`. The main user-facing object is therefore a :class:`~codac.SlicedTube`. -.. figure:: ./tube_slices.png - :width: 70% - - An example of sliced tube :math:`[x](\cdot)`, as implemented in Codac. The tube is made as a list of interval or box slices. In practice, the sampling :math:`\delta` is not necessarily constant. +Tubes +----- -Compared with the previous Codac v1 implementation, these tubes are not only functions of time: they also have shared data structures built on a common temporal partition. Refining the time partition of one tube may therefore update the internal slice structure of all tubes attached to the same :class:`~codac.TDomain`. This design is central to the current implementation. It simplifies the user experience: a temporal modification applied to one tube is implicitly propagated to the others, so multi-tube operations such as arithmetic combinations or contractions can still be performed easily on a consistent shared time basis. +A ``SlicedTube`` represents a tube over a temporal partition :class:`~codac.TDomain`. Each time element is a :class:`~codac.TSlice`, with an associated :class:`~codac.Slice` for each tube. Several tubes may share one temporal partition, so refining it also updates the structure of the other tubes. -Conceptually, the data model is: +The principal codomains are ``Interval``, ``IntervalVector`` and ``IntervalMatrix``, which represent scalar, vector and matrix sliced tubes. For these sliced tubes, contractors can reduce the enclosures using observations and dynamical constraints without discarding feasible trajectories, making them particularly useful for guaranteed state estimation. -.. code-block:: text +.. figure:: ./tube_slices.png + :width: 70% - TDomain - ├── TSlice #0 ----> Slice for tube x - │ └-> Slice for tube y - ├── TSlice #1 ----> Slice for tube x - │ └-> Slice for tube y - └── ... - + A sliced tube :math:`[x](\cdot)`, represented by interval enclosures over a temporal partition. -This chapter is organized as follows: +C++ also supports compatible custom codomains, such as ``ConvexPolygon`` or ``Ellipsoid``. .. toctree:: - :maxdepth: 1 + :maxdepth: 1 + + tdomain + slice + slicedtube + tube_examples - tdomain - slicedtube \ No newline at end of file +See also :ref:`sec-tools-serialization` and :doc:`../visualization/functions`. diff --git a/doc/manual/manual/tubes/sampledtraj.rst b/doc/manual/manual/tubes/sampledtraj.rst new file mode 100644 index 000000000..a6c0205ce --- /dev/null +++ b/doc/manual/manual/tubes/sampledtraj.rst @@ -0,0 +1,144 @@ +.. _sec-trajectories-reference: +.. _sec-trajectories-sampledtraj: + +Sampled trajectories +==================== + + Main author: `Simon Rohou `_ + +``SampledTraj`` stores time/value pairs :math:`(t_i,x_i)` with distinct, ordered timestamps. Between samples, the trajectory is linearly interpolated: + +.. math:: + + x(t)=x_i+\frac{t-t_i}{t_{i+1}-t_i}(x_{i+1}-x_i),\qquad t\in[t_i,t_{i+1}]. + +The codomain ``T`` can be a real, a vector or a matrix. In both C++ and Python, the value type of ``SampledTraj`` can be inferred from the constructor arguments. + +Construction +------------ + +Create a sampled trajectory with ``set(value,time)`` or from a map of samples. Assigning a value at an existing timestamp replaces the previous one. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-sampled-create-beg] + :end-before: [traj-sampled-create-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-sampled-create-beg] + :end-before: [traj-sampled-create-end] + :dedent: 4 + +Evaluation and properties +------------------------- + +``x(t)`` interpolates at a scalar time. ``x([a,b])`` returns the interval hull of the interpolant over :math:`[a,b]`. ``tdomain()`` and ``codomain()`` give the temporal domain and the hull of the values. ``nb_samples()`` counts timestamps, whereas ``size()`` gives the codomain dimension. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-sampled-eval-beg] + :end-before: [traj-sampled-eval-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-sampled-eval-beg] + :end-before: [traj-sampled-eval-end] + :dedent: 4 + +Accessing samples and components +-------------------------------- + +Iteration returns the stored pairs :math:`(t_i,x_i)` in time order. For a vector trajectory, ``x[i]`` extracts a scalar component and ``subvector(i,j)`` extracts consecutive components. In C++, ``as_scalar_trajs()`` returns all scalar components. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-sampled-iterate-beg] + :end-before: [traj-sampled-iterate-end] + :dedent: 4 + + .. literalinclude:: src.py + :language: python + :start-after: [traj-sampled-components-beg] + :end-before: [traj-sampled-components-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-sampled-iterate-beg] + :end-before: [traj-sampled-iterate-end] + :dedent: 4 + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-sampled-components-beg] + :end-before: [traj-sampled-components-end] + :dedent: 4 + +Sampling +-------- + +``sampled(dt)`` adds samples on a regular temporal grid, retaining original samples by default. Set ``keep_original_values=False`` to keep only the requested grid. ``sampled_as(reference)`` evaluates the trajectory at the timestamps of another ``reference`` trajectory. In C++, ``same_sampling()`` checks whether two trajectories share the same timestamps. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-sampled-grid-beg] + :end-before: [traj-sampled-grid-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-sampled-grid-beg] + :end-before: [traj-sampled-grid-end] + :dedent: 4 + +Changing the time domain +------------------------ + +``truncate_tdomain([a,b])`` restricts the domain and inserts interpolated values at its endpoints. ``shift_tdomain(dt)`` translates timestamps. ``stretch_tdomain([a,b])`` rescales them to a new temporal domain. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-sampled-time-beg] + :end-before: [traj-sampled-time-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-sampled-time-beg] + :end-before: [traj-sampled-time-end] + :dedent: 4 + +See also: :doc:`trajectory_operations` and :doc:`trajectory_io`. diff --git a/doc/manual/manual/tubes/slice.rst b/doc/manual/manual/tubes/slice.rst new file mode 100644 index 000000000..c601668de --- /dev/null +++ b/doc/manual/manual/tubes/slice.rst @@ -0,0 +1,119 @@ +.. _sec-domains-slice: + +The Slice and TSlice classes +============================ + + Main author: `Simon Rohou `_ + +At the implementation level, sliced tubes are built from two complementary classes: + +* :class:`~codac.TSlice`, which stores one temporal support, +* :class:`~codac.Slice`, which stores one codomain over that support for one given tube. + +TSlice: one temporal element shared by all tubes +------------------------------------------------ + +A :class:`~codac.TSlice` inherits from :class:`~codac.Interval` and represents one temporal interval in a :class:`~codac.TDomain`. It may be a regular slice :math:`[t_i,t_{i+1}]` or a gate :math:`[t_i,t_i]`. It also stores the map from ``SlicedTubeBase*`` to the corresponding :class:`~codac.SliceBase` objects. In other words, a ``TSlice`` is the shared temporal node to which all tube-specific slices are attached. + +The method ``is_gate()`` simply checks whether the temporal interval is degenerate. The method ``slices()`` provides access to the attached codomain slices. + +Slice: one codomain over one temporal support +--------------------------------------------- + +A :class:`~codac.Slice` is the codomain carried by one sliced tube over one temporal interval. The codomain type is typically :class:`~codac.Interval` or :class:`~codac.IntervalVector`, and the class uses protected inheritance from this codomain type so that updates can be controlled and, if necessary, propagated to adjacent gates. + +Each slice knows: + +* its parent tube, +* its temporal interval ``t0_tf()``, +* its previous and next slices, +* its codomain, +* whether its temporal support is a gate. + +Input and output gates +---------------------- + +A central concept in the current implementation is the distinction between the *interior codomain* of a slice and its *endpoint values*. For a non-gate slice, endpoint values are obtained through + +* ``input_gate()`` +* ``output_gate()`` + +If an explicit neighboring gate exists, its codomain is used. Otherwise, the endpoint enclosure is the intersection of adjacent slice codomains. This is what makes endpoint evaluation meaningful even when gates are not explicitly represented. + +Without explicit gates, evaluating a tube at a slice boundary returns the intersection of the neighboring slice values. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [slice-endpoint-example-beg] + :end-before: [slice-endpoint-example-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [slice-endpoint-example-beg] + :end-before: [slice-endpoint-example-end] + :dedent: 4 + + +Evaluation and inversion at slice level +--------------------------------------- + +A scalar or vector slice can be evaluated with: + +* ``s(t)`` at one time, +* ``s([ta,tb])`` over a temporal interval. + +At the lower bound, evaluation returns the input gate. At the upper bound, it returns the output gate. Inside the slice, it returns the interior codomain. Outside the temporal support, it returns the unbounded codomain value. + +The inversion API mirrors this structure: + +* ``invert(y, t)`` computes a local inverse image, +* ``invert(y, v, t)`` uses a derivative slice for a sharper inverse image. + +The following example illustrates inversion over a selected temporal interval. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [slice-invert-example-beg] + :end-before: [slice-invert-example-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [slice-invert-example-beg] + :end-before: [slice-invert-example-end] + :dedent: 4 + + +Derivative-aware polygonal model +-------------------------------- + +For scalar codomains, and componentwise for vector codomains, a slice can build a polygonal enclosure from: + +* its temporal support, +* its input and output gates, +* a derivative slice. + +This is exposed by: + +* ``polygon_slice(v)`` for scalar slices, +* ``polygon_slice_i(v, i)`` for vector slices. + +This polygonal enclosure is used in derivative-aware evaluation and inversion. + +Enclosed bounds +--------------- + +The method ``enclosed_bounds(t)`` returns a pair of codomain objects whose components enclose the reachable lower and upper bounds over the queried temporal interval. This is useful when you want more structural information than the plain union returned by a simple evaluation. diff --git a/doc/manual/manual/tubes/slicedtube.rst b/doc/manual/manual/tubes/slicedtube.rst index 01c21cbac..3720bbee0 100644 --- a/doc/manual/manual/tubes/slicedtube.rst +++ b/doc/manual/manual/tubes/slicedtube.rst @@ -1,18 +1,19 @@ +.. _sec-domains-tubes-io: +.. _sec-domains-tubes-reference: .. _sec-domains-tubes-slicedtube: -The SlicedTube class -==================== +Sliced tubes +============ Main author: `Simon Rohou `_ -A :class:`~codac.SlicedTube` is a tube defined over a shared :class:`~codac.TDomain`. -For each temporal slice stored in the temporal partition, the tube owns one :class:`~codac.Slice` object storing its codomain over that temporal support. The codomain type is typically :class:`~codac.Interval` or :class:`~codac.IntervalVector`, or any domain type defined by the user. The same temporal domain can be shared by many tubes. +A :class:`~codac.SlicedTube` is a tube defined over a shared :class:`~codac.TDomain`. For each temporal slice stored in the temporal partition, the tube owns one :class:`~codac.Slice` object storing its codomain over that temporal support. The codomain type is typically :class:`~codac.Interval` or :class:`~codac.IntervalVector`, or any domain type defined by the user. The same temporal domain can be shared by many tubes. Creating sliced tubes --------------------- -In Codac C++, :class:`~codac.SlicedTube` is a generic class template ``SlicedTube``. The codomain type ``T`` is not restricted to intervals or boxes: in principle, any domain type compatible with the sliced-tube API can be used. +In C++, :class:`~codac.SlicedTube` is a generic class template ``SlicedTube``. The codomain type ``T`` is not restricted to intervals or boxes: in principle, any domain type compatible with the sliced-tube API can be used. In practice, the most common sliced-tube types are: @@ -24,6 +25,8 @@ These standard tube types are also the ones exposed in the Python and Matlab bin In C++, template argument deduction is available for the constructors based on the arguments. In the examples below, comments make the deduced type explicit when useful. +For analytic and sampled trajectories, see :ref:`sec-trajectories`. For conversions and evaluations with analytic functions, see :ref:`sec-trajectories-operations`. + A sliced tube can be created from: * a constant codomain, @@ -50,6 +53,27 @@ A sliced tube can be created from: :dedent: 4 +A ``SlicedTube`` can also enclose a ``SampledTraj`` on a chosen temporal partition. To represent an uncertain physical signal, inflate it by a justified uncertainty bound. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [tube-parity-input-beg] + :end-before: [tube-parity-input-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [tube-parity-input-beg] + :end-before: [tube-parity-input-end] + :dedent: 4 + + .. figure:: interval_trajs.png :width: 70% @@ -62,7 +86,6 @@ Basic properties A sliced tube exposes: * ``size()`` for the codomain dimension, -* ``shape()`` for matrix-like codomain shapes, * ``tdomain()`` and ``t0_tf()`` from the base classes, * ``nb_slices()`` for the number of temporal elements, * ``codomain()`` for the global codomain hull, @@ -77,8 +100,7 @@ You can access the first and last slices directly: * ``first_slice()`` * ``last_slice()`` -and you can retrieve a slice from a temporal-domain iterator or from a ``TSlice`` pointer. -The class also defines custom iterators so that iterating on a ``SlicedTube`` yields application-level :class:`~codac.Slice` objects rather than raw ``TSlice`` objects. +and you can retrieve a slice from a temporal-domain iterator or from a ``TSlice`` pointer. The class also defines custom iterators so that iterating on a ``SlicedTube`` yields application-level :class:`~codac.Slice` objects rather than raw ``TSlice`` objects. .. tabs:: @@ -109,8 +131,7 @@ A sliced tube can be updated globally or locally: * ``set(codomain, [ta,tb])`` sets all temporal elements intersecting an interval, * ``set_ith_slice(codomain, i)`` sets one stored slice by index. -The key point is that local assignments may refine the underlying :class:`~codac.TDomain`. -For example, setting a value at one scalar time creates an explicit gate if necessary. Similarly, setting a value over an interval may create new temporal boundaries at the interval endpoints. +The key point is that local assignments may refine the underlying :class:`~codac.TDomain`. For example, setting a value at one scalar time creates an explicit gate if necessary. Similarly, setting a value over an interval may create new temporal boundaries at the interval endpoints. .. note:: @@ -138,7 +159,7 @@ For example, setting a value at one scalar time creates an explicit gate if nece Evaluation ---------- -A sliced tube :math:`[x](\cdot)` can be evaluated over a temporal interval :math:`[t]` with ``x(t)``. The implementation walks through all relevant temporal slices, evaluates each local slice, and unions the results. If the query interval is not included in the temporal domain, the result is the unbounded value of the codomain type (for interval tubes: :math:`[-\infty,\infty]`). +A sliced tube :math:`[x](\cdot)` can be evaluated over a temporal interval :math:`[t]` with ``x(t)``. The implementation walks through all relevant temporal slices, evaluates each local slice, and takes their interval hull. If the query interval is not included in the temporal domain, the result is the unbounded value of the codomain type (for interval tubes: :math:`[-\infty,\infty]`). When a derivative tube ``v`` is available, the overload ``x(t,v)`` uses per-slice derivative-aware evaluation and unions the resulting enclosures. This is available for ``Interval`` and ``IntervalVector`` codomain types. @@ -220,16 +241,18 @@ The following example computes the different connected components of the inversi :project: codac +.. _sec-domains-tubes-operations: + Tube operations --------------- Standard pointwise operations are available on sliced tubes and are applied slice by slice. -For two tubes, binary operators require both operands to share the same :class:`~codac.TDomain`. This makes tube expressions easy to combine once the tubes have been built on a common temporal support. +Binary operators on tubes require the same :class:`~codac.TDomain` object. This lets all operands share refinements of the temporal partition. The following operators are available: -* union and intersection: ``|`` and ``&``, +* interval hull and intersection: ``|`` and ``&``, * arithmetic operations: ``+``, ``-``, ``*``, ``/``, * in-place variants: ``|=``, ``&=``, ``+=``, ``-=``, ``*=``, ``/=``. @@ -274,6 +297,14 @@ For vector-valued codomains, pointwise arithmetic is also available. In particul :dedent: 4 +Cartesian products +------------------ + +``tube_cart_prod(x1,x2,...)`` combines scalar and vector tubes into a vector tube, provided they share the same ``TDomain``. The resulting dimension is the sum of the input dimensions. + +A short example combining scalar and vector tubes is given in :doc:`tube_examples`. + + .. _sec-domains-tubes-slicedtube-function-eval: Evaluating analytic functions on tubes @@ -285,8 +316,7 @@ An :class:`~codac.AnalyticFunction` can be evaluated on one or more sliced tubes [y]_k = [f]([x_1]_k, [x_2]_k, \ldots, [x_n]_k). -The result encloses :math:`f(x_1(t),\ldots,x_n(t))` at every time :math:`t`. -It shares the same ``TDomain`` as the input tubes, including its gates. All input tubes must share the same ``TDomain`` object, not merely have identical time bounds or discretizations. If the function is scalar-valued, ``tube_eval()`` returns a scalar tube. If it is vector-valued, ``tube_eval()`` returns a vector tube. In Python, the number of input tubes supported by ``tube_eval()`` is currently limited. All input tubes must be of the same kind (scalar or vector), whereas C++ also supports mixed types. +The result encloses :math:`f(x_1(t),\ldots,x_n(t))` at every time :math:`t`. It shares the same ``TDomain`` as the input tubes, including its gates. All input tubes must share the same ``TDomain`` object, not merely have identical time bounds or discretizations. If the function is scalar-valued, ``tube_eval()`` returns a scalar tube. If it is vector-valued, ``tube_eval()`` returns a vector tube. In Python, the number of input tubes supported by ``tube_eval()`` is currently limited. All input tubes must be of the same kind (scalar or vector), whereas C++ also supports mixed types. In the following example, a two-argument function maps heading and speed tubes to a 2D velocity tube :math:`(v_x,v_y)=(v\cos\theta,v\sin\theta)`. A second function computes its squared Euclidean norm :math:`v_x^2+v_y^2`, returning a scalar tube: @@ -308,8 +338,7 @@ In the following example, a two-argument function maps heading and speed tubes t :end-before: [slicedtube-class-function-eval-end] :dedent: 4 -Unlike ``x(t)``, which evaluates a tube at a given time, ``f.tube_eval(x)`` evaluates an analytic function on an entire tube. It does not implicitly pass time to ``f``: if time is an argument, it must be supplied as an input tube. -For functions of time alone, ``SlicedTube(tdomain, f)`` directly evaluates ``f(t)`` over the temporal slices (see `Creating sliced tubes`_). +Unlike ``x(t)``, which evaluates a tube at a given time, ``f.tube_eval(x)`` evaluates an analytic function on an entire tube. It does not implicitly pass time to ``f``: if time is an argument, it must be supplied as an input tube. For functions of time alone, ``SlicedTube(tdomain, f)`` directly evaluates ``f(t)`` over the temporal slices (see `Creating sliced tubes`_). Integration and primitives @@ -337,8 +366,7 @@ The computation is reliable even for tubes defined from analytic functions, beca Inflation, extraction, and algebraic helpers -------------------------------------------- -A sliced tube can be inflated either by a constant radius or by a time-varying -sampled radius. Inflation is performed in place. +A sliced tube can be inflated either by a constant radius or by a time-varying sampled radius. Inflation is performed in place. .. tabs:: @@ -389,4 +417,6 @@ The extracted tubes keep the same temporal partition as the original one. Involving a tube in an analytic expression ------------------------------------------ -The method ``.as_function()`` wraps a sliced tube as an analytic operator so that it can be embedded inside analytic expressions. This is a convenient bridge between the tube API and the analytic-expression API, see :ref:`the section on temporal operators ` for its use. \ No newline at end of file +The method ``.as_function()`` wraps a sliced tube as an analytic operator so that it can be embedded inside analytic expressions. This is a convenient bridge between the tube API and the analytic-expression API, see :ref:`the section on temporal operators ` for its use. + +For visualization, use ``Figure2D.plot_tube`` to display interval enclosures over time. See :doc:`../visualization/functions`. diff --git a/doc/manual/manual/tubes/src.cpp b/doc/manual/manual/tubes/src.cpp index 0eb2c62af..7dce707bb 100644 --- a/doc/manual/manual/tubes/src.cpp +++ b/doc/manual/manual/tubes/src.cpp @@ -9,6 +9,9 @@ #include #include +#include +#include +#include #include #include #include @@ -16,6 +19,10 @@ #include #include #include +#include +#include +#include +#include #include using namespace std; @@ -40,11 +47,11 @@ TEST_CASE("TDomain class - manual") size_t n = td->nb_tslices(); // 5 size_t m = td->nb_tubes(); // 0 initially - auto it = td->tslice(0.0); // [0] - it = td->tslice(0.1); // [0,0.5] - it = td->tslice(0.5); // [0.5] - it = td->tslice(0.6); // [0.5,1] - it = td->tslice(1.0); // [1] + auto it = td->tslice(0.); // [0] + it = td->tslice(0.1); // [0,0.5] + it = td->tslice(0.5); // [0.5] + it = td->tslice(0.6); // [0.5,1] + it = td->tslice(1.); // [1] // [tdomain-class-2-end] CHECK(n == 5); CHECK(m == 0); @@ -61,7 +68,7 @@ TEST_CASE("TDomain class - manual") { // [tdomain-class-4-beg] - auto td = create_tdomain({0,2}, 1.0, false); // false: without gates + auto td = create_tdomain({0,2}, 1., false); // false: without gates SlicedTube x(td, Interval(0,1)); SlicedTube v(td, Interval(-1,1)); @@ -82,7 +89,7 @@ TEST_CASE("TDomain class - manual") { // [tdomain-class-5-beg] - auto td = create_tdomain({0,3}, 1.0, false); + auto td = create_tdomain({0,3}, 1., false); SlicedTube x(td, Interval(0,1)); cout << td->nb_tubes() << endl; // 1 @@ -145,7 +152,7 @@ TEST_CASE("SlicedTube class - manual") { // [slicedtube-class-4-beg] - auto td = create_tdomain({0,3}, 1.0, false); + auto td = create_tdomain({0,3}, 1., false); SlicedTube x(td, Interval()); x.set({1,5}, {0,1}); @@ -155,12 +162,12 @@ TEST_CASE("SlicedTube class - manual") Interval y0 = x(0.5); // [1,5] Interval y1 = x(1.5); // [2,8] Interval y2 = x({0,3}); // [1,9] - Interval y3 = x(-1.0); // [-oo,oo] + Interval y3 = x(-1.); // [-oo,oo] // No explicit gates: boundary values come from adjacent-slice intersections - Interval y4 = x(1.0); // [2,5] - Interval y5 = x(2.0); // [6,8] - Interval y6 = x(3.0); // [6,9] + Interval y4 = x(1.); // [2,5] + Interval y5 = x(2.); // [6,8] + Interval y6 = x(3.); // [6,9] // [slicedtube-class-4-end] } @@ -197,7 +204,7 @@ TEST_CASE("SlicedTube class - manual") { // [slicedtube-class-6-beg] - auto td = create_tdomain({0,2}, 1.0, false); + auto td = create_tdomain({0,2}, 1., false); SlicedTube x(td, Interval(1,2)); SlicedTube y(td, Interval(-1,3)); @@ -250,7 +257,7 @@ TEST_CASE("SlicedTube class - manual") // [slicedtube-class-8-beg] x.inflate(0.2); // constant inflation - SampledTraj rad({{0.0,0.11}, {1.0,0.3}, {2.0,0.2}}); + SampledTraj rad({{0.,0.11}, {1.,0.3}, {2.,0.2}}); x.inflate(rad); // time-varying inflation radius // [slicedtube-class-8-end] } @@ -266,4 +273,384 @@ TEST_CASE("SlicedTube class - manual") // [slicedtube-class-9-end] } -} \ No newline at end of file +} + + +TEST_CASE("Trajectory classes - manual") +{ + { + // [traj-sampled-create-beg] + SampledTraj depth; + depth.set(2., 0.); + depth.set(3., 1.); + depth.set(4., 2.); + + SampledTraj position; + position.set(Vector({0,1}), 0.); + position.set({1,2}, 1.); // equivalent shorter notation + position.set({2,3}, 2.); + // [traj-sampled-create-end] + CHECK(depth.nb_samples() == 3); + CHECK(position.size() == 2); + } + + { + // [traj-sampled-eval-beg] + SampledTraj x({{0.,2.}, {1.,4.}, {2.,3.}}); + double value = x(0.5); // 3. + Interval range = x({0.5,1.5}); // [3,4] + auto sample_count = x.nb_samples(); // 3 + auto output_size = x.size(); // 1 + // [traj-sampled-eval-end] + CHECK(value == 3); + CHECK(range == Interval(3,4)); + CHECK(sample_count == 3); + CHECK(output_size == 1); + + // [traj-sampled-iterate-beg] + for(const auto& [ti, xi] : x) + std::cout << ti << " -> " << xi << std::endl; + // [traj-sampled-iterate-end] + CHECK(value == 3.); + CHECK(sample_count == 3); + CHECK(output_size == 1); + CHECK(range.contains(3.)); + } + + { + // [traj-sampled-components-beg] + SampledTraj p({{0.,{0,1,2}}, {1.,{1,2,3}}}); + auto x = p[0]; + auto yz = p.subvector(1,2); + // [traj-sampled-components-end] + CHECK(yz.size() == 2); + + } + + { + // [traj-sampled-time-beg] + SampledTraj x({{0.,0.}, {1.,1.}, {2.,0.}}); + x.truncate_tdomain({0.5,1.5}); // retains interpolated endpoints + x.shift_tdomain(10.); // time domain now [10.5,11.5] + x.stretch_tdomain({0,1}); // rescale time, not values + // [traj-sampled-time-end] + CHECK(x.tdomain() == Interval(0,1)); + } + + { + // [traj-analytic-create-beg] + ScalarVar t; + AnalyticFunction f({t}, 2*sin(t)); + AnalyticTraj traj_f({0,2}, f); // scalar trajectory + + AnalyticFunction g({t}, {cos(t), sin(t)}); + AnalyticTraj traj_g({0,2}, g); // vector trajectory + // [traj-analytic-create-end] + + // [traj-analytic-eval-beg] + double y_point = traj_f(0.5); + Interval y_interval = traj_f({0,1}); + Vector p_point = traj_g(0.5); + // [traj-analytic-eval-end] + CHECK(y_interval.contains(y_point)); + CHECK(p_point.size() == 2); + + // [traj-analytic-sampled-beg] + SampledTraj f_samples = traj_f.sampled(0.1); + SampledTraj g_samples = traj_g.sampled(0.1); + // [traj-analytic-sampled-end] + CHECK(f_samples.nb_samples() >= 20); + CHECK(g_samples.size() == 2); + } + + { + // [traj-ops-calculus-beg] + SampledTraj speed({{0.,0}, {1.,1}, {2.,2}}); + auto acceleration = speed.derivative(); // numerical derivative + auto distance = speed.primitive(); // trapezoidal integral, p(0)=0 + auto doubled_speed = 2. * speed; // pointwise arithmetic + // [traj-ops-calculus-end] + CHECK(distance(2.) == 2.); + } + + { + // [traj-ops-cartprod-beg] + SampledTraj x1({0.,1}, {0.,1}); + SampledTraj x2({0.,1}, {2.,3}); + auto x = traj_cart_prod(x1,x2); + // [traj-ops-cartprod-end] + CHECK(x.size() == 2); + + // [traj-ops-continuous-beg] + SampledTraj heading({{0.,6.1}, {1.,0.1}, {2.,0.2}}); + auto continuous_heading = continuous_traj(heading); + // [traj-ops-continuous-end] + CHECK(continuous_heading.nb_samples() == 3); + } + + { + // [traj-ops-eval-beg] + SampledTraj theta({{0.,0}, {1.,0.1}, {2.,0.2}}); + SampledTraj v({{0.,1}, {1.,2}, {2.,3}}); + ScalarVar theta_var, v_var; + AnalyticFunction f({theta_var,v_var}, {v_var*cos(theta_var), v_var*sin(theta_var)}); + auto u = f.traj_eval(theta, v); + // [traj-ops-eval-end] + CHECK(u.size() == 2); + } + + { + // [traj-ops-asfunction-beg] + SampledTraj measurements({{0.,1}, {1.,2}, {2.,1.5}}); + auto measurement_fn = measurements.as_function(); + ScalarVar t; + AnalyticFunction energy({t}, sqr(measurement_fn(t))); + auto estimated_energy = energy.eval(0.5); + // [traj-ops-asfunction-end] + } + + { + // [traj-ops-tube-beg] + ScalarVar t; + AnalyticTraj traj({0,2}, AnalyticFunction({t}, sin(t))); + auto td = create_tdomain({0,2}, 0.1); + SlicedTube tube(td, traj); + tube.inflate(0.05); // valid only if +/- 0.05 is a justified error bound + // [traj-ops-tube-end] + } + + { + // [traj-ops-serialization-beg] + SampledTraj input({{0.,1}, {1.,1.5}, {2.,2}}); + { + std::ofstream out("trajectory.cdc", std::ios::binary); + serialize(out, input); + } + SampledTraj restored; + { + std::ifstream in("trajectory.cdc", std::ios::binary); + deserialize(in, restored); + } + // [traj-ops-serialization-end] + CHECK(restored.nb_samples() == input.nb_samples()); + } +} + + +TEST_CASE("Trajectory reference - manual") +{ + { + // [traj-sampled-grid-beg] + SampledTraj x({{0.,0}, {1.,2}, {2.,0}}); + auto merged = x.sampled(0.6); // retains 0, 1 and 2 + auto regular = x.sampled(0.6, false); // only regular grid and final time + SampledTraj clock({{0.,0}, {0.5,0}, {1.5,0}, {2.,0}}); + auto aligned = x.sampled_as(clock); // x evaluated at clock's timestamps + // [traj-sampled-grid-end] + CHECK(merged.nb_samples() > regular.nb_samples()); + CHECK(aligned.nb_samples() == clock.nb_samples()); + } + { + // [traj-sampled-construct-alt-beg] + std::map samples({{0.,3}, {1.,4}, {2.,5}}); + SampledTraj x(samples); + x.set(6., 1.); // overwrites value at t=1 + SampledTraj y({0.,1.,2.}, {3,6,5}); // two std::list arguments + // [traj-sampled-construct-alt-end] + CHECK(x.nb_samples() == 3); + CHECK(x(1.) == 6.); + CHECK(y(1.) == 6.); + } + { + // [traj-analytic-advanced-beg] + ScalarVar t; + AnalyticTraj a({0,2}, AnalyticFunction({t}, sqr(t))); + auto f = a.as_function(); + AnalyticFunction g({t}, f(t)+1.); + // [traj-analytic-advanced-end] + + } + { + // [traj-ops-pointwise-beg] + SampledTraj x({{0.,0}, {1.,1}, {2.,2}}); + SampledTraj y({{0.,2}, {1.,3}, {2.,4}}); + auto sum = x + y; // pointwise at shared timestamps + auto sq = sqr(x); // square sample values, then interpolate + auto sin_x = sin(x); // not the same as t -> sin(x(t)) between samples + // [traj-ops-pointwise-end] + CHECK(sum(1.) == 4.); + CHECK(sq(1.) == 1.); + } + { + // [traj-ops-fun-vector-beg] + SampledTraj p({{0.,{3.,4}}, {1.,{0.,5}}}); + VectorVar p_var(2); + AnalyticFunction f({p_var}, sqr(p_var[0]) + sqr(p_var[1])); + auto result = f.traj_eval(p); + // [traj-ops-fun-vector-end] + CHECK(result.size() == 1); + CHECK(result(0.) == 25.); + } + { + // [traj-tubes-mid-beg] + auto td = create_tdomain({0,2}, 0.5, true); + ScalarVar t; + AnalyticTraj a({0,2}, AnalyticFunction({t}, sin(t))); + SlicedTube tube(td,a); + auto midpoint = tube.mid(); // approximate trajectory of tube midpoints + // [traj-tubes-mid-end] + CHECK(midpoint.nb_samples() > 1); + } + { + // [traj-io-csv-beg] + SampledTraj measurements; + std::ifstream csv(std::filesystem::path(__FILE__).parent_path() / "data.csv"); + std::string line; + std::getline(csv, line); // skip header + + while(std::getline(csv, line)) + { + double t, value; + if(std::sscanf(line.c_str(), "%lf;%lf", &t, &value) == 2) + measurements.set(value, t); + } + // [traj-io-csv-end] + CHECK(measurements.nb_samples() == 3); + } +} + +TEST_CASE("SlicedTube cross-reference examples - manual") +{ + { + // [tube-example-1-beg] + auto td = create_tdomain({0,3}, 1., false); + SlicedTube x(td, Interval()); // [-∞,∞] by default for any time + x.set({1,5}, {0,1}); + x.set({2,8}, {1,2}); + x.set({6,9}, {2,3}); + auto y0 = x({0,3}); + auto y1 = x(1.5); + auto y2 = x(1.); + // [tube-example-1-end] + CHECK(!y0.is_empty()); + } + { + // [tube-example-2-beg] + auto td = create_tdomain({0,1}, 0.1, false); + SlicedTube x(td, IntervalVector(3)); + auto before = td->nb_tslices(); + x.set(IntervalVector::constant(3,{2,3}), -42.); + auto after = td->nb_tslices(); // the partition was extended and refined + // [tube-example-2-end] + CHECK(after > before); + } + { + // [tube-example-3-beg] + auto td = create_tdomain({0,5}, 0.1, true); + ScalarVar t; + AnalyticFunction f({t}, 10*cos(t)+t); + SlicedTube x(td, f); // encloses f(t) over each time slice + // [tube-example-3-end] + CHECK(!x.is_empty()); + } + { + // [tube-example-4-beg] + auto td = create_tdomain({6.4,6.5}); + SlicedTube x(td, Interval(0.759,1.205)); + SlicedTube v(td, Interval(-0.216,-0.115)); + x.set(Interval(0.781,1.205), 6.4); + x.set(Interval(0.759,1.194), 6.5); + CtcDeriv ctc; + ctc.contract(x,v); + auto sx = x.first_slice(); + auto sv = v.first_slice(); + auto polygon = sx->polygon_slice(*sv); + // [tube-example-4-end] + } + { + // [tube-example-5-beg] + auto td = create_tdomain({0,2}, 0.5, true); + SlicedTube x(td, Interval(1,2)); + auto integral_at_one = x.integral(Interval(1)); + auto integral_over_range = x.integral(Interval(0.5,1.5)); + auto p = x.primitive(Interval(0)); + // [tube-example-5-end] + CHECK(!integral_at_one.is_empty()); + } + { + // [tube-example-6-beg] + auto td = create_tdomain({0,1}, 0.5, false); + SlicedTube x1(td, Interval(0,1)); + SlicedTube x2(td, IntervalVector({{1,2},{-1,1}})); + auto x = tube_cart_prod(x1,x2); // vector tube of dimension 3 + // [tube-example-6-end] + CHECK(x.size() == 3); + } + { + // [tube-parity-algebra-beg] + auto td = create_tdomain({0,2}, 0.5, true); + SlicedTube x(td, Interval(0,2)); + SlicedTube y(td, Interval(1,3)); + auto both = x & y; // intersection of enclosures + auto either = x | y; // interval hull, not disconnected union + auto sum = x + y; // interval arithmetic on every slice + auto xy = tube_cart_prod(x,y); // SlicedTube + // [tube-parity-algebra-end] + CHECK(xy.size() == 2); + } + { + // [tube-parity-conversion-beg] + auto td = create_tdomain({0,2}, 0.5, true); + SlicedTube tube(td, Interval(-1,1)); + SampledTraj midpoint = tube.mid(); // an approximation + SlicedTube middle_curve(td, midpoint); // tube of the interpolant + // [tube-parity-conversion-end] + CHECK(midpoint.nb_samples() > 1); + } + { + // [tube-parity-input-beg] + SampledTraj measured({{0.,1}, {1.,1.5}, {2.,2}}); + auto td = create_tdomain({0,2}, 0.5, true); + SlicedTube x(td, measured); // encloses the piecewise-linear interpolant + x.inflate(0.2); // only guaranteed if the bound is justified + // [tube-parity-input-end] + CHECK(!x.is_empty()); + } + { + // [tube-parity-export-beg] + auto td = create_tdomain({0,2}, 1., true); + SlicedTube x(td, Interval(-1,1)); + std::ostringstream csv; + csv << "t0;t1;lb;ub;is_gate\n"; + for(const auto& s : x) + csv << s.t0_tf().lb() << ';' << s.t0_tf().ub() << ';' + << s.codomain().lb() << ';' << s.codomain().ub() << ';' + << (s.is_gate() ? 1 : 0) << '\n'; + // [tube-parity-export-end] + CHECK(csv.str().find("is_gate") != std::string::npos); + } +} + +TEST_CASE("Slice reference - manual") +{ + { + // [slice-endpoint-example-beg] + auto td = create_tdomain({0,2}, 1., false); + SlicedTube x(td, Interval()); + x.set({1,5}, {0,1}); + x.set({2,8}, {1,2}); + auto s = x.first_slice(); + auto boundary = s->output_gate(); // [2,5] + // [slice-endpoint-example-end] + } + { + // [slice-invert-example-beg] + auto td = create_tdomain({0,1}); + SlicedTube x(td, Interval(0,10)); + x.set({2,3}, 0.); + x.set({5,6}, 1.); + auto s = x.first_slice(); + auto possible_times = s->invert(Interval(2.5,6), Interval(0.2,0.5)); + // [slice-invert-example-end] + } +} diff --git a/doc/manual/manual/tubes/src.py b/doc/manual/manual/tubes/src.py index 6d845dff8..858947fe2 100644 --- a/doc/manual/manual/tubes/src.py +++ b/doc/manual/manual/tubes/src.py @@ -30,11 +30,11 @@ def tests_TDomain_manual(test): n = td.nb_tslices() # 5 m = td.nb_tubes() # 0 initially - td.tslice(0.0) # [0] - td.tslice(0.1) # [0,0.5] - td.tslice(0.5) # [0.5] - td.tslice(0.6) # [0.5,1] - td.tslice(1.0) # [1] + td.tslice(0.) # [0] + td.tslice(0.1) # [0,0.5] + td.tslice(0.5) # [0.5] + td.tslice(0.6) # [0.5,1] + td.tslice(1.) # [1] # [tdomain-class-2-end] test.assertTrue(n == 5) @@ -43,12 +43,12 @@ def tests_TDomain_manual(test): # [tdomain-class-3-beg] td = create_tdomain() - td.sample(1.0, False) # [-oo,1],[1,oo] - td.sample(10.0, True) # [-oo,1],[1,10],[10],[10,oo] + td.sample(1., False) # [-oo,1],[1,oo] + td.sample(10., True) # [-oo,1],[1,10],[10],[10,oo] # [tdomain-class-3-end] # [tdomain-class-4-beg] - td = create_tdomain([0,2], 1.0, False) # False: without gates + td = create_tdomain([0,2], 1., False) # False: without gates x = SlicedTube(td, Interval(0,1)) v = SlicedTube(td, Interval(-1,1)) @@ -68,7 +68,7 @@ def tests_TDomain_manual(test): test.assertTrue(m == 4) # [tdomain-class-5-beg] - td = create_tdomain([0,3], 1.0, False) + td = create_tdomain([0,3], 1., False) x = SlicedTube(td, Interval(0,1)) td.nb_tubes() # 1 @@ -121,7 +121,7 @@ def tests_SlicedTube_manual(test): # [slicedtube-class-2-end] # [slicedtube-class-4-beg] - td = create_tdomain([0,3], 1.0, False) + td = create_tdomain([0,3], 1., False) x = SlicedTube(td, Interval()) x.set([1,5], [0,1]) @@ -131,12 +131,12 @@ def tests_SlicedTube_manual(test): x(0.5) # [1,5] x(1.5) # [2,8] x([0,3]) # [1,9] - x(-1.0) # [-oo,oo] + x(-1.) # [-oo,oo] # No explicit gates: boundary values come from adjacent-slice intersections - x(1.0) # [2,5] - x(2.0) # [6,8] - x(3.0) # [6,9] + x(1.) # [2,5] + x(2.) # [6,8] + x(3.) # [6,9] # [slicedtube-class-4-end] T = Interval(0,10) @@ -167,7 +167,7 @@ def tests_SlicedTube_manual(test): # [slicedtube-class-5-end] # [slicedtube-class-6-beg] - td = create_tdomain([0,2], 1.0, False) + td = create_tdomain([0,2], 1., False) x = SlicedTube(td, Interval(1,2)) y = SlicedTube(td, Interval(-1,3)) @@ -212,7 +212,7 @@ def tests_SlicedTube_manual(test): # [slicedtube-class-8-beg] x.inflate(0.2) # constant inflation - rad = SampledTraj({0.0:0.1, 1.0:0.3, 2.0:0.2}) + rad = SampledTraj({0.:0.1, 1.:0.3, 2.:0.2}) x.inflate(rad) # time-varying inflation radius # [slicedtube-class-8-end] @@ -227,5 +227,319 @@ def tests_SlicedTube_manual(test): pass + + def test_Trajectories_manual(test): + # [traj-sampled-create-beg] + depth = SampledTraj_Scalar() + depth.set(2., 0.) + depth.set(3., 1.) + depth.set(4., 2.) + + position = SampledTraj_Vector() + position.set(Vector([0,1]), 0.) + position.set([1,2], 1.) # equivalent shorter notation + position.set([2,3], 2.) + # [traj-sampled-create-end] + test.assertEqual(depth.nb_samples(), 3) + + # [traj-sampled-eval-beg] + x = SampledTraj({0.: 2., 1.: 4., 2.: 3.}) + value = x(0.5) # 3. + range_x = x([0.5,1.5]) # [3,4] + sample_count = x.nb_samples() # 3 + output_size = x.size() # 1 + # [traj-sampled-eval-end] + test.assertEqual(value, 3) + test.assertEqual(range_x, Interval(3,4)) + test.assertEqual(sample_count, 3) + test.assertEqual(output_size, 1) + + # [traj-sampled-iterate-beg] + for ti, xi in x: + print(ti, xi) + # [traj-sampled-iterate-end] + test.assertAlmostEqual(value, 3.) + + # [traj-sampled-components-beg] + p = SampledTraj({0.: Vector([0.,1.,2.]), + 1.: Vector([1.,2.,3.])}) + x = p[0] + yz = p.subvector(1,2) + # [traj-sampled-components-end] + + # [traj-sampled-time-beg] + shifted = SampledTraj({0.:0., 1.:1., 2.:0.}) + shifted.truncate_tdomain([0.5,1.5]) # retains interpolated endpoints + shifted.shift_tdomain(10.) # time domain now [10.5,11.5] + shifted.stretch_tdomain([0,1]) # rescale time, not values + # [traj-sampled-time-end] + + # [traj-sampled-npz-beg] + import numpy as np + import io + memory = io.BytesIO() + np.savez(memory, + t=np.array([0., 0.5, 1.]), + x=np.array([[0,1], [0.5,1.5], [1,2]])) + memory.seek(0) # rewind before reading + with np.load(memory) as data: + imported = SampledTraj(data['t'], data['x']) + # imported is a SampledTraj_Vector + # [traj-sampled-npz-end] + + # [traj-analytic-create-beg] + t = ScalarVar() + f = AnalyticFunction([t], 2*sin(t)) + traj_f = AnalyticTraj([0,2], f) # scalar trajectory + + g = AnalyticFunction([t], [cos(t), sin(t)]) + traj_g = AnalyticTraj([0,2], g) # vector trajectory + # [traj-analytic-create-end] + + # [traj-analytic-eval-beg] + y_point = traj_f(0.5) # a double + y_interval = traj_f([0,1]) # an Interval + p_point = traj_g(0.5) # a Vector + # [traj-analytic-eval-end] + + # [traj-analytic-sampled-beg] + f_samples = traj_f.sampled(0.1) + g_samples = traj_g.sampled(0.1) + # [traj-analytic-sampled-end] + + # [traj-ops-calculus-beg] + speed = SampledTraj({0.:0, 1.:1, 2.:2}) + acceleration = speed.derivative() # numerical derivative + distance = speed.primitive() # trapezoidal integral, p(0)=0 + doubled_speed = 2. * speed # pointwise arithmetic + # [traj-ops-calculus-end] + + # [traj-ops-cartprod-beg] + x1 = SampledTraj({0.:0, 1.:1}) + x2 = SampledTraj({0.:2, 1.:3}) + x = traj_cart_prod(x1, x2) + # [traj-ops-cartprod-end] + + # [traj-ops-continuous-beg] + heading = SampledTraj({0.:6.1, 1.:0.1, 2.:0.2}) + continuous_heading = continuous_traj(heading) + # [traj-ops-continuous-end] + + # [traj-ops-eval-beg] + theta = SampledTraj({0.:0, 1.:0.1, 2.:0.2}) + v = SampledTraj({0.:1., 1.:2., 2.:3.}) + theta_var, v_var = ScalarVar(), ScalarVar() + f = AnalyticFunction([theta_var, v_var], [v_var*cos(theta_var), v_var*sin(theta_var)]) + u = f.traj_eval(theta, v) + # [traj-ops-eval-end] + + # [traj-ops-asfunction-beg] + measurements = SampledTraj({0.:1, 1.:2, 2.:1.5}) + measurement_fn = measurements.as_function() + t = ScalarVar() + energy = AnalyticFunction([t], sqr(measurement_fn(t))) + estimated_energy = energy.eval(0.5) + # [traj-ops-asfunction-end] + + # [traj-ops-tube-beg] + t = ScalarVar() + traj = AnalyticTraj([0,2], AnalyticFunction([t],sin(t))) + td = create_tdomain([0,2], 0.1) + tube = SlicedTube(td, traj) + tube.inflate(0.05) # justified error bound, when available + # [traj-ops-tube-end] + + # [traj-ops-serialization-beg] + input_traj = SampledTraj({0.:1, 1.:1.5, 2.:2}) + with open('trajectory_python.cdc', 'wb') as f: + serialize(f, input_traj) + restored = SampledTraj_Scalar() + with open('trajectory_python.cdc', 'rb') as f: + deserialize(f, restored) + # [traj-ops-serialization-end] + test.assertEqual(restored.nb_samples(), input_traj.nb_samples()) + + + def test_Trajectory_reference_manual(test): + # [traj-sampled-grid-beg] + x = SampledTraj_Scalar({0.:0, 1.:2, 2.:0}) + merged = x.sampled(0.6) # original samples also retained + regular = x.sampled(0.6, False) # regular samples and final time only + clock = SampledTraj_Scalar({0.:0, 0.5:0, 1.5:0, 2.:0}) + aligned = x.sampled_as(clock, False) + # [traj-sampled-grid-end] + test.assertGreater(merged.nb_samples(), regular.nb_samples()) + test.assertEqual(aligned.nb_samples(),clock.nb_samples()) + + # [traj-sampled-construct-alt-beg] + x = SampledTraj_Scalar([0.,1.,2.], [3,4,5]) + x.set(6.,1.) # overwrite existing timestamp + y = SampledTraj_Scalar({0.:3, 1.:6, 2.:5}) + # [traj-sampled-construct-alt-end] + test.assertEqual(x.nb_samples(), 3) + test.assertAlmostEqual(x(1.),6.) + + # [traj-analytic-advanced-beg] + t = ScalarVar() + a = AnalyticTraj([0,2], AnalyticFunction([t], sqr(t))) + f = a.as_function() + g = AnalyticFunction([t], f(t) + 1) + # [traj-analytic-advanced-end] + + # [traj-ops-pointwise-beg] + x = SampledTraj_Scalar({0.:0, 1.:1, 2.:2}) + y = SampledTraj_Scalar({0.:2, 1.:3, 2.:4}) + sum_xy = x + y + sq = sqr(x) + sin_x = sin(x) + # [traj-ops-pointwise-end] + test.assertAlmostEqual(sum_xy(1),4.) + + # [traj-ops-fun-vector-beg] + p = SampledTraj({0.: Vector([3,4]), 1.: Vector([0,5])}) + p_var = VectorVar(2) + f = AnalyticFunction([p_var], sqr(p_var[0]) + sqr(p_var[1])) + result = f.traj_eval(p) + # [traj-ops-fun-vector-end] + test.assertAlmostEqual(result(0),25.) + + # [traj-tubes-mid-beg] + td = create_tdomain([0,2],0.5,True) + t = ScalarVar() + a = AnalyticTraj([0,2],AnalyticFunction([t],sin(t))) + tube = SlicedTube(td,a) + midpoint = tube.mid() # approximate midpoint trajectory + # [traj-tubes-mid-end] + test.assertGreater(midpoint.nb_samples(),1) + + # [traj-io-csv-beg] + import csv + from pathlib import Path + measurements = SampledTraj_Scalar() + with (Path(__file__).parent / 'data.csv').open(newline='') as file: + for row in csv.DictReader(file, delimiter=';'): + measurements.set(float(row['value']), float(row['t'])) + # [traj-io-csv-end] + test.assertEqual(measurements.nb_samples(),3) + + def test_SlicedTube_cross_reference_manual(test): + # [tube-example-1-beg] + td = create_tdomain([0,3], 1., False) + x = SlicedTube(td, Interval()) # [-∞,∞] by default for any time + x.set([1,5], [0,1]) + x.set([2,8], [1,2]) + x.set([6,9], [2,3]) + y0 = x([0,3]) + y1 = x(1.5) + y2 = x(1.) + # [tube-example-1-end] + test.assertFalse(y0.is_empty()) + + # [tube-example-2-beg] + td = create_tdomain([0,1], 0.1, False) + x = SlicedTube(td, IntervalVector(3)) + before = td.nb_tslices() + x.set(IntervalVector.constant(3,[2,3]), -42.) + after = td.nb_tslices() # the partition was extended and refined + # [tube-example-2-end] + test.assertGreater(after, before) + + # [tube-example-3-beg] + td = create_tdomain([0,5], 0.1, True) + t = ScalarVar() + f = AnalyticFunction([t], 10*cos(t) + t) + x = SlicedTube(td, f) # encloses f(t) over each time slice + # [tube-example-3-end] + test.assertFalse(x.is_empty()) + + # [tube-example-4-beg] + td = create_tdomain([6.4,6.5]) + x = SlicedTube(td, Interval(0.759,1.205)) + v = SlicedTube(td, Interval(-0.216,-0.115)) + x.set(Interval(0.781,1.205), 6.4) + x.set(Interval(0.759,1.194), 6.5) + CtcDeriv().contract(x,v) + sx = x.first_slice() + sv = v.first_slice() + polygon = sx.polygon_slice(sv) + # [tube-example-4-end] + + # [tube-example-5-beg] + td = create_tdomain([0,2], 0.5, True) + x = SlicedTube(td, Interval(1,2)) + integral_at_one = x.integral(Interval(1)) + integral_over_range = x.integral(Interval(0.5,1.5)) + p = x.primitive(Interval(0)) + # [tube-example-5-end] + test.assertFalse(integral_at_one.is_empty()) + + # [tube-example-6-beg] + td = create_tdomain([0,1], 0.5, False) + x1 = SlicedTube(td, Interval(0,1)) + x2 = SlicedTube(td, IntervalVector([[1,2],[-1,1]])) + x = tube_cart_prod(x1, x2) # vector tube of dimension 3 + # [tube-example-6-end] + test.assertEqual(x.size(), 3) + + # [tube-parity-algebra-beg] + td = create_tdomain([0,2], 0.5, True) + x = SlicedTube(td, Interval(0,2)) + y = SlicedTube(td, Interval(1,3)) + both = x & y # intersection of enclosures + either = x | y # interval hull, not disconnected union + sum_xy = x + y # interval arithmetic on every slice + xy = tube_cart_prod(x,y) # SlicedTube_IntervalVector + # [tube-parity-algebra-end] + test.assertEqual(xy.size(), 2) + + # [tube-parity-conversion-beg] + td = create_tdomain([0,2], 0.5, True) + tube = SlicedTube(td, Interval(-1,1)) + midpoint = tube.mid() # an approximation + middle_curve = SlicedTube(td, midpoint) # encloses the interpolant + # [tube-parity-conversion-end] + test.assertGreater(midpoint.nb_samples(), 1) + + # [tube-parity-input-beg] + measured = SampledTraj_Scalar({0.:1., 1.:1.5, 2.:2.}) + td = create_tdomain([0,2], 0.5, True) + x = SlicedTube(td, measured) # encloses the piecewise-linear interpolant + x.inflate(0.2) # only guaranteed if the bound is justified + # [tube-parity-input-end] + test.assertFalse(x.is_empty()) + + # [tube-parity-export-beg] + import io + td = create_tdomain([0,2], 1., True) + x = SlicedTube(td, Interval(-1,1)) + csv = io.StringIO() + csv.write('t0;t1;lb;ub;is_gate\n') + for s in x: + t = s.t0_tf() + bounds = s.codomain() + csv.write(f'{t.lb()};{t.ub()};{bounds.lb()};{bounds.ub()};{int(s.is_gate())}\n') + # [tube-parity-export-end] + test.assertIn('is_gate', csv.getvalue()) + + + def test_Slice_reference_manual(test): + # [slice-endpoint-example-beg] + td = create_tdomain([0,2], 1., False) + x = SlicedTube(td, Interval()) + x.set([1,5], [0,1]) + x.set([2,8], [1,2]) + s = x.first_slice() + boundary = s.output_gate() # [2,5] + # [slice-endpoint-example-end] + + # [slice-invert-example-beg] + td = create_tdomain([0,1]) + x = SlicedTube(td, Interval(0,10)) + x.set([2,3], 0) + x.set([5,6], 1) + s = x.first_slice() + possible_times = s.invert([2.5,6], [0.2,0.5]) + # [slice-invert-example-end] + if __name__ == '__main__': unittest.main() \ No newline at end of file diff --git a/doc/manual/manual/tubes/tdomain.rst b/doc/manual/manual/tubes/tdomain.rst index d65eebdc4..7b3b7304e 100644 --- a/doc/manual/manual/tubes/tdomain.rst +++ b/doc/manual/manual/tubes/tdomain.rst @@ -5,15 +5,12 @@ The TDomain class Main author: `Simon Rohou `_ -A :class:`~codac.TDomain` is the temporal partition shared by one or more sliced tubes. -It stores an ordered list of :class:`~codac.TSlice` objects. Each stored element is either +A :class:`~codac.TDomain` is the temporal partition shared by one or more sliced tubes. It stores an ordered list of :class:`~codac.TSlice` objects. Each stored element is either * a non-degenerate temporal slice :math:`[t_i,t_{i+1}]`, or * a degenerate temporal slice :math:`[t_i,t_i]`, called a *gate*. -Gates are optional. When they are explicitly represented, the partition may alternate between -``gate / slice / gate / slice / ...``. This is the structure created by -``create_tdomain(t0_tf, dt, True)``. +Gates are optional. When they are explicitly represented, the partition may alternate between ``gate / slice / gate / slice / ...``. This is the structure created by ``create_tdomain(t0_tf, dt, True)``. Although optional, gates are useful when one needs to represent tube values explicitly at specific time instants. This is particularly relevant for guaranteed integration. @@ -77,8 +74,7 @@ A temporal domain exposes: :dedent: 4 -Note that ``tslice(t)`` returns the gate when ``t`` matches an explicit gate, and -otherwise returns the unique non-degenerate slice containing ``t``. +Note that ``tslice(t)`` returns the gate when ``t`` matches an explicit gate, and otherwise returns the unique non-degenerate slice containing ``t``. Sampling and refinement ----------------------- @@ -112,17 +108,12 @@ Sampling can occur: :end-before: [tdomain-class-3-end] :dedent: 4 -One important implementation detail is that refinement preserves the attached tubes by cloning the -corresponding slice objects onto the new temporal elements. The new slices are then reattached to -the newly inserted ``TSlice`` iterators. +One important implementation detail is that refinement preserves the attached tubes by cloning the corresponding slice objects onto the new temporal elements. The new slices are then reattached to the newly inserted ``TSlice`` iterators. Shared refinement across several tubes -------------------------------------- -One practical consequence of the shared-``TDomain`` design is that refining the time -partition from one tube automatically updates the slice structure seen by all the -other tubes attached to the same temporal domain. -The following code illustrates this effect: +One practical consequence of the shared-``TDomain`` design is that refining the time partition from one tube automatically updates the slice structure seen by all the other tubes attached to the same temporal domain. The following code illustrates this effect: .. tabs:: @@ -144,31 +135,22 @@ The following code illustrates this effect: .. note:: - This behavior is intentional: it keeps all related tubes on a consistent shared - temporal support, which greatly simplifies multi-tube operations such as - arithmetic combinations and contractions. + A shared temporal domain keeps related tubes consistent when the partition is refined, which simplifies multi-tube operations and contractions. Gates ----- -Explicit gates are useful when you want to represent endpoint values separately from the interior -codomain of a slice. The current API provides: +Explicit gates are useful when you want to represent endpoint values separately from the interior codomain of a slice. The current API provides: * ``all_gates_defined()`` to detect a fully gate-augmented partition, * ``delete_gates()`` to remove all explicit gates. -Therefore, a :math:`t`-domain built from ``create_tdomain([0,1], 0.5, True)`` contains five temporal elements and is a -typical example of a gate-augmented partition. -In this implementation, a gate is not a separate data type: it is simply a degenerate -:class:`~codac.TSlice`, i.e., an interval :math:`[t,t]`. +Therefore, a :math:`t`-domain built from ``create_tdomain([0,1], 0.5, True)`` contains five temporal elements and is a typical example of a gate-augmented partition. In this implementation, a gate is not a separate data type: it is simply a degenerate :class:`~codac.TSlice`, i.e., an interval :math:`[t,t]`. Shared temporal structure ------------------------- -A :class:`~codac.TDomain` is shared by all sliced tubes built from it. -As a consequence, structural operations such as ``truncate(...)`` affect all -attached tubes, and the number of attached tubes can be queried with -``nb_tubes()``. +A :class:`~codac.TDomain` is shared by all sliced tubes built from it. As a consequence, structural operations such as ``truncate(...)`` affect all attached tubes, and the number of attached tubes can be queried with ``nb_tubes()``. .. tabs:: @@ -186,4 +168,4 @@ attached tubes, and the number of attached tubes can be queried with :language: c++ :start-after: [tdomain-class-5-beg] :end-before: [tdomain-class-5-end] - :dedent: 4 \ No newline at end of file + :dedent: 4 diff --git a/doc/manual/manual/tubes/trajectory_io.rst b/doc/manual/manual/tubes/trajectory_io.rst new file mode 100644 index 000000000..45d76ab65 --- /dev/null +++ b/doc/manual/manual/tubes/trajectory_io.rst @@ -0,0 +1,75 @@ +.. _sec-trajectories-io: + +Trajectories serialization +========================== + + Main author: `Simon Rohou `_ + +Importing CSV data +------------------ + +A ``SampledTraj`` can be filled from the following ``data.csv`` file: + +.. literalinclude:: data.csv + :language: text + +Read its time/value columns and insert the samples using ``set(value,time)``. The examples locate ``data.csv`` alongside the source file. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-io-csv-beg] + :end-before: [traj-io-csv-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-io-csv-beg] + :end-before: [traj-io-csv-end] + :dedent: 4 + +NumPy archives +-------------- + +In Python, a ``.npz`` archive can supply arrays of timestamps and values. This format is distinct from binary serialization. + +.. literalinclude:: src.py + :language: python + :start-after: [traj-sampled-npz-beg] + :end-before: [traj-sampled-npz-end] + :dedent: 4 + +Binary serialization +-------------------- + +``serialize`` and ``deserialize`` save and restore ``SampledTraj`` objects in binary form. The ``.cdc`` extension is conventional. An ``AnalyticTraj`` can be sampled before saving, but the symbolic expression itself is not serialized. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-ops-serialization-beg] + :end-before: [traj-ops-serialization-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-ops-serialization-beg] + :end-before: [traj-ops-serialization-end] + :dedent: 4 + +See :ref:`sec-tools-serialization` for details about the binary format. + +Visualization +------------- + +Use ``Figure2D.plot_trajectory`` for scalar time series and ``Figure2D.plot_trajectories`` for vector time series. Spatial trajectories can be displayed with ``DefaultFigure.draw_trajectory``. See :doc:`../visualization/functions`. diff --git a/doc/manual/manual/tubes/trajectory_operations.rst b/doc/manual/manual/tubes/trajectory_operations.rst new file mode 100644 index 000000000..72302c2ad --- /dev/null +++ b/doc/manual/manual/tubes/trajectory_operations.rst @@ -0,0 +1,190 @@ +.. _sec-trajectories-operations: + +Operations on trajectories +========================== + + Main author: `Simon Rohou `_ + +Arithmetic and calculus +----------------------- + +Operations such as ``x1+x2`` or ``sin(x1)`` compute values at the stored timestamps. The resulting ``SampledTraj`` interpolates linearly between these values. Arithmetic between two sampled trajectories requires identical timestamps. + +For a scalar or vector trajectory :math:`x`, ``primitive(dt)`` approximates the integral + +.. math:: + + p(t)=\int_{t_0}^{t}x(\tau)\,d\tau,\qquad p(t_0)=0, + +using the trapezoidal rule, with integration step ``dt``. For a ``SampledTraj``, ``primitive()`` instead integrates over its existing sample intervals: + +.. math:: + + p(t_{i+1})=p(t_i)+\frac{t_{i+1}-t_i}{2}(x_i+x_{i+1}). + +``derivative()`` approximates the derivative of a sampled trajectory by finite differences. These numerical operations do not provide guaranteed bounds. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-ops-calculus-beg] + :end-before: [traj-ops-calculus-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-ops-calculus-beg] + :end-before: [traj-ops-calculus-end] + :dedent: 4 + + + +Cartesian products +------------------ + +``traj_cart_prod(x1,x2,...)`` combines scalar or vector sampled trajectories into a vector trajectory. The timestamps must be identical. Use ``sampled_as()`` to align trajectories when necessary. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-ops-cartprod-beg] + :end-before: [traj-ops-cartprod-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-ops-cartprod-beg] + :end-before: [traj-ops-cartprod-end] + :dedent: 4 + +Unwrapping periodic signals +--------------------------- + +``continuous_traj()`` removes apparent jumps in a sampled scalar signal, for instance a heading crossing its angular discontinuity. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-ops-continuous-beg] + :end-before: [traj-ops-continuous-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-ops-continuous-beg] + :end-before: [traj-ops-continuous-end] + :dedent: 4 + +The function detects jumps between consecutive samples and corrects them using a period estimated from the observed values. This is particularly useful for trajectories representing angles. Since the period is estimated rather than specified, the correction may be approximate. + +Applying analytic functions +--------------------------- + +``f.traj_eval(x1,x2,...)`` evaluates an ``AnalyticFunction`` on sampled trajectories at the timestamps of the first input, interpolating the other inputs as needed. In Python, inputs are all scalar trajectories or all vector trajectories, while C++ also accepts mixed inputs. For interval enclosures on tubes, see :ref:`sec-domains-tubes-slicedtube-function-eval`. + +For example, given a heading :math:`\theta(t)` and a speed :math:`v(t)`, an analytic function computes the Cartesian velocity components: + +.. math:: + + \mathbf{u}(t)=\begin{pmatrix}v(t)\cos\theta(t)\\v(t)\sin\theta(t)\end{pmatrix}. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-ops-eval-beg] + :end-before: [traj-ops-eval-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-ops-eval-beg] + :end-before: [traj-ops-eval-end] + :dedent: 4 + +For a vector-valued input trajectory, use a ``VectorVar``: + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-ops-fun-vector-beg] + :end-before: [traj-ops-fun-vector-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-ops-fun-vector-beg] + :end-before: [traj-ops-fun-vector-end] + :dedent: 4 + +Using a trajectory in an analytic expression +-------------------------------------------- + +``as_function()`` makes a trajectory available inside an analytic expression of time. This is useful when an expression depends on an existing time series. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-ops-asfunction-beg] + :end-before: [traj-ops-asfunction-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-ops-asfunction-beg] + :end-before: [traj-ops-asfunction-end] + :dedent: 4 + +The trajectory operator currently supports forward evaluation but not general backward contraction or derivative propagation through the expression. + +Converting trajectories and tubes +--------------------------------- + +``SlicedTube(td,traj)`` encloses a trajectory on a temporal partition. To enclose an unknown signal, additional measurement and interpolation uncertainty may be needed. Conversely, ``tube.mid()`` gives a numerical midpoint trajectory without retaining the tube's uncertainty. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [traj-ops-tube-beg] + :end-before: [traj-ops-tube-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [traj-ops-tube-beg] + :end-before: [traj-ops-tube-end] + :dedent: 4 diff --git a/doc/manual/manual/tubes/tube_examples.rst b/doc/manual/manual/tubes/tube_examples.rst new file mode 100644 index 000000000..e9b1de5d5 --- /dev/null +++ b/doc/manual/manual/tubes/tube_examples.rst @@ -0,0 +1,159 @@ +.. _sec-domains-tubes-examples: + +Programming examples +==================== + + Main author: `Simon Rohou `_ + +The following examples illustrate basic operations on sliced tubes. + +Example 1: building and evaluating a scalar tube +------------------------------------------------ + +The following example builds a scalar tube over a sampled temporal domain and assigns different values on successive temporal intervals. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [tube-example-1-beg] + :end-before: [tube-example-1-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [tube-example-1-beg] + :end-before: [tube-example-1-end] + :dedent: 4 + + + +Example 2: refining a temporal domain from a tube update +-------------------------------------------------------- + +Local assignments refine the shared temporal partition when necessary. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [tube-example-2-beg] + :end-before: [tube-example-2-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [tube-example-2-beg] + :end-before: [tube-example-2-end] + :dedent: 4 + +The same partition is updated for all tubes sharing the temporal domain. + +Example 3: tube from an analytic function +----------------------------------------- + +For :math:`f(t)=10\cos(t)+t`, a ``SlicedTube`` encloses the function over each time slice rather than evaluating it only at isolated timestamps. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [tube-example-3-beg] + :end-before: [tube-example-3-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [tube-example-3-beg] + :end-before: [tube-example-3-end] + :dedent: 4 + + +Example 4: derivative-aware slice reasoning +------------------------------------------- + +The following pattern uses a derivative tube and ``CtcDeriv`` to sharpen a scalar slice. The slice can then build a polygonal enclosure used for refined evaluation or inversion. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [tube-example-4-beg] + :end-before: [tube-example-4-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [tube-example-4-beg] + :end-before: [tube-example-4-end] + :dedent: 4 + +The derivative constraint can narrow the tube before evaluating individual slices. + +Example 5: integration and primitive tubes +------------------------------------------ + +The integration API supports point and interval queries and can also build a primitive tube. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [tube-example-5-beg] + :end-before: [tube-example-5-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [tube-example-5-beg] + :end-before: [tube-example-5-end] + :dedent: 4 + + + +Example 6: Cartesian product of tubes +------------------------------------- + +When several sliced tubes share the same temporal domain, you can build a vector-valued tube by stacking their codomains slice by slice. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [tube-example-6-beg] + :end-before: [tube-example-6-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [tube-example-6-beg] + :end-before: [tube-example-6-end] + :dedent: 4 + +All inputs must share the same temporal-domain object. + +For the analogous operation on ``SampledTraj`` objects, see :ref:`sec-trajectories-operations` (``traj_cart_prod``). From 62b2b70460eef2470ea6e47f8e45ea47aa5f981c Mon Sep 17 00:00:00 2001 From: Simon Rohou Date: Thu, 22 Oct 2026 13:57:38 +0200 Subject: [PATCH 2/4] [doc] manual, minor udpates --- doc/manual/manual/cn/index.rst | 7 + doc/manual/manual/contractors/basic/index.rst | 9 + doc/manual/manual/contractors/index.rst | 1 + .../manual/contractors/linear/index.rst | 8 + .../manual/contractors/set/ctcunion.rst | 188 +++++++++++++ .../manual/contractors/temporal/index.rst | 14 + doc/manual/manual/extensions/ibex/index.rst | 7 + .../manual/extensions/unsupported/index.rst | 6 + .../manual/functions/analytic/index.rst | 6 +- doc/manual/manual/functions/index.rst | 10 +- .../manual/functions/setmembership/index.rst | 7 + .../manual/intervals/Interval_class.rst | 2 + doc/manual/manual/intervals/Vector_class.rst | 217 +++++++++++++++ doc/manual/manual/intervals/index.rst | 1 - doc/manual/manual/linear/eigen.rst | 250 ++++++++++++++++++ doc/manual/manual/pavers/index.rst | 8 + doc/manual/manual/pavers/structures/index.rst | 7 + doc/manual/manual/references/authors.rst | 38 +++ doc/manual/manual/references/index.rst | 8 + doc/manual/manual/references/papers.rst | 16 ++ .../manual/separators/analytic/index.rst | 7 + doc/manual/manual/separators/basic/index.rst | 6 + .../manual/separators/contractors/index.rst | 6 + .../manual/separators/geometric/index.rst | 8 + doc/manual/manual/separators/index.rst | 14 + doc/manual/manual/separators/set/index.rst | 12 + doc/manual/manual/separators/shape/index.rst | 8 + doc/manual/manual/tools/sampled_traj_npz.rst | 66 ----- doc/manual/manual/topology/index.rst | 7 + doc/manual/manual/tubes/index.rst | 5 +- doc/manual/manual/tubes/old/trajectories.rst | 19 ++ .../manual/tubes/old/trajectory_reference.rst | 60 +++++ doc/manual/manual/tubes/old/tube_examples.rst | 159 +++++++++++ doc/manual/manual/tubes/old/tube_io.rst | 60 +++++ .../manual/tubes/old/tube_reference.rst | 60 +++++ doc/manual/manual/tubes/old/tubes.zip | Bin 0 -> 675710 bytes .../manual/tubes/old/tubes_overview.rst | 17 ++ doc/manual/manual/tubes/sampledtraj.rst | 1 - doc/manual/manual/tubes/slice.rst | 2 +- doc/manual/manual/tubes/slicedtube.rst | 4 +- doc/manual/manual/tubes/src.cpp | 6 +- doc/manual/manual/tubes/src.py | 6 +- doc/manual/manual/tubes/tdomain.rst | 2 +- doc/manual/manual/tubes/tube_examples.rst | 2 +- doc/manual/manual/visualization/colors.rst | 5 + .../cp_robotics/lesson_b_data_association.rst | 2 +- 46 files changed, 1264 insertions(+), 90 deletions(-) create mode 100644 doc/manual/manual/cn/index.rst create mode 100644 doc/manual/manual/contractors/basic/index.rst create mode 100644 doc/manual/manual/contractors/linear/index.rst create mode 100644 doc/manual/manual/contractors/set/ctcunion.rst create mode 100644 doc/manual/manual/contractors/temporal/index.rst create mode 100644 doc/manual/manual/extensions/ibex/index.rst create mode 100644 doc/manual/manual/extensions/unsupported/index.rst create mode 100644 doc/manual/manual/functions/setmembership/index.rst create mode 100644 doc/manual/manual/intervals/Vector_class.rst create mode 100644 doc/manual/manual/linear/eigen.rst create mode 100644 doc/manual/manual/pavers/index.rst create mode 100644 doc/manual/manual/pavers/structures/index.rst create mode 100644 doc/manual/manual/references/authors.rst create mode 100644 doc/manual/manual/references/index.rst create mode 100644 doc/manual/manual/references/papers.rst create mode 100644 doc/manual/manual/separators/analytic/index.rst create mode 100644 doc/manual/manual/separators/basic/index.rst create mode 100644 doc/manual/manual/separators/contractors/index.rst create mode 100644 doc/manual/manual/separators/geometric/index.rst create mode 100644 doc/manual/manual/separators/index.rst create mode 100644 doc/manual/manual/separators/set/index.rst create mode 100644 doc/manual/manual/separators/shape/index.rst delete mode 100644 doc/manual/manual/tools/sampled_traj_npz.rst create mode 100644 doc/manual/manual/topology/index.rst create mode 100644 doc/manual/manual/tubes/old/trajectories.rst create mode 100644 doc/manual/manual/tubes/old/trajectory_reference.rst create mode 100644 doc/manual/manual/tubes/old/tube_examples.rst create mode 100644 doc/manual/manual/tubes/old/tube_io.rst create mode 100644 doc/manual/manual/tubes/old/tube_reference.rst create mode 100644 doc/manual/manual/tubes/old/tubes.zip create mode 100644 doc/manual/manual/tubes/old/tubes_overview.rst diff --git a/doc/manual/manual/cn/index.rst b/doc/manual/manual/cn/index.rst new file mode 100644 index 000000000..c265a319c --- /dev/null +++ b/doc/manual/manual/cn/index.rst @@ -0,0 +1,7 @@ +Contractor Networks +=================== + +.. toctree:: + + What is a CN? + The ContractorNetwork class \ No newline at end of file diff --git a/doc/manual/manual/contractors/basic/index.rst b/doc/manual/manual/contractors/basic/index.rst new file mode 100644 index 000000000..a98cb5aed --- /dev/null +++ b/doc/manual/manual/contractors/basic/index.rst @@ -0,0 +1,9 @@ +Basic contractors +================= + +.. toctree:: + + CtcIdentity + CtcEmpty + CtcLazy + CtcFixpoint \ No newline at end of file diff --git a/doc/manual/manual/contractors/index.rst b/doc/manual/manual/contractors/index.rst index 8e6eea3c8..67dab8f9e 100644 --- a/doc/manual/manual/contractors/index.rst +++ b/doc/manual/manual/contractors/index.rst @@ -1,4 +1,5 @@ .. _sec-ctc: + Contractors, separators ======================= diff --git a/doc/manual/manual/contractors/linear/index.rst b/doc/manual/manual/contractors/linear/index.rst new file mode 100644 index 000000000..b0106ece9 --- /dev/null +++ b/doc/manual/manual/contractors/linear/index.rst @@ -0,0 +1,8 @@ +Linear contractors +================== + +.. toctree:: + + CtcGaussElim + CtcGaussSeidel + CtcLinearPrecond \ No newline at end of file diff --git a/doc/manual/manual/contractors/set/ctcunion.rst b/doc/manual/manual/contractors/set/ctcunion.rst new file mode 100644 index 000000000..7c69d0970 --- /dev/null +++ b/doc/manual/manual/contractors/set/ctcunion.rst @@ -0,0 +1,188 @@ +.. _sec-ctc-set-ctcunion: +.. _sec-sep-set-sepunion: + +Union: CtcUnion and SepUnion +============================ + + Main author: `Simon Rohou `_ + + +``CtcUnion`` and ``SepUnion`` implement the logical union/disjunction counterpart of +``CtcInter`` and ``SepInter``: + +.. list-table:: + :header-rows: 1 + :widths: 20 35 45 + + * - Class + - Combines + - Meaning + * - ``CtcUnion`` + - contractors + - disjunction of constraints, obtained by joining the contracted branches + * - ``SepUnion`` + - separators + - separator associated with the union of the represented sets + +Both classes can be constructed explicitly or with the ``|`` operator. + + +CtcUnion: disjunction of contractors +------------------------------------ + +For box contractors, ``CtcUnion`` applies every stored contractor independently to the +same input box and returns a box enclosing the union of the resulting branches: + +.. math:: + + \mathcal{C}_{\mathrm{union}}([\mathbf{x}]) + = + \operatorname{hull}\!\left( + \bigcup_{i=1}^{n}\mathcal{C}_i([\mathbf{x}]) + \right), + +where :math:`\operatorname{hull}` denotes the smallest box containing the union. + +This evaluation differs from ``CtcInter``: the branches are **not** applied +sequentially. Each contractor receives the original input domain. + +.. note:: + + The exact union of several boxes is generally not a box. ``CtcUnion`` therefore + returns a box enclosure of this union. This enclosure may contain points that do not + belong to any individual branch. + +The usual construction uses ``|`` or the ``CtcUnion`` constructor. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: py + :start-after: [union-ctc-1-beg] + :end-before: [union-ctc-1-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [union-ctc-1-beg] + :end-before: [union-ctc-1-end] + :dedent: 2 + +Applying it to a box gives the hull of the contracted branches: + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: py + :start-after: [union-ctc-2-beg] + :end-before: [union-ctc-2-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [union-ctc-2-beg] + :end-before: [union-ctc-2-end] + :dedent: 2 + +For the two boxes used here, the exact union is not itself a box. Its interval hull is + +.. math:: + + [-12,10]\times[-2,4]. + + +SepUnion: union of represented sets +----------------------------------- + +``SepUnion`` is the separator counterpart. If separators +:math:`\mathcal{S}_1,\ldots,\mathcal{S}_n` are associated with sets +:math:`\mathbb{S}_1,\ldots,\mathbb{S}_n`, then ``SepUnion`` is associated with + +.. math:: + + \mathbb{S}_{\mathrm{union}} + = + \mathbb{S}_1 \cup \cdots \cup \mathbb{S}_n. + +Construction follows the same syntax as for ``CtcUnion``: + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: py + :start-after: [union-sep-1-beg] + :end-before: [union-sep-1-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [union-sep-1-beg] + :end-before: [union-sep-1-end] + :dedent: 2 + + +Building a union incrementally +------------------------------ + +Both classes support ``|=`` and ``nb()``. + +For ``CtcUnion``, a union may be created from the dimension only. Before a branch is +added, it represents the empty disjunction: contracting a box with it returns the empty +domain. Adding contractors with ``|=`` then builds the disjunction incrementally. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: py + :start-after: [union-ctc-3-beg] + :end-before: [union-ctc-3-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [union-ctc-3-beg] + :end-before: [union-ctc-3-end] + :dedent: 2 + +``SepUnion`` currently has no constructor taking only a dimension, so incremental +construction starts from an existing separator: + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: py + :start-after: [union-sep-2-beg] + :end-before: [union-sep-2-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [union-sep-2-beg] + :end-before: [union-sep-2-end] + :dedent: 2 + + +.. admonition:: Technical documentation + + See the `C++ API documentation of CtcUnion <../../api/html/classcodac2_1_1_ctc_union.html>`_ + and the `C++ API documentation of SepUnion <../../api/html/classcodac2_1_1_sep_union.html>`_. diff --git a/doc/manual/manual/contractors/temporal/index.rst b/doc/manual/manual/contractors/temporal/index.rst new file mode 100644 index 000000000..35e98efe5 --- /dev/null +++ b/doc/manual/manual/contractors/temporal/index.rst @@ -0,0 +1,14 @@ +Temporal contractors +==================== + +.. toctree:: + + Using static contractors on tubes + CtcDeriv + CtcEval + CtcDelay + CtcLinobs + CtcLohner + CtcPicard + CtcChain + CtcDiffInclusion \ No newline at end of file diff --git a/doc/manual/manual/extensions/ibex/index.rst b/doc/manual/manual/extensions/ibex/index.rst new file mode 100644 index 000000000..ac2ca5561 --- /dev/null +++ b/doc/manual/manual/extensions/ibex/index.rst @@ -0,0 +1,7 @@ +Interface with the IBEX library +=============================== + +.. toctree:: + + Installing the codac-ibex extension + How to use \ No newline at end of file diff --git a/doc/manual/manual/extensions/unsupported/index.rst b/doc/manual/manual/extensions/unsupported/index.rst new file mode 100644 index 000000000..617cae776 --- /dev/null +++ b/doc/manual/manual/extensions/unsupported/index.rst @@ -0,0 +1,6 @@ +Unsupported features of Codac +============================= + +.. toctree:: + + Installing the codac-unsupported extension \ No newline at end of file diff --git a/doc/manual/manual/functions/analytic/index.rst b/doc/manual/manual/functions/analytic/index.rst index 82496722e..5d93afafb 100644 --- a/doc/manual/manual/functions/analytic/index.rst +++ b/doc/manual/manual/functions/analytic/index.rst @@ -5,7 +5,5 @@ Analytic inclusion functions .. toctree:: - analytic_functions.rst - analytic_operators.rst - Extension to custom expressions - Temporal functions \ No newline at end of file + analytic_functions.rst + analytic_operators.rst \ No newline at end of file diff --git a/doc/manual/manual/functions/index.rst b/doc/manual/manual/functions/index.rst index b70ce037d..35d7a8bd0 100644 --- a/doc/manual/manual/functions/index.rst +++ b/doc/manual/manual/functions/index.rst @@ -4,9 +4,9 @@ Inclusion functions =================== .. toctree:: + :maxdepth: 1 - analytic/analytic_functions.rst - analytic/analytic_operators.rst - parallelepiped/parallelepiped_eval.rst - peibos/peibos.rst - .. Set-membership functions \ No newline at end of file + analytic/analytic_functions.rst + analytic/analytic_operators.rst + parallelepiped/parallelepiped_eval.rst + peibos/peibos.rst \ No newline at end of file diff --git a/doc/manual/manual/functions/setmembership/index.rst b/doc/manual/manual/functions/setmembership/index.rst new file mode 100644 index 000000000..ede97a732 --- /dev/null +++ b/doc/manual/manual/functions/setmembership/index.rst @@ -0,0 +1,7 @@ +Set-membership functions +======================== + +.. toctree:: + + The class SetMembershipFunction + Extension to custom expressions \ No newline at end of file diff --git a/doc/manual/manual/intervals/Interval_class.rst b/doc/manual/manual/intervals/Interval_class.rst index 39f49a7d7..11450b9c6 100644 --- a/doc/manual/manual/intervals/Interval_class.rst +++ b/doc/manual/manual/intervals/Interval_class.rst @@ -257,6 +257,8 @@ For instance, ``x < y`` returns: - ``BoolInterval.UNKNOWN`` otherwise. +.. _sec-intervals-class-un-bin-ary: + Unary and binary functions -------------------------- diff --git a/doc/manual/manual/intervals/Vector_class.rst b/doc/manual/manual/intervals/Vector_class.rst new file mode 100644 index 000000000..c7c937537 --- /dev/null +++ b/doc/manual/manual/intervals/Vector_class.rst @@ -0,0 +1,217 @@ +.. _sec-vector-class: + +Vectors, rows and Matrices +========================== + +This page describes how to construct, use, and manipulate ``Vector``, ``Row`` and ``Matrix`` objects. +Vectors and rows are treated as one-dimensional matrices (either rows or columns), and most functionality is shared with general matrices. + +Codac uses the `Eigen library `_ for its matricial structures and calculations, with `custom methods added inside the Eigen classes `_. In the same way, the interval counterpart objects (``IntervalVector``, ``IntervalRow`` and ``IntervalMatrix``) adopt the structure of Eigen (same class name or operations) with an interval arithmetic and reliable outputs. + +The following sections illustrate construction, element access, initialization, resizing, substructure manipulation, and various properties of vectors and matrices. + + +Construction +------------ + +Vectors and matrices can be constructed using initializer lists, sizes, or raw arrays. Vectors are typically used when either the number of rows or columns is fixed to 1. + +.. tabs:: + + .. code-tab:: cpp + + // Vector from initializer list + Vector v = {1.0, 2.0, 3.0}; + + // Vector from std::vector + Vector v2(std::vector{4.0, 5.0, 6.0}); + + // Vector of fixed size, zero-initialized (if scalar type is not interval) + Vector v3(3); + + // Vector from array + double data[] = {7.0, 8.0, 9.0}; + Vector v4(3, data); + + .. code-tab:: cpp + + // Matrix with given number of rows and columns + Vector M(2, 3); // 2 rows, 3 columns + + // Matrix from array + double values[] = {1, 2, 3, 4, 5, 6}; + Vector M2(2, 3, values); // fills elements row-by-row + + // Matrix with uninitialized (or zero) values + Vector M3(2, 3); + +Element Access +-------------- + +Vector and matrix elements can be accessed via parentheses `()` or brackets `[]` (for vectors). You can both read and write elements. + +.. tabs:: + + .. code-tab:: cpp + + // Vector access + double x = v[0]; + v(1) = 42.0; + + .. code-tab:: cpp + + // Matrix access + double y = M(1, 2); // row 1, column 2 + M(0, 0) = 3.14; + +Initialization +-------------- + +You can set all entries of a matrix or vector to a given value using `init()`: + +.. tabs:: + + .. code-tab:: cpp + + v.init(0.0); // Set all elements of vector to 0 + + .. code-tab:: cpp + + M.init(1.0); // Set all matrix elements to 1 + +Equality Comparison +------------------- + +Check whether two objects are equal in shape and contents using `==`. + +.. tabs:: + + .. code-tab:: cpp + + if (v == v2) + std::cout << "Vectors are equal.\n"; + + if (M == M2) + std::cout << "Matrices match.\n"; + +Factory Constructors +-------------------- + +Use these static constructors to create matrices or vectors with common patterns. + +.. tabs:: + + .. code-tab:: cpp + + Vector v1 = Vector::zero(4); // Vector with 4 zeros + Vector v2 = Vector::ones(4); // Vector with all 1s + Vector v3 = Vector::constant(4, 3.14); // Vector filled with 3.14 + Vector v4 = Vector::random(4); // Random values + + .. code-tab:: cpp + + Vector M1 = Vector::zero(2, 3); // 2x3 matrix with zeros + Vector M2 = Vector::ones(2, 3); // matrix with ones + Vector M3 = Vector::constant(2, 3, 2.5); // constant values + Vector M4 = Vector::eye(3, 3); // 3x3 identity matrix + Vector M5 = Vector::random(2, 3); // matrix with random elements + +Resize (with Data Preservation) +------------------------------- + +Unlike Eigen’s default `resize()`, these methods preserve overlapping values during resizing. + +.. tabs:: + + .. code-tab:: cpp + + v.resize_save_values(6); // Resize vector from 3 to 6 elements + + .. code-tab:: cpp + + M.resize_save_values(4, 5); // Resize 2x3 matrix to 4x5 + +Substructures and Assignment +---------------------------- + +You can extract subvectors and insert values from one vector to another. + +.. tabs:: + + .. code-tab:: cpp + + Vector sub = v.subvector(1, 3); // Extract elements v[1] to v[3] + v.put(2, sub); // Insert sub at index 2 + +Properties and Structural Checks +-------------------------------- + +.. tabs:: + + .. code-tab:: cpp + + bool square = M.is_squared(); // True if M is square (rows == cols) + bool contains_nan = M.is_nan(); // Any NaN values? + + double norm2 = v.squared_norm(); // ||v||^2 + double min_val = v.min_coeff(); // Minimum entry + double max_val = v.max_coeff(); // Maximum entry + + Index idx_min = v.min_coeff_index(); // Index of min value + Index idx_max = v.max_coeff_index(); // Index of max value + + .. code-tab:: cpp + + auto D = v.diag_matrix(); // Convert vector into diagonal matrix + +Element-wise Operations +----------------------- + +Apply rounding operations to each element. + +.. tabs:: + + .. code-tab:: cpp + + auto vf = floor(v); // floor of each value + auto vc = ceil(v); // ceil of each value + auto vr = round(v); // round to nearest + + .. code-tab:: cpp + + auto mf = floor(M); // floor of each element + auto mc = ceil(M); + auto mr = round(M); + +.. note:: + + These rounding operations are disabled for matrices with interval elements. + +Examples +-------- + +Here’s a short example illustrating usage of several features together: + +.. tabs:: + + .. code-tab:: cpp + + Vector a = Vector::random(5); + Vector b = Vector::ones(5); + + a.init(3.14); + double max = a.max_coeff(); + + Vector diag = a.diag_matrix(); + + Vector slice = a.subvector(1, 3); + a.put(0, slice); + + if (a == b) + std::cout << "Same values!" << std::endl; + +See Also +-------- + +- :ref:`Interval class documentation ` +- :ref:`Matrix operations reference ` \ No newline at end of file diff --git a/doc/manual/manual/intervals/index.rst b/doc/manual/manual/intervals/index.rst index 368899992..bd3078c8e 100644 --- a/doc/manual/manual/intervals/index.rst +++ b/doc/manual/manual/intervals/index.rst @@ -15,7 +15,6 @@ Codac provides data structures for handling basic interval sets. These structure :hidden: Interval_class.rst - .. Vector_class.rst IntervalVector_class.rst BoolInterval_class.rst diff --git a/doc/manual/manual/linear/eigen.rst b/doc/manual/manual/linear/eigen.rst new file mode 100644 index 000000000..41840a5e0 --- /dev/null +++ b/doc/manual/manual/linear/eigen.rst @@ -0,0 +1,250 @@ +C++: efficient matrix operations using Eigen +============================================ + +Eigen is a C++ template library for linear algebra that provides powerful tools for matrix and vector operations. One of Eigen's key features is its use of **expression templates**, which allow efficient and optimized computations. This page explains how to leverage Eigen for high-performance matrix operations. + +What Are Expression Templates? +------------------------------ +Expression templates are a metaprogramming technique used in Eigen to delay the evaluation of mathematical expressions. Instead of creating intermediate objects for every operation, Eigen builds an abstract representation of the computation and evaluates it only when necessary. This approach reduces memory usage and improves performance. + +For example: + +.. code-block:: cpp + + #include + #include + + int main() { + Eigen::MatrixXd A = Eigen::MatrixXd::Random(3, 3); + Eigen::MatrixXd B = Eigen::MatrixXd::Random(3, 3); + Eigen::MatrixXd C = Eigen::MatrixXd::Random(3, 3); + + // The expression (A + B) * C is not evaluated immediately. + Eigen::MatrixXd D = (A + B) * C; + + std::cout << "Result: \n" << D << std::endl; + return 0; + } + +In this example, the computation `(A + B)` is not immediately performed. Instead, Eigen builds a representation of the entire expression `(A + B) * C` and optimizes it before execution. + +Key Advantages +-------------- +- **No Temporary Objects:** Expression templates avoid creating temporary matrices for intermediate results. +- **Optimized Operations:** Eigen combines multiple operations into a single, efficient computation. +- **Readable Code:** High-level syntax simplifies complex mathematical expressions. + +Efficient Use of Eigen +---------------------- +To maximize efficiency with Eigen, follow these best practices: + +1. **Avoid Explicit Loops:** Use Eigen's built-in functions and operators to manipulate matrices and vectors. + + .. code-block:: cpp + + // Inefficient: Explicit loop + for (int i = 0; i < A.rows(); ++i) { + for (int j = 0; j < A.cols(); ++j) { + A(i, j) += B(i, j); + } + } + + // Efficient: Vectorized addition + A += B; + +2. **Use Fixed-Size Matrices When Possible:** Eigen is optimized for small, fixed-size matrices. + + .. code-block:: cpp + + Eigen::Matrix3d A; // Fixed size 3x3 matrix + Eigen::Vector3d v; // Fixed size 3x1 vector + +3. **Leverage Lazy Evaluation:** Combine operations to benefit from expression templates. + + .. code-block:: cpp + + Eigen::MatrixXd A, B, C, D; + D = A + B + C; // Combined into a single operation + +4. **Enable Vectorization:** Eigen can use SIMD instructions for certain operations. To ensure vectorization is enabled, define the following macro: + + .. code-block:: cpp + + #define EIGEN_USE_BLAS + +Common Pitfalls +--------------- +1. **Unaligned Memory:** Avoid operations on matrices with unaligned memory, as they may lead to performance degradation. +2. **Unnecessary Copies:** Avoid explicit copies of matrices unless required. + + .. code-block:: cpp + + Eigen::MatrixXd A = B + C; // Efficient + Eigen::MatrixXd D = A; // Inefficient if unnecessary + +Further Reading +--------------- +- `Eigen Documentation `_ +- `Expression Templates Explained `_ + +By understanding and utilizing Eigen's expression templates, you can write efficient, high-performance matrix computations that are both elegant and powerful. + + +Limitations in Python +---------------------- + +Although expression templates provide significant performance benefits in C++, they cannot be directly applied in Python due to the differences in how the two languages handle operations and memory. + +In Python, operations on matrices are typically not evaluated lazily, and Python's dynamic nature does not support the same kind of compile-time optimizations that C++ offers. As a result, when performing matrix operations in Python, intermediate objects are often created, leading to potential performance bottlenecks, especially for large-scale computations. + +Libraries like NumPy in Python do use optimized C extensions behind the scenes, but they rely on a different approach (such as broadcasting and memory views) to achieve performance. While NumPy can handle many operations efficiently, it does not implement expression templates in the same way as Eigen in C++. + +Therefore, while the concept of expression templates is powerful in C++, it is not directly transferable to Python without significant adjustments to the language's execution model. + + + + + +Using Eigen in Codac for Interval Matrices +------------------------------------------- + +In the Codac library, Eigen's powerful template-based architecture is leveraged to handle matrices of intervals. By utilizing the `Interval` class from Codac, we can extend the capabilities of Eigen to represent matrices that store intervals, rather than just fixed values. This allows Codac to efficiently perform computations on uncertain or bounded data, which is common in constraint programming and optimization problems. + +An `Interval` represents a range of values, typically defined by a lower and upper bound. When creating matrices of `Interval` objects, we can perform interval arithmetic directly, benefiting from Eigen’s expression templates for efficient evaluation. + +For example, you can create a matrix of intervals as follows: + +.. code-block:: cpp + + #include + #include + #include + + int main() { + // Create two 3x3 matrices of intervals + Codac::Interval a(1, 3), b(2, 5), c(4, 6); + Eigen::Matrix, 3, 3> M1; + Eigen::Matrix, 3, 3> M2; + + M1 << a, b, c, + b, c, a, + c, a, b; + + M2 << c, a, b, + a, b, c, + b, c, a; + + // Perform matrix addition with interval values + Eigen::Matrix, 3, 3> M3 = M1 + M2; + + std::cout << "Matrix of Intervals M3: \n" << M3 << std::endl; + return 0; + } + +In this example, `M1` and `M2` are matrices of `Interval` objects, and we perform matrix addition as usual. The result, `M3`, is also a matrix of intervals, where each entry is the sum of the corresponding interval values from `M1` and `M2`. + +This approach allows Codac to work with uncertain or constrained data efficiently, benefiting from Eigen’s optimizations and providing robust handling of interval-based computations. + + + + +Eigen in Codac: Interval Matrices +---------------------------------- + +In the **Codac** library, Eigen is leveraged to efficiently handle **interval matrices** using its template-based approach. The `Interval` object in Codac represents a mathematical interval, and combining this with Eigen's matrix operations allows for the creation and manipulation of matrices that store intervals instead of exact values. This is particularly useful in fields such as constraint programming, where uncertainty or variability in data needs to be represented. + +The use of Eigen’s expression templates ensures that operations on these interval matrices remain efficient, avoiding unnecessary intermediate computations. + +### Example 1: Creating an Interval Matrix + +.. code-block:: cpp + + #include // Codac-specific headers + #include + #include + + int main() { + // Define an interval matrix + Eigen::Matrix M; + + // Initialize with some intervals + M(0, 0) = Interval(1.0, 2.0); // Interval from 1.0 to 2.0 + M(0, 1) = Interval(2.0, 3.0); // Interval from 2.0 to 3.0 + M(1, 0) = Interval(3.0, 4.0); // Interval from 3.0 to 4.0 + M(1, 1) = Interval(4.0, 5.0); // Interval from 4.0 to 5.0 + + std::cout << "Interval Matrix M: \n" << M << std::endl; + + return 0; + } + +In this example, `M1` and `M2` are matrices of `Interval` objects, and we perform matrix addition as usual. The result, `M3`, is also a matrix of intervals, where each entry is the sum of the corresponding interval values from `M1` and `M2`. + +This approach allows Codac to work with uncertain or constrained data efficiently, benefiting from Eigen’s optimizations and providing robust handling of interval-based computations. + + + +Operations Between a Regular Matrix and an Interval Matrix +---------------------------------------------------------- + +In **Codac**, it is possible to perform operations between a regular matrix (e.g., `Eigen::MatrixXd`) and an interval matrix (e.g., `Eigen::Matrix`) using Eigen’s expression templates. This is particularly useful when you want to combine exact values from a standard matrix with uncertain or bounded values represented by intervals. + +Eigen allows element-wise operations between matrices of different types (like `MatrixXd` and `IntervalMatrix`), and it will automatically handle the differences in data types. The result of such operations will be an interval matrix, where each element of the resulting matrix will be the corresponding interval from the interval matrix plus (or minus, or multiplied by, etc.) the corresponding value from the regular matrix. + +### Example: Adding a Regular Matrix to an Interval Matrix + +.. code-block:: cpp + + #include + #include // Codac-specific headers + #include + + int main() { + // Define a regular matrix + Eigen::MatrixXd A(2, 2); + A(0, 0) = 1.0; + A(0, 1) = 2.0; + A(1, 0) = 3.0; + A(1, 1) = 4.0; + + // Define an interval matrix + Eigen::Matrix B; + B(0, 0) = Interval(1.0, 2.0); // Interval from 1.0 to 2.0 + B(0, 1) = Interval(2.0, 3.0); // Interval from 2.0 to 3.0 + B(1, 0) = Interval(3.0, 4.0); // Interval from 3.0 to 4.0 + B(1, 1) = Interval(4.0, 5.0); // Interval from 4.0 to 5.0 + + // Add a regular matrix to an interval matrix + Eigen::Matrix C = B + A.cast(); + + std::cout << "Result of B + A: \n" << C << std::endl; + return 0; + } + + +In this example, we perform an element-wise addition between the regular matrix A (of type Eigen::MatrixXd) and the interval matrix B (of type Eigen::Matrix). Since A contains exact values, and B contains intervals, we first cast the regular matrix A to an interval matrix using A.cast(). This operation converts each element of A into a corresponding interval, where each element is represented by an interval with a lower and upper bound equal to the value of A. + +The result is stored in matrix C, which will be an interval matrix where each element represents the sum of the corresponding interval from B and the value from A (now cast to intervals). + + + +Inversion of Interval Matrices +------------------------------ + +Eigen provides several algorithms for matrix inversion, such as the **LU decomposition** and **QR decomposition**, which can be applied to interval matrices. However, when working with interval matrices, the results of matrix inversion may not always be guaranteed due to the nature of interval arithmetic. + +Since interval matrices represent ranges of values rather than exact numbers, the inversion of an interval matrix is inherently more complex. Inverting an interval matrix involves computing bounds for each element in the inverse matrix, which may not always be precise or reliable. Additionally, the matrix may not be invertible if it contains intervals that lead to a singular or nearly singular matrix, which can cause issues in numerical stability. + +### Example: Inversion of an Interval Matrix + +.. code-block:: cpp + + Eigen::Matrix A; + A(0, 0) = Interval(1.0, 2.0); + A(0, 1) = Interval(2.0, 3.0); + A(1, 0) = Interval(3.0, 4.0); + A(1, 1) = Interval(4.0, 5.0); + + // Attempting to invert an interval matrix + Eigen::Matrix A_inv = A.inverse(); + std::cout << "Inverse of A: \n" << A_inv << std::endl; diff --git a/doc/manual/manual/pavers/index.rst b/doc/manual/manual/pavers/index.rst new file mode 100644 index 000000000..f259364d1 --- /dev/null +++ b/doc/manual/manual/pavers/index.rst @@ -0,0 +1,8 @@ +Pavers +====== + +.. toctree:: + + The SIVIA algorithm + Pavers for contractors and separators + structures/index.rst \ No newline at end of file diff --git a/doc/manual/manual/pavers/structures/index.rst b/doc/manual/manual/pavers/structures/index.rst new file mode 100644 index 000000000..ff14312db --- /dev/null +++ b/doc/manual/manual/pavers/structures/index.rst @@ -0,0 +1,7 @@ +Paving structures +================= + +.. toctree:: + + RegularPaving + NonRegularPaving \ No newline at end of file diff --git a/doc/manual/manual/references/authors.rst b/doc/manual/manual/references/authors.rst new file mode 100644 index 000000000..04d50a937 --- /dev/null +++ b/doc/manual/manual/references/authors.rst @@ -0,0 +1,38 @@ +Contributors +============ + +The **Codac** library has been developed and improved with the invaluable contributions of many individuals. Each contributor has played a vital role in making this library more powerful and user-friendly. Below, we list the main contributors and their contributions to the project. Thank you all for your efforts! + +### Core Contributors + +- **Contributor 1 Name** + Role: Lead Developer + Contribution: Overview of key algorithms, architecture design, and core development. + +- **Contributor 2 Name** + Role: Developer + Contribution: Implemented the Interval Matrix functionalities, optimization routines, and bug fixes. + +- **Contributor 3 Name** + Role: Documentation Specialist + Contribution: Authored user manuals, tutorials, and contributed to the code comments. + +- **Contributor 4 Name** + Role: Research Contributor + Contribution: Provided theoretical insights into the mathematical foundations of the library. + +### Special Thanks + +We would also like to extend our thanks to the following individuals and organizations for their support, feedback, and contributions to the success of **Codac**: + +- **Supporter 1 Name** + Contribution: Tested early versions and provided valuable feedback on usability. + +- **Organization Name** + Contribution: Financial support and resources for maintaining the project. + +### How to Contribute + +We welcome contributions from anyone interested in improving **Codac**. If you'd like to get involved, please check out our contribution guidelines or open a pull request on GitHub. Your help, no matter how small, is greatly appreciated! + +Thank you to all contributors for their time and effort in making **Codac** a powerful and versatile library. diff --git a/doc/manual/manual/references/index.rst b/doc/manual/manual/references/index.rst new file mode 100644 index 000000000..e666d216b --- /dev/null +++ b/doc/manual/manual/references/index.rst @@ -0,0 +1,8 @@ +References +========== + +.. toctree:: + + papers.rst + authors.rst + How to cite Codac \ No newline at end of file diff --git a/doc/manual/manual/references/papers.rst b/doc/manual/manual/references/papers.rst new file mode 100644 index 000000000..e04f2cdcb --- /dev/null +++ b/doc/manual/manual/references/papers.rst @@ -0,0 +1,16 @@ +Related papers +============== + +This section provides the bibliographic references related to the library. You can add your references as necessary. Below is a placeholder list where you can insert relevant publications, research papers, or documentation that have been referenced during the development of the library. + +### Key References + +- **Reference 1**: Description of the first key reference. + +- **Reference 2**: Description of the second key reference. + +- **Reference 3**: Description of the third key reference. + +- **Reference 4**: Description of the fourth key reference. + +Feel free to update this section with additional references relevant to the usage, design, or theoretical background of the library. diff --git a/doc/manual/manual/separators/analytic/index.rst b/doc/manual/manual/separators/analytic/index.rst new file mode 100644 index 000000000..40fa89f12 --- /dev/null +++ b/doc/manual/manual/separators/analytic/index.rst @@ -0,0 +1,7 @@ +Analytic separators +=================== + +.. toctree:: + + SepInverse + SepTransform \ No newline at end of file diff --git a/doc/manual/manual/separators/basic/index.rst b/doc/manual/manual/separators/basic/index.rst new file mode 100644 index 000000000..02fcde469 --- /dev/null +++ b/doc/manual/manual/separators/basic/index.rst @@ -0,0 +1,6 @@ +Basic separators +================ + +.. toctree:: + + SepCtcPair \ No newline at end of file diff --git a/doc/manual/manual/separators/contractors/index.rst b/doc/manual/manual/separators/contractors/index.rst new file mode 100644 index 000000000..79fd5cd2a --- /dev/null +++ b/doc/manual/manual/separators/contractors/index.rst @@ -0,0 +1,6 @@ +Contractors obtained from separators +==================================== + +.. toctree:: + + CtcInnerOuter \ No newline at end of file diff --git a/doc/manual/manual/separators/geometric/index.rst b/doc/manual/manual/separators/geometric/index.rst new file mode 100644 index 000000000..ad1c47897 --- /dev/null +++ b/doc/manual/manual/separators/geometric/index.rst @@ -0,0 +1,8 @@ +Geometrical separators +====================== + +.. toctree:: + + SepPolarCart or SepCartPolar + SepPolygon + SepEllipse \ No newline at end of file diff --git a/doc/manual/manual/separators/index.rst b/doc/manual/manual/separators/index.rst new file mode 100644 index 000000000..61ea47172 --- /dev/null +++ b/doc/manual/manual/separators/index.rst @@ -0,0 +1,14 @@ +Separators +========== + +.. toctree:: + + What are separators? + The Sep class + basic/index.rst + set/index.rst + analytic/index.rst + geometric/index.rst + shape/index.rst + contractors/index.rst + Towards thick separators \ No newline at end of file diff --git a/doc/manual/manual/separators/set/index.rst b/doc/manual/manual/separators/set/index.rst new file mode 100644 index 000000000..0f90c5de9 --- /dev/null +++ b/doc/manual/manual/separators/set/index.rst @@ -0,0 +1,12 @@ +Set separators +============== + +.. toctree:: + + SepUnion + SepInter + SepQInter + SepCartProd + SepProj + SepNot + SepAction \ No newline at end of file diff --git a/doc/manual/manual/separators/shape/index.rst b/doc/manual/manual/separators/shape/index.rst new file mode 100644 index 000000000..0afa3d361 --- /dev/null +++ b/doc/manual/manual/separators/shape/index.rst @@ -0,0 +1,8 @@ +Shape separators +================ + +.. toctree:: + + SepCtcBoundary + SepWrapper + SepImage \ No newline at end of file diff --git a/doc/manual/manual/tools/sampled_traj_npz.rst b/doc/manual/manual/tools/sampled_traj_npz.rst deleted file mode 100644 index 822ce9b6e..000000000 --- a/doc/manual/manual/tools/sampled_traj_npz.rst +++ /dev/null @@ -1,66 +0,0 @@ -.. _sec-trajectories-sampledtraj: - -Sampled trajectories -==================== - -In Python, the ``SampledTraj`` name is a convenience wrapper that mimics the -C++ template deduction style. Depending on the provided samples, it builds and -returns one of the following objects: - -- ``SampledTraj_Scalar`` -- ``SampledTraj_Vector`` -- ``SampledTraj_Matrix`` - -This keeps the user-facing syntax short and consistent with ``AnalyticTraj``. - - -Loading a sampled trajectory from a ``.npz`` file -------------------------------------------------- - -A sampled trajectory cannot be constructed directly from a file path. -The recommended workflow is: - -1. load the ``.npz`` file with ``numpy.load``; -2. extract the arrays containing the sampling times and sampled values; -3. call ``SampledTraj(t, x)``. - -The wrapper then deduces the appropriate trajectory type from ``x``. - -.. tabs:: - - .. group-tab:: Python - - .. code-block:: python - - import numpy as np - from codac import * - - data = np.load("traj_vec.npz") - traj = SampledTraj(data["t"], data["x"]) - - print(type(traj)) - -In the above example, if ``x`` is a 2D array of shape ``(N,n)``, then -``traj`` is a ``SampledTraj_Vector``. - -Another example: - -.. tabs:: - - .. group-tab:: Python - - .. code-block:: python - - import numpy as np - from codac import * - - t = np.array([0.0, 0.5, 1.0, 1.5]) - x = np.array([ - [0.0, 1.0], - [0.5, 1.5], - [1.0, 2.0], - [1.5, 2.5], - ]) - - traj = SampledTraj(t, x) - print(traj) # outputs: SampledTraj. [0, 1.5]↦[[0, 1.5][1, 2.5]], 4 pts \ No newline at end of file diff --git a/doc/manual/manual/topology/index.rst b/doc/manual/manual/topology/index.rst new file mode 100644 index 000000000..82ff33fcf --- /dev/null +++ b/doc/manual/manual/topology/index.rst @@ -0,0 +1,7 @@ +Topology +======== + +.. toctree:: + + Extract connected subsets from pavings + Topological degree: verify zeros of an inclusion function \ No newline at end of file diff --git a/doc/manual/manual/tubes/index.rst b/doc/manual/manual/tubes/index.rst index 489fe0b00..d7dd71189 100644 --- a/doc/manual/manual/tubes/index.rst +++ b/doc/manual/manual/tubes/index.rst @@ -1,5 +1,4 @@ -.. _sec-domains-tubes: -.. _sec-domains-tubes-trajectories: +.. _sec-tubes-trajectories: Tubes & Trajectories ==================== @@ -36,6 +35,8 @@ Trajectories are intended to represent approximations of solutions or measured s trajectory_io +.. _sec-tubes: + Tubes ----- diff --git a/doc/manual/manual/tubes/old/trajectories.rst b/doc/manual/manual/tubes/old/trajectories.rst new file mode 100644 index 000000000..a39f96bfb --- /dev/null +++ b/doc/manual/manual/tubes/old/trajectories.rst @@ -0,0 +1,19 @@ +.. _sec-trajectories: + +Trajectories +============ + +A trajectory describes a time-dependent value :math:`x(\cdot):[t_0,t_f]\to\mathbb{R}^n`. Two representations are available: + +* :doc:`sampledtraj` stores time/value samples and interpolates linearly between them. +* :doc:`analytictraj` evaluates a known expression of time through an ``AnalyticFunction``. + +``SampledTraj`` is useful for numerical signals, while ``AnalyticTraj`` represents trajectories defined by analytical expressions. Both support scalar, vector and matrix trajectories. In Codac, trajectories are intended to represent approximations of solutions or measured signals, while tubes are used to perform guaranteed computations by enclosing uncertainties. + + +The following pages describe their construction, evaluation, common operations, and input/output: + +* :doc:`sampledtraj` +* :doc:`analytictraj` +* :doc:`trajectory_operations` +* :doc:`trajectory_io` diff --git a/doc/manual/manual/tubes/old/trajectory_reference.rst b/doc/manual/manual/tubes/old/trajectory_reference.rst new file mode 100644 index 000000000..6c5f4414f --- /dev/null +++ b/doc/manual/manual/tubes/old/trajectory_reference.rst @@ -0,0 +1,60 @@ +.. _sec-trajectories-reference: + +Trajectory API overview +======================= + +[retirer cette page et reverser éventuellement les fonctions vers d'autres pages] + +.. list-table:: Common operations + :header-rows: 1 + :widths: 31 34 35 + + * - Operation + - ``SampledTraj`` + - ``AnalyticTraj`` + * - ``tdomain()`` / ``codomain()`` / ``size()`` + - Time domain, range and output dimension + - Time domain, interval range and output dimension + * - ``x(t)`` / ``x([a,b])`` + - Interpolated value / range hull + - Analytic value / interval evaluation + * - ``sampled(dt)`` + - Adds samples; keeps original timestamps by default + - Samples the analytic expression + * - ``sampled_as(reference)`` + - Interpolates at reference timestamps + - Evaluates at reference timestamps + * - ``truncate_tdomain([a,b])`` + - Inserts boundary samples + - Restricts the evaluation domain + * - ``primitive(dt)`` + - Numerical integration + - Numerical integration + * - ``as_function()`` + - Embeds the interpolant in an analytic expression + - Embeds the analytic law in an expression + +.. list-table:: Additional ``SampledTraj`` operations + :header-rows: 1 + :widths: 36 64 + + * - Operation + - Description + * - ``set(value,time)`` / iteration + - Insert or replace a sample / traverse stored samples + * - ``nb_samples()`` + - Number of distinct timestamps; ``size()`` gives the codomain dimension + * - ``x[i]`` / ``subvector(i,j)`` + - Extract components of a vector trajectory + * - ``shift_tdomain(dt)`` / ``stretch_tdomain([a,b])`` + - Translate or rescale timestamps + * - ``derivative()`` / ``primitive()`` + - Numerical derivative / trapezoidal integral on existing samples + * - ``traj_cart_prod(...)`` + - Combine trajectories with identical timestamps + * - ``continuous_traj(x)`` + - Correct apparent jumps in a periodic scalar signal + +The C++ API also offers ``same_sampling()`` and ``as_scalar_trajs()``.[placer cette information dans une section dédiée (j'imagine dans une des pages précédentes)] Some template overloads differ from the Python bindings; for example, ``sampled_as()`` accepts a reference with another codomain type in C++, whereas the supplied Python bindings require matching types [trop technique pour être d'intérêt ici, à retirer]. For ``traj_eval()``, Python supports homogeneous scalar or vector inputs, while C++ also supports mixed arguments. [à placer dans la section d'évaluation appropriée] + +See :doc:`sampledtraj`, :doc:`analytictraj` and :doc:`trajectory_operations` for examples and the associated semantics. diff --git a/doc/manual/manual/tubes/old/tube_examples.rst b/doc/manual/manual/tubes/old/tube_examples.rst new file mode 100644 index 000000000..e9b1de5d5 --- /dev/null +++ b/doc/manual/manual/tubes/old/tube_examples.rst @@ -0,0 +1,159 @@ +.. _sec-domains-tubes-examples: + +Programming examples +==================== + + Main author: `Simon Rohou `_ + +The following examples illustrate basic operations on sliced tubes. + +Example 1: building and evaluating a scalar tube +------------------------------------------------ + +The following example builds a scalar tube over a sampled temporal domain and assigns different values on successive temporal intervals. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [tube-example-1-beg] + :end-before: [tube-example-1-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [tube-example-1-beg] + :end-before: [tube-example-1-end] + :dedent: 4 + + + +Example 2: refining a temporal domain from a tube update +-------------------------------------------------------- + +Local assignments refine the shared temporal partition when necessary. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [tube-example-2-beg] + :end-before: [tube-example-2-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [tube-example-2-beg] + :end-before: [tube-example-2-end] + :dedent: 4 + +The same partition is updated for all tubes sharing the temporal domain. + +Example 3: tube from an analytic function +----------------------------------------- + +For :math:`f(t)=10\cos(t)+t`, a ``SlicedTube`` encloses the function over each time slice rather than evaluating it only at isolated timestamps. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [tube-example-3-beg] + :end-before: [tube-example-3-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [tube-example-3-beg] + :end-before: [tube-example-3-end] + :dedent: 4 + + +Example 4: derivative-aware slice reasoning +------------------------------------------- + +The following pattern uses a derivative tube and ``CtcDeriv`` to sharpen a scalar slice. The slice can then build a polygonal enclosure used for refined evaluation or inversion. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [tube-example-4-beg] + :end-before: [tube-example-4-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [tube-example-4-beg] + :end-before: [tube-example-4-end] + :dedent: 4 + +The derivative constraint can narrow the tube before evaluating individual slices. + +Example 5: integration and primitive tubes +------------------------------------------ + +The integration API supports point and interval queries and can also build a primitive tube. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [tube-example-5-beg] + :end-before: [tube-example-5-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [tube-example-5-beg] + :end-before: [tube-example-5-end] + :dedent: 4 + + + +Example 6: Cartesian product of tubes +------------------------------------- + +When several sliced tubes share the same temporal domain, you can build a vector-valued tube by stacking their codomains slice by slice. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [tube-example-6-beg] + :end-before: [tube-example-6-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [tube-example-6-beg] + :end-before: [tube-example-6-end] + :dedent: 4 + +All inputs must share the same temporal-domain object. + +For the analogous operation on ``SampledTraj`` objects, see :ref:`sec-trajectories-operations` (``traj_cart_prod``). diff --git a/doc/manual/manual/tubes/old/tube_io.rst b/doc/manual/manual/tubes/old/tube_io.rst new file mode 100644 index 000000000..45fd787f5 --- /dev/null +++ b/doc/manual/manual/tubes/old/tube_io.rst @@ -0,0 +1,60 @@ +.. _sec-domains-tubes-io: + +Tube input, output and visualization +==================================== + +[même commentaire que précédemment, je doute de la pertinence de cette page, il vaudrait mieux transférer vers les sections dédiées] + +From time series +---------------- + +A ``SlicedTube`` can enclose the interpolation of a ``SampledTraj`` on a selected ``TDomain``. Inflate it by a justified uncertainty bound when the tube is intended to enclose an unknown signal, rather than just the interpolant. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [tube-parity-input-beg] + :end-before: [tube-parity-input-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [tube-parity-input-beg] + :end-before: [tube-parity-input-end] + :dedent: 4 + +Inspecting and saving tubes +--------------------------- +[retirer cette section. On fera un jour les fonctions de serialization, mais pas maintenant. On retire] + +For inspection, slice bounds can be written to a text file. The example below exports the temporal supports, codomains and gate indicators. This is not a native tube serialization format. + +.. tabs:: + + .. group-tab:: Python + + .. literalinclude:: src.py + :language: python + :start-after: [tube-parity-export-beg] + :end-before: [tube-parity-export-end] + :dedent: 4 + + .. group-tab:: C++ + + .. literalinclude:: src.cpp + :language: c++ + :start-after: [tube-parity-export-beg] + :end-before: [tube-parity-export-end] + :dedent: 4 + +The current binary ``serialize`` API supports ``SampledTraj`` but not direct serialization of ``SlicedTube`` or its shared ``TDomain``. Saving ``tube.mid()`` stores only an approximate trajectory, not the tube. See :doc:`trajectory_io` and :ref:`sec-tools-serialization`. + +Visualization +------------- + +Use ``Figure2D.plot_tube`` to draw interval enclosures over time, or ``Figure2D.plot_trajectory`` for a nominal signal. See :doc:`../visualization/functions`. diff --git a/doc/manual/manual/tubes/old/tube_reference.rst b/doc/manual/manual/tubes/old/tube_reference.rst new file mode 100644 index 000000000..3443e1f09 --- /dev/null +++ b/doc/manual/manual/tubes/old/tube_reference.rst @@ -0,0 +1,60 @@ +.. _sec-domains-tubes-reference: + +Tube API overview +================= + +[retirer cette page et reverser éventuellement les fonctions vers d'autres pages] + +.. list-table:: Temporal domain and slices + :header-rows: 1 + :widths: 38 62 + + * - Operation + - Description + * - ``create_tdomain([a,b],dt,with_gates)`` + - Create a shared time partition with optional gates + * - ``td->sample(t)`` / ``td->truncate([a,b])`` + - Refine or restrict the temporal partition + * - ``td->nb_tslices()`` / ``td->nb_tubes()`` + - Count temporal elements / attached tubes + * - ``td->tslice(t)`` / ``td->tslices_vector()`` + - Access temporal elements + * - ``s.t0_tf()`` / ``s.codomain()`` + - Read a slice's temporal support and interval enclosure + * - ``s.is_gate()`` / ``s.input_gate()`` / ``s.output_gate()`` + - Inspect gate information + +.. list-table:: ``SlicedTube`` operations + :header-rows: 1 + :widths: 41 59 + + * - Operation + - Description + * - ``SlicedTube(td,domain)`` / ``SlicedTube(td,f)`` + - Initialize from an interval codomain or an analytic function + * - ``SlicedTube(td,traj)`` + - Enclose a trajectory on the partition + * - ``x.tdomain()`` / ``x.nb_slices()`` / ``x.size()`` + - Shared partition / number of elements / output dimension + * - ``x.set(...)`` / ``x.inflate(r)`` + - Assign values / enlarge enclosures + * - ``x(t)`` / ``x([a,b])`` + - Evaluate over a time or an interval + * - ``x.invert(y)`` + - Find compatible time enclosures + * - ``x.integral(...)`` / ``x.primitive(...)`` + - Interval integration / primitive tube + * - ``x[i]`` / ``x.subvector(i,j)`` + - Extract components of vector tubes + * - ``x.mid()`` + - Construct a numerical midpoint trajectory + * - ``tube_cart_prod(...)`` + - Assemble tubes sharing one ``TDomain`` + * - ``f.tube_eval(...)`` + - Evaluate analytic functions on tube arguments + * - ``x.as_function()`` + - Use a tube in an analytic expression for forward evaluation + +Operations between tubes require a shared temporal-domain object, even when independently created domains contain identical partitions. The available overloads depend on the codomain type; some template operations are not exposed in Python. Direct binary serialization of ``SlicedTube`` is not currently available. + +See :doc:`tdomain`, :doc:`slice`, :doc:`slicedtube` and :doc:`tube_operations` for details and examples. diff --git a/doc/manual/manual/tubes/old/tubes.zip b/doc/manual/manual/tubes/old/tubes.zip new file mode 100644 index 0000000000000000000000000000000000000000..f954d888bae1df67430b6ccb7386d192b2cfcd40 GIT binary patch literal 675710 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≤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
QvE4XS5F+3Mf2JOi6LRKh^Af+=e9#fthV_ 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�eC7qA4NCj@52Z=ZD*KUY~l=`iV1C$SgJU|fKGBNSU=@MSc4Saljnd6N9 z_%Sgt+nXOer2^L7AydD$Qz{OA@N9l9Mt8gn%mYCAgQh>*=Q>}!KwZk-a@BR_?$@vH zHa70siIT~xg(=e0)92>u-1GR-n}(K9A!}kk&(5MzzOTK+*VTg;dSLeR=Ys!jgeDL3 z^69q*%)=Oek*WlNeo#9oqk71}Fxy zJrQE{8C=t25JihHV8Er+>DPF&vhd=X=q^>_RVuW6mnP}9ke#Gp4Ar`UR1ic1ryADW z4~gje?LDFtZ5_=Edgx%`p!Vn3<{q)5u`ESn_`h8aMC!18g=~^QoyR)c(F69{zc8@u;lqxG@2H)We4lH4<2IktG5s1XN1J zo%#YI%F9_~HL29Lu@Kx6ns%rzR6zy3y}D2p0umCpvftvh5Q0;jU0yB?{=JDD5@DF$ zE2tg-&T8L9bF(6IJ#ay0;5QBs$f={tS&^kf+%Z&S0SwAHvF3doV?fK+9v_~SfKF6_ zVsQj&HU=$$Hew*TO~-Gjw7b3GnYZu2u@pH4vmk&u-9 z{N>9Na7RFAF`VUOsGIZb!u@BS6Q!ud;ntTSXz~Q-fJss@GUlOswjia|p z!(=VfXeZOPYuCug$!Q<0Vc6pA(o!*!zGF{a_Se5m^KS-hEaY~^G13w+tU!#dD_s*b zlGsaTXPwct2_TmV+YMXdO~Lw>HUFto_`M`~F^&-HX2e0UMId_#sR>q$66i*Icdlt5 zXp0EbMK@N$XPThp8vEqskG0ugOWk`@#q0c5GF)G$=Vq!#6*|AX)q&UB-y_;A1O`Zf z@W8*P5{0)uc4&`03puQ&d|asX673bQC) zYlzp#Mh_1oAbHi<86gvzcIf2geAKsPX4V2IH|bQO3mx+E^BW--ZFmf!p(4PF2Scua zN7Uu!$LqnLvTUl%9nmL&-k7vQqZz#~dw$hzEs;L5PY(x7Fq&P&n#Z zq4qwc6zI`H09~IeSB_BF^WuoZ(bkx=0PX1V6EMaG@#xVgjHn+Apa-(ZG7X&%0AX%q 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

b_q7!xV%?g5>!pZNzt=N} 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 z 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�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 z zGww#-?ON{2)CSt3{XLogp+{41CajzK_U)Up`fS9zvN9f^O9*+wlgeSVfHT(R6ctm= zn_hZIa_*PqaQS}OLetx~{8D1_>(w3^?i6iA4y<8L(sPOz-PYKs zl8vI(^WyX@H(*>sB3UYj+xrX7gRRDg0IhTyV74P%+ z_M`@)PZf$u%r9DD0_owyhv1(=Z2FCkL)jKd!H#OyX6x+AE;@E#%jd)8Qk48YoINF{Nqlj# z{XQlJZ>Ugxbz`JtP%{L-7T!#8S?Mta2t`avda&1uH`L_sf0<1F&^5BPr2OW!@TmSw zzlYC$A*%v$rpEBf>7sxIX)lpSHmbk_uGj8mX@`v-4#SDL71-%Phq>z_ILRTCSH|DN zx4%WcJG4=9%JL-*N<2a*HvWjq6C7@{Y24b?TkeZnG=y9IH@84Cw5m$rTV*8$p9KOS z7Arm}se+9SyFsnv*YCn#jq$2~rwhFYk>RD`@6x01u+je&&)Eg%$! ziVr{#cwPqmM+aM@X9Pgw0Oo?QL+(Pxip@}u+)!$r7CW{mgbCuSU%hT_U7tnNZsdXK=JX(xcRsC zMEpe_99-DAAJ`s%;{w>A`7f$%-JkjA&Oh$haT;*%%<0ROfZ?l?hKr(pPjpS zzGb=S)vv*tDOno6CDPz3kO(!=rIy%lBN7o)$zWpWF`NGt2>Jb|PvmK74_1V7^RJ24 z)(@p?Z)&oZ?|E%VRP>s>6g=rlt~_MQPAh$KCa-ak`HNL# zrjEpXE@tgVV@H?xO=rcAl$eSInj@pi3fH%Ug0^|afqU#kGYG@Bh3#uj|T4)hyHvUZozXO~k-M|AbJ1t}X_p@?RvD`adDuiFT@=%sGScg}>0LY@75MH0s-#2L($;1t z+1c57yY9~>CYB21)({9Cur+LW5)N!b-kbI)udoo%t?;DIHN% zM6|TMz=aX--}B3-b3P>ERbCLZ2Jv}%l%i98lolm ztfmEQd45j%9e0s*^LKKdb-#pnaU|6*HYhs++ii+7Cm-M5E_etm+G7# zGTFygcy)+ryVXkGIhyTojm^Zr9^?P;mUHrtb-#yi6s0hlU{$Wq+mIsm(CC_@{WrC@ z&kUj!qIhqsXTYO6gP>>KmoZo%^Qj*u>duy8!o$Oh%QwZVXYvNywuE$J$PI482lL

D4HpemTWsEn$N$~$ZXe`j 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 + +A tube :math:`[x](\cdot)` represents the set of trajectories satisfying :math:`x(t)\in[x](t)` at every time. Its codomain is typically an interval or a box, and contractors can reduce these enclosures using observations and dynamical constraints without discarding feasible trajectories. + +A ``SlicedTube`` represents a tube over a temporal partition :class:`~codac.TDomain`. Each time element is a :class:`~codac.TSlice`, with an associated :class:`~codac.Slice` for each tube. Several tubes may share one temporal partition, so refining it also updates the structure of the other tubes. + +The principal codomains are ``Interval``, ``IntervalVector`` and ``IntervalMatrix``. They represent scalar, vector and matrix sliced tubes. C++ also supports compatible custom codomains. + +.. figure:: ./tube_slices.png + :width: 70% + + A sliced tube :math:`[x](\cdot)`, represented by interval enclosures over a temporal partition. + +See :doc:`tdomain` for the shared temporal partition, :doc:`slice` for gates and :doc:`slicedtube` for construction, evaluation and operations. Practical examples are given in :doc:`tube_examples`. diff --git a/doc/manual/manual/tubes/sampledtraj.rst b/doc/manual/manual/tubes/sampledtraj.rst index a6c0205ce..ee15ccf1f 100644 --- a/doc/manual/manual/tubes/sampledtraj.rst +++ b/doc/manual/manual/tubes/sampledtraj.rst @@ -1,4 +1,3 @@ -.. _sec-trajectories-reference: .. _sec-trajectories-sampledtraj: Sampled trajectories diff --git a/doc/manual/manual/tubes/slice.rst b/doc/manual/manual/tubes/slice.rst index c601668de..412ed0bb6 100644 --- a/doc/manual/manual/tubes/slice.rst +++ b/doc/manual/manual/tubes/slice.rst @@ -1,4 +1,4 @@ -.. _sec-domains-slice: +.. _sec-tubes-slice: The Slice and TSlice classes ============================ diff --git a/doc/manual/manual/tubes/slicedtube.rst b/doc/manual/manual/tubes/slicedtube.rst index 3720bbee0..c596387c3 100644 --- a/doc/manual/manual/tubes/slicedtube.rst +++ b/doc/manual/manual/tubes/slicedtube.rst @@ -1,6 +1,4 @@ -.. _sec-domains-tubes-io: -.. _sec-domains-tubes-reference: -.. _sec-domains-tubes-slicedtube: +.. _sec-tubes-slicedtube: Sliced tubes ============ diff --git a/doc/manual/manual/tubes/src.cpp b/doc/manual/manual/tubes/src.cpp index 7dce707bb..089458cb1 100644 --- a/doc/manual/manual/tubes/src.cpp +++ b/doc/manual/manual/tubes/src.cpp @@ -74,15 +74,17 @@ TEST_CASE("TDomain class - manual") SlicedTube v(td, Interval(-1,1)); cout << x << endl; // outputs [0,2]->[0,1], 2 slices - cout << v << endl; // outputs [0,2]->[0,1], 2 slices + cout << v << endl; // outputs [0,2]->[-1,1], 2 slices size_t n = td->nb_tslices(); // 2: [0,1],[1,2] x.set({0.5,1}, 1.3); // local update, will refine the partition at t=1.3 size_t m = td->nb_tslices(); // now 4: [0,1],[1,1.3],[1.3],[1.3,2] - cout << x << endl; // outputs [0,2]->[-1,1], 4 slices + cout << x << endl; // outputs [0,2]->[0,1], 4 slices cout << v << endl; // outputs [0,2]->[-1,1], 4 slices (v is also impacted by x.set(..)) // [tdomain-class-4-end] + CHECK(x.codomain() == Interval(0,1)); + CHECK(v.codomain() == Interval(-1,1)); CHECK(n == 2); CHECK(m == 4); } diff --git a/doc/manual/manual/tubes/src.py b/doc/manual/manual/tubes/src.py index 858947fe2..71eaffa09 100644 --- a/doc/manual/manual/tubes/src.py +++ b/doc/manual/manual/tubes/src.py @@ -54,16 +54,18 @@ def tests_TDomain_manual(test): v = SlicedTube(td, Interval(-1,1)) print(x) # outputs [0,2]->[0,1], 2 slices - print(v) # outputs [0,2]->[0,1], 2 slices + print(v) # outputs [0,2]->[-1,1], 2 slices n = td.nb_tslices() # 2: [0,1],[1,2] x.set([0.5,1], 1.3) # local update, will refine the partition at t=1.3 m = td.nb_tslices() # now 4: [0,1],[1,1.3],[1.3],[1.3,2] - print(x) # outputs [0,2]->[-1,1], 4 slices + print(x) # outputs [0,2]->[0,1], 4 slices print(v) # outputs [0,2]->[-1,1], 4 slices (v is also impacted by x.set(..)) # [tdomain-class-4-end] + test.assertTrue(x.codomain() == Interval(0,1)) + test.assertTrue(v.codomain() == Interval(-1,1)) test.assertTrue(n == 2) test.assertTrue(m == 4) diff --git a/doc/manual/manual/tubes/tdomain.rst b/doc/manual/manual/tubes/tdomain.rst index 7b3b7304e..27541aba0 100644 --- a/doc/manual/manual/tubes/tdomain.rst +++ b/doc/manual/manual/tubes/tdomain.rst @@ -1,4 +1,4 @@ -.. _sec-domains-tubes-tdomain: +.. _sec-tubes-tdomain: The TDomain class ================= diff --git a/doc/manual/manual/tubes/tube_examples.rst b/doc/manual/manual/tubes/tube_examples.rst index e9b1de5d5..62d173e01 100644 --- a/doc/manual/manual/tubes/tube_examples.rst +++ b/doc/manual/manual/tubes/tube_examples.rst @@ -1,4 +1,4 @@ -.. _sec-domains-tubes-examples: +.. _sec-tubes-examples: Programming examples ==================== diff --git a/doc/manual/manual/visualization/colors.rst b/doc/manual/manual/visualization/colors.rst index aaba29598..bf36d6826 100644 --- a/doc/manual/manual/visualization/colors.rst +++ b/doc/manual/manual/visualization/colors.rst @@ -129,6 +129,7 @@ Additionnal methods are available for any useful purpose: .. _subsec-graphics-colors-style-properties: + StyleProperties --------------- @@ -208,7 +209,9 @@ For more information, see :ref:`subsec-graphics-colors-optional-arguments`. fig.draw_box(IntervalVector({{2,5},{2,5}}), StyleProperties(Color().red(), "..", "layer1", "w:0.1", "z:1.5")); % Red edge, dotted line, line width of 0.1, z-value of 1.5 and on layer1 + .. _subsec-graphics-colors-paving-style: + Paving style ------------ @@ -341,7 +344,9 @@ You can also create your own color map : Note that you can add RGB and HSV colors to the same color map. The model of the color map will define the interpolation space. + .. _subsec-graphics-colors-style-gradient-properties: + StyleGradientProperties ----------------------- diff --git a/doc/manual/tuto/cp_robotics/lesson_b_data_association.rst b/doc/manual/tuto/cp_robotics/lesson_b_data_association.rst index 27d59a83f..ed0fb5c52 100644 --- a/doc/manual/tuto/cp_robotics/lesson_b_data_association.rst +++ b/doc/manual/tuto/cp_robotics/lesson_b_data_association.rst @@ -168,7 +168,7 @@ where :math:`\bigsqcup`, called *squared union*, returns the smallest box enclos \mathcal{C}_\mathbb{M}\left(\left[\mathbf{a}\right]\right)=\bigsqcup_{j=1}^{\ell}\big(\left[\mathbf{a}\right]\cap[\mathbf{m}_{j}]\big) - The user manual may help you to :ref:`compute operations on sets ` such as unions or intersections, appearing in the formula. Note that you cannot change the definition of the ``.contract()`` method. + The user manual may help you to :ref:`compute operations on sets ` such as unions or intersections, appearing in the formula. Note that you cannot change the definition of the ``.contract()`` method. .. container:: toggle, toggle-hidden From 72f9a80c980e9f53073530480f0579af8b497245 Mon Sep 17 00:00:00 2001 From: Simon Rohou Date: Thu, 22 Oct 2026 14:03:01 +0200 Subject: [PATCH 3/4] [doc] tubes: updated src py/cpp --- doc/manual/manual/tubes/src.cpp | 53 ++++++++++++++++----------------- doc/manual/manual/tubes/src.py | 49 +++++++++++++++--------------- 2 files changed, 49 insertions(+), 53 deletions(-) diff --git a/doc/manual/manual/tubes/src.cpp b/doc/manual/manual/tubes/src.cpp index 089458cb1..c3d690c36 100644 --- a/doc/manual/manual/tubes/src.cpp +++ b/doc/manual/manual/tubes/src.cpp @@ -73,18 +73,16 @@ TEST_CASE("TDomain class - manual") SlicedTube x(td, Interval(0,1)); SlicedTube v(td, Interval(-1,1)); - cout << x << endl; // outputs [0,2]->[0,1], 2 slices - cout << v << endl; // outputs [0,2]->[-1,1], 2 slices + cout << x << endl; // codomain [0,1], 2 temporal elements + cout << v << endl; // codomain [-1,1], 2 temporal elements size_t n = td->nb_tslices(); // 2: [0,1],[1,2] x.set({0.5,1}, 1.3); // local update, will refine the partition at t=1.3 size_t m = td->nb_tslices(); // now 4: [0,1],[1,1.3],[1.3],[1.3,2] - cout << x << endl; // outputs [0,2]->[0,1], 4 slices - cout << v << endl; // outputs [0,2]->[-1,1], 4 slices (v is also impacted by x.set(..)) + cout << x << endl; // codomain [0,1], 4 temporal elements + cout << v << endl; // codomain [-1,1], 4 temporal elements (shared partition refined) // [tdomain-class-4-end] - CHECK(x.codomain() == Interval(0,1)); - CHECK(v.codomain() == Interval(-1,1)); CHECK(n == 2); CHECK(m == 4); } @@ -113,9 +111,9 @@ TEST_CASE("SlicedTube class - manual") auto td = create_tdomain({0,10}, 0.1, true); // Sliced tube from interval-type codomains - SlicedTube x(td, Interval(-1,1)); // x has type SlicedTube - SlicedTube y(td, IntervalVector(2)); // y has type SlicedTube - SlicedTube z(td, IntervalMatrix(2,2)); // z has type SlicedTube + SlicedTube x(td, Interval(-1,1)); // scalar tube: SlicedTube + SlicedTube y(td, IntervalVector(2)); // vector tube: SlicedTube + SlicedTube z(td, IntervalMatrix(2,2)); // matrix tube: SlicedTube // Explicit template notation remains possible: SlicedTube x2(td, Interval(-1,1)); @@ -123,8 +121,7 @@ TEST_CASE("SlicedTube class - manual") // From an analytic function ScalarVar t; AnalyticFunction f({t}, sin(t)); - SlicedTube xf(td, f); - // xf has type SlicedTube because f outputs scalar values + SlicedTube xf(td, f); // scalar tube: SlicedTube // From an analytic trajectory or sampled trajectory AnalyticTraj at({0,10}, AnalyticFunction({t},cos(t))); @@ -227,7 +224,7 @@ TEST_CASE("SlicedTube class - manual") SlicedTube A(td, IntervalMatrix(2,2)); SlicedTube b(td, IntervalVector(2)); - auto y = A * b; // type: SlicedTube + auto y = A * b; // vector tube: SlicedTube // [slicedtube-class-7-end] } @@ -241,7 +238,7 @@ TEST_CASE("SlicedTube class - manual") ScalarVar h, v; AnalyticFunction f({h,v}, {v*cos(h), v*sin(h)}); - auto velocity = f.tube_eval(heading,speed); // SlicedTube + auto velocity = f.tube_eval(heading,speed); // vector tube: SlicedTube VectorVar p(2); AnalyticFunction g({p}, sqr(p[0])+sqr(p[1])); @@ -270,8 +267,8 @@ TEST_CASE("SlicedTube class - manual") // [slicedtube-class-9-beg] // Component and subvector extraction - auto x0 = x[0]; // type: SlicedTube - auto x12 = x.subvector(1,2); // type: SlicedTube + auto x0 = x[0]; // scalar tube: SlicedTube + auto x12 = x.subvector(1,2); // vector tube: SlicedTube // [slicedtube-class-9-end] } @@ -350,9 +347,9 @@ TEST_CASE("Trajectory classes - manual") // [traj-analytic-create-end] // [traj-analytic-eval-beg] - double y_point = traj_f(0.5); - Interval y_interval = traj_f({0,1}); - Vector p_point = traj_g(0.5); + double y_point = traj_f(0.5); // scalar value + Interval y_interval = traj_f({0,1}); // interval enclosure + Vector p_point = traj_g(0.5); // vector value // [traj-analytic-eval-end] CHECK(y_interval.contains(y_point)); CHECK(p_point.size() == 2); @@ -417,7 +414,7 @@ TEST_CASE("Trajectory classes - manual") AnalyticTraj traj({0,2}, AnalyticFunction({t}, sin(t))); auto td = create_tdomain({0,2}, 0.1); SlicedTube tube(td, traj); - tube.inflate(0.05); // valid only if +/- 0.05 is a justified error bound + tube.inflate(0.05); // encloses the true signal if its error is bounded by 0.05 // [traj-ops-tube-end] } @@ -444,8 +441,8 @@ TEST_CASE("Trajectory reference - manual") { // [traj-sampled-grid-beg] SampledTraj x({{0.,0}, {1.,2}, {2.,0}}); - auto merged = x.sampled(0.6); // retains 0, 1 and 2 - auto regular = x.sampled(0.6, false); // only regular grid and final time + auto merged = x.sampled(0.6); // original samples also retained + auto regular = x.sampled(0.6, false); // regular grid and final time only SampledTraj clock({{0.,0}, {0.5,0}, {1.5,0}, {2.,0}}); auto aligned = x.sampled_as(clock); // x evaluated at clock's timestamps // [traj-sampled-grid-end] @@ -456,7 +453,7 @@ TEST_CASE("Trajectory reference - manual") // [traj-sampled-construct-alt-beg] std::map samples({{0.,3}, {1.,4}, {2.,5}}); SampledTraj x(samples); - x.set(6., 1.); // overwrites value at t=1 + x.set(6., 1.); // replaces value at t=1 SampledTraj y({0.,1.,2.}, {3,6,5}); // two std::list arguments // [traj-sampled-construct-alt-end] CHECK(x.nb_samples() == 3); @@ -476,9 +473,9 @@ TEST_CASE("Trajectory reference - manual") // [traj-ops-pointwise-beg] SampledTraj x({{0.,0}, {1.,1}, {2.,2}}); SampledTraj y({{0.,2}, {1.,3}, {2.,4}}); - auto sum = x + y; // pointwise at shared timestamps - auto sq = sqr(x); // square sample values, then interpolate - auto sin_x = sin(x); // not the same as t -> sin(x(t)) between samples + auto sum = x + y; // computed at matching timestamps + auto sq = sqr(x); // square samples, then interpolate + auto sin_x = sin(x); // transform samples, then interpolate // [traj-ops-pointwise-end] CHECK(sum(1.) == 4.); CHECK(sq(1.) == 1.); @@ -499,7 +496,7 @@ TEST_CASE("Trajectory reference - manual") ScalarVar t; AnalyticTraj a({0,2}, AnalyticFunction({t}, sin(t))); SlicedTube tube(td,a); - auto midpoint = tube.mid(); // approximate trajectory of tube midpoints + auto midpoint = tube.mid(); // approximate midpoint trajectory // [traj-tubes-mid-end] CHECK(midpoint.nb_samples() > 1); } @@ -596,7 +593,7 @@ TEST_CASE("SlicedTube cross-reference examples - manual") auto both = x & y; // intersection of enclosures auto either = x | y; // interval hull, not disconnected union auto sum = x + y; // interval arithmetic on every slice - auto xy = tube_cart_prod(x,y); // SlicedTube + auto xy = tube_cart_prod(x,y); // vector tube: SlicedTube // [tube-parity-algebra-end] CHECK(xy.size() == 2); } @@ -605,7 +602,7 @@ TEST_CASE("SlicedTube cross-reference examples - manual") auto td = create_tdomain({0,2}, 0.5, true); SlicedTube tube(td, Interval(-1,1)); SampledTraj midpoint = tube.mid(); // an approximation - SlicedTube middle_curve(td, midpoint); // tube of the interpolant + SlicedTube middle_curve(td, midpoint); // encloses the interpolant // [tube-parity-conversion-end] CHECK(midpoint.nb_samples() > 1); } diff --git a/doc/manual/manual/tubes/src.py b/doc/manual/manual/tubes/src.py index 71eaffa09..1ab733ca3 100644 --- a/doc/manual/manual/tubes/src.py +++ b/doc/manual/manual/tubes/src.py @@ -53,19 +53,17 @@ def tests_TDomain_manual(test): x = SlicedTube(td, Interval(0,1)) v = SlicedTube(td, Interval(-1,1)) - print(x) # outputs [0,2]->[0,1], 2 slices - print(v) # outputs [0,2]->[-1,1], 2 slices + print(x) # codomain [0,1], 2 temporal elements + print(v) # codomain [-1,1], 2 temporal elements n = td.nb_tslices() # 2: [0,1],[1,2] x.set([0.5,1], 1.3) # local update, will refine the partition at t=1.3 m = td.nb_tslices() # now 4: [0,1],[1,1.3],[1.3],[1.3,2] - print(x) # outputs [0,2]->[0,1], 4 slices - print(v) # outputs [0,2]->[-1,1], 4 slices (v is also impacted by x.set(..)) + print(x) # codomain [0,1], 4 temporal elements + print(v) # codomain [-1,1], 4 temporal elements (shared partition refined) # [tdomain-class-4-end] - test.assertTrue(x.codomain() == Interval(0,1)) - test.assertTrue(v.codomain() == Interval(-1,1)) test.assertTrue(n == 2) test.assertTrue(m == 4) @@ -90,14 +88,14 @@ def tests_SlicedTube_manual(test): td = create_tdomain([0,10], 0.1, True) # Sliced tube from interval-type codomains - x = SlicedTube(td, Interval(-1,1)) - y = SlicedTube(td, IntervalVector(2)) - z = SlicedTube(td, IntervalMatrix(2,2)) + x = SlicedTube(td, Interval(-1,1)) # scalar tube + y = SlicedTube(td, IntervalVector(2)) # vector tube + z = SlicedTube(td, IntervalMatrix(2,2)) # matrix tube # From an analytic function t = ScalarVar() f = AnalyticFunction([t], sin(t)) - xf = SlicedTube(td, f) + xf = SlicedTube(td, f) # scalar tube # From an analytic trajectory or sampled trajectory at = AnalyticTraj([0,10], AnalyticFunction([t],cos(t))) @@ -186,7 +184,7 @@ def tests_SlicedTube_manual(test): A = SlicedTube(td, IntervalMatrix(2,2)) b = SlicedTube(td, IntervalVector(2)) - y = A * b + y = A * b # vector tube # [slicedtube-class-7-end] # [slicedtube-class-function-eval-beg] @@ -198,7 +196,7 @@ def tests_SlicedTube_manual(test): h, v = ScalarVar(), ScalarVar() f = AnalyticFunction([h,v], [v*cos(h), v*sin(h)]) - velocity = f.tube_eval(heading,speed) # vector-valued tube + velocity = f.tube_eval(heading,speed) # vector tube p = VectorVar(2) g = AnalyticFunction([p], sqr(p[0])+sqr(p[1])) @@ -223,8 +221,8 @@ def tests_SlicedTube_manual(test): # [slicedtube-class-9-beg] # Component and subvector extraction - x0 = x[0] - x12 = x.subvector(1,2) + x0 = x[0] # scalar tube + x12 = x.subvector(1,2) # vector tube # [slicedtube-class-9-end] pass @@ -299,9 +297,9 @@ def test_Trajectories_manual(test): # [traj-analytic-create-end] # [traj-analytic-eval-beg] - y_point = traj_f(0.5) # a double - y_interval = traj_f([0,1]) # an Interval - p_point = traj_g(0.5) # a Vector + y_point = traj_f(0.5) # scalar value + y_interval = traj_f([0,1]) # interval enclosure + p_point = traj_g(0.5) # vector value # [traj-analytic-eval-end] # [traj-analytic-sampled-beg] @@ -348,7 +346,7 @@ def test_Trajectories_manual(test): traj = AnalyticTraj([0,2], AnalyticFunction([t],sin(t))) td = create_tdomain([0,2], 0.1) tube = SlicedTube(td, traj) - tube.inflate(0.05) # justified error bound, when available + tube.inflate(0.05) # encloses the true signal if its error is bounded by 0.05 # [traj-ops-tube-end] # [traj-ops-serialization-beg] @@ -366,16 +364,16 @@ def test_Trajectory_reference_manual(test): # [traj-sampled-grid-beg] x = SampledTraj_Scalar({0.:0, 1.:2, 2.:0}) merged = x.sampled(0.6) # original samples also retained - regular = x.sampled(0.6, False) # regular samples and final time only + regular = x.sampled(0.6, False) # regular grid and final time only clock = SampledTraj_Scalar({0.:0, 0.5:0, 1.5:0, 2.:0}) - aligned = x.sampled_as(clock, False) + aligned = x.sampled_as(clock, False) # x evaluated at clock's timestamps # [traj-sampled-grid-end] test.assertGreater(merged.nb_samples(), regular.nb_samples()) test.assertEqual(aligned.nb_samples(),clock.nb_samples()) # [traj-sampled-construct-alt-beg] x = SampledTraj_Scalar([0.,1.,2.], [3,4,5]) - x.set(6.,1.) # overwrite existing timestamp + x.set(6.,1.) # replaces value at t=1 y = SampledTraj_Scalar({0.:3, 1.:6, 2.:5}) # [traj-sampled-construct-alt-end] test.assertEqual(x.nb_samples(), 3) @@ -391,9 +389,9 @@ def test_Trajectory_reference_manual(test): # [traj-ops-pointwise-beg] x = SampledTraj_Scalar({0.:0, 1.:1, 2.:2}) y = SampledTraj_Scalar({0.:2, 1.:3, 2.:4}) - sum_xy = x + y - sq = sqr(x) - sin_x = sin(x) + sum_xy = x + y # computed at matching timestamps + sq = sqr(x) # square samples, then interpolate + sin_x = sin(x) # transform samples, then interpolate # [traj-ops-pointwise-end] test.assertAlmostEqual(sum_xy(1),4.) @@ -419,6 +417,7 @@ def test_Trajectory_reference_manual(test): from pathlib import Path measurements = SampledTraj_Scalar() with (Path(__file__).parent / 'data.csv').open(newline='') as file: + # The header is parsed automatically. for row in csv.DictReader(file, delimiter=';'): measurements.set(float(row['value']), float(row['t'])) # [traj-io-csv-end] @@ -490,7 +489,7 @@ def test_SlicedTube_cross_reference_manual(test): both = x & y # intersection of enclosures either = x | y # interval hull, not disconnected union sum_xy = x + y # interval arithmetic on every slice - xy = tube_cart_prod(x,y) # SlicedTube_IntervalVector + xy = tube_cart_prod(x,y) # vector tube: SlicedTube_IntervalVector # [tube-parity-algebra-end] test.assertEqual(xy.size(), 2) From 5f2f04a645d1b29bed7431ef18587ec9633c4c8a Mon Sep 17 00:00:00 2001 From: Simon Rohou Date: Thu, 22 Oct 2026 14:10:05 +0200 Subject: [PATCH 4/4] [doc] Simplify NumPy trajectory loading documentation --- doc/manual/index.rst | 16 ++++++---- doc/manual/manual/tubes/trajectory_io.rst | 39 +++++++++++++++++++---- 2 files changed, 43 insertions(+), 12 deletions(-) diff --git a/doc/manual/index.rst b/doc/manual/index.rst index eef4f56f0..642b81072 100644 --- a/doc/manual/index.rst +++ b/doc/manual/index.rst @@ -214,11 +214,15 @@ User manual * The class SetMembershipFunction * Extension to custom expressions -* :ref:`sec-domains-tubes` - * :ref:`sec-domains-tubes-tdomain` - * :ref:`sec-domains-tubes-slicedtube` - * The Trajectory classes - * Increasing performances using views +* :ref:`sec-tubes-trajectories` + * :ref:`sec-trajectories-sampledtraj` + * :ref:`sec-trajectories-analytictraj` + * :ref:`sec-trajectories-operations` + * :ref:`sec-trajectories-io` + * :ref:`sec-tubes-tdomain` + * :ref:`sec-tubes-slice` + * :ref:`sec-tubes-slicedtube` + * :ref:`sec-tubes-examples` * Contractors * What are contractors? @@ -354,7 +358,7 @@ User manual * Related papers * Contributors * How to cite Codac - :ref:`sec-ref-codac-logos` + * :ref:`sec-ref-codac-logos` How-to guides diff --git a/doc/manual/manual/tubes/trajectory_io.rst b/doc/manual/manual/tubes/trajectory_io.rst index 45d76ab65..dad9c2731 100644 --- a/doc/manual/manual/tubes/trajectory_io.rst +++ b/doc/manual/manual/tubes/trajectory_io.rst @@ -36,13 +36,40 @@ Read its time/value columns and insert the samples using ``set(value,time)``. Th NumPy archives -------------- -In Python, a ``.npz`` archive can supply arrays of timestamps and values. This format is distinct from binary serialization. +In Python, load a ``.npz`` file with ``numpy.load`` and pass its time and value arrays to ``SampledTraj``. The trajectory type is inferred from the values. + +.. code-block:: python + + import numpy as np + from codac import SampledTraj + + data = np.load("traj_vec.npz") + traj = SampledTraj(data["t"], data["x"]) + +In the above example, if ``x`` is a 2D array of shape ``(N,n)``, then ``traj`` is a ``SampledTraj_Vector``. + +Another example: + +.. tabs:: + + .. group-tab:: Python + + .. code-block:: python + + import numpy as np + from codac import * + + t = np.array([0.0, 0.5, 1.0, 1.5]) + x = np.array([ + [0.0, 1.0], + [0.5, 1.5], + [1.0, 2.0], + [1.5, 2.5], + ]) + + traj = SampledTraj(t, x) + print(traj) # outputs: SampledTraj. [0, 1.5]↦[[0, 1.5][1, 2.5]], 4 pts -.. literalinclude:: src.py - :language: python - :start-after: [traj-sampled-npz-beg] - :end-before: [traj-sampled-npz-end] - :dedent: 4 Binary serialization --------------------

-Ktc=3d+J&+)EeBs;s) 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