Boost C++ Libraries Home Libraries People FAQ More

Next

Chapter 1. Boost.Time_series

Eric Niebler

Matthias Troyer

Daniel Egloff

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

Table of Contents

Preface
User's Guide
Series Containers
Series Initialization
Zeros and Sparse Data
Series Discretization and Strong Typing
Floating-point Offsets
Populating a Series
Series Algorithms
Arithmetic
Promotion
Conversions
Algorithms
adjacent_difference()
clip()
coarse_grain()
fine_grain()
integrate()
invert_elements()
invert_heaviside()
partial_sum()
period_sums()
piecewise_sample()
piecewise_surface_sample()
rotate_left()
rotate_right()
shift()
subscript()
variable_period_sums()
Extensibility
The TimeSeries Concept
Defining New TimeSeries algorithms
Defining a New TimeSeries Type
Acknowledgements
Reference
Time Series Reference
Concepts
Header <boost/time_series/characteristic_series.hpp>
Header <boost/time_series/clipped_series.hpp>
Header <boost/time_series/concepts.hpp>
Header <boost/time_series/constant_series.hpp>
Header <boost/time_series/delta_series.hpp>
Header <boost/time_series/dense_series.hpp>
Header <boost/time_series/heaviside_series.hpp>
Header <boost/time_series/inverse_heaviside_series.hpp>
Header <boost/time_series/numeric/adjacent_difference.hpp>
Header <boost/time_series/numeric/clip.hpp>
Header <boost/time_series/numeric/coarse_grain.hpp>
Header <boost/time_series/numeric/fine_grain.hpp>
Header <boost/time_series/numeric/integrate.hpp>
Header <boost/time_series/numeric/invert_elements.hpp>
Header <boost/time_series/numeric/invert_heaviside.hpp>
Header <boost/time_series/numeric/numeric.hpp>
Header <boost/time_series/numeric/partial_sum.hpp>
Header <boost/time_series/numeric/period_sums.hpp>
Header <boost/time_series/numeric/piecewise_sample.hpp>
Header <boost/time_series/numeric/piecewise_surface_sample.hpp>
Header <boost/time_series/numeric/rotate_left.hpp>
Header <boost/time_series/numeric/rotate_right.hpp>
Header <boost/time_series/numeric/shift.hpp>
Header <boost/time_series/numeric/subscript.hpp>
Header <boost/time_series/numeric/variable_period_sums.hpp>
Header <boost/time_series/ordered_inserter.hpp>
Header <boost/time_series/piecewise_constant_series.hpp>
Header <boost/time_series/python/series.hpp>
Header <boost/time_series/scaled_series.hpp>
Header <boost/time_series/shifted_series.hpp>
Header <boost/time_series/sparse_series.hpp>
Header <boost/time_series/time_series_facade.hpp>
Header <boost/time_series/time_series_fwd.hpp>
Header <boost/time_series/time_series_typeof.hpp>
Header <boost/time_series/traits/discretization_type.hpp>
Header <boost/time_series/traits/is_time_series.hpp>
Header <boost/time_series/traits/storage_category.hpp>
Header <boost/time_series/utility/series_stl_iterator.hpp>
Header <boost/time_series/utility/time_series_base.hpp>
Range Run Storage Reference
Concepts
Header <boost/range_run_storage/address_difference1.hpp>
Header <boost/range_run_storage/algorithm/copy.hpp>
Header <boost/range_run_storage/algorithm/first_last.hpp>
Header <boost/range_run_storage/algorithm/for_each.hpp>
Header <boost/range_run_storage/algorithm/transform.hpp>
Header <boost/range_run_storage/commit.hpp>
Header <boost/range_run_storage/concepts.hpp>
Header <boost/range_run_storage/difference1.hpp>
Header <boost/range_run_storage/empty.hpp>
Header <boost/range_run_storage/end_offset.hpp>
Header <boost/range_run_storage/get_at.hpp>
Header <boost/range_run_storage/length.hpp>
Header <boost/range_run_storage/offset.hpp>
Header <boost/range_run_storage/ordered_inserter.hpp>
Header <boost/range_run_storage/post_run.hpp>
Header <boost/range_run_storage/pre_run.hpp>
Header <boost/range_run_storage/runs.hpp>
Header <boost/range_run_storage/set_at.hpp>
Header <boost/range_run_storage/tag.hpp>
Header <boost/range_run_storage/traits/is_dense_runs.hpp>
Header <boost/range_run_storage/traits/is_unit_run.hpp>
Header <boost/range_run_storage/zero.hpp>
Sequence Reference
Concepts
Header <boost/sequence/begin.hpp>
Header <boost/sequence/composed.hpp>
Header <boost/sequence/concepts.hpp>
Header <boost/sequence/elements.hpp>
Header <boost/sequence/end.hpp>
Header <boost/sequence/insert.hpp>
Header <boost/sequence/size.hpp>
Header <boost/sequence/tag.hpp>
Header <boost/sequence/traits/has_static_size.hpp>
Header <boost/sequence/traits/index_type.hpp>
Header <boost/sequence/traits/size_type.hpp>
Property Map Reference
Concepts
Header <boost/property_map/concepts.hpp>
Header <boost/property_map/dereference.hpp>
Header <boost/property_map/identity.hpp>
Header <boost/property_map/traits/value_type.hpp>

Where do we find ourselves? In a series of which we do not know the extremes, and believe that it has none.
--Ralph Waldo Emerson

Description

The purpose of the Boost.Time_series library is to provide data structures, numerical operators and algorithms to operate on time series. A time series is a series of data points, sampled at regular intervals. The library provides numerous time series containers, each with different time/space trade-offs, and a hierarchy of concepts which allow the time series to be manipulated generically. The library also provides operators and algorithms which use the generic interfaces to perform calculations on time series and accumulate various statistics about them.

Boost.Time_series does not yet contain all the algorithms one might want in order to perform full time series analysis. However, the key contribution of Boost.Time_series is the framework and the rich hierarchy of concepts with which such algorithms can be written to efficiently and generically process series of data with widely divergent in-memory representations and performance characteristics. Boost.Time_series provides several such series containers, as well as mechanisms for defining additional series types and algorithms that fit within the framework. Some examples of series types that are provided are: dense, sparse, piecewise constant, heaviside and others, as well as adaptors for providing shifted, scaled and clipped series views.

[Note] Note

Boost.Time_series is not (yet) an official Boost library.

Last revised: December 11, 2006 at 23:18:53 GMT


Next