QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
Array Class Reference

1-D array used in linear algebra. More...

#include <ql/math/array.hpp>

Public Member Functions

Constructors, destructor, and assignment
 Array ()
 creates the array with size 0
 Array (Size size)
 creates the array with the given dimension
 Array (Size size, Real value)
 creates the array and fills it with value
 Array (Size size, Real value, Real increment)
 creates the array and fills it according to \( a_{0} = value, a_{i}=a_{i-1}+increment \)
 Array (const Array &)
 Array (Array &&) noexcept
 Array (std::initializer_list< Real >)
template<typename T, typename = std::enable_if_t<std::is_convertible_v<T, Real>>>
 Array (std::initializer_list< T > init)
template<class ForwardIterator>
 Array (ForwardIterator begin, ForwardIterator end)
 creates the array from an iterable sequence
Arrayoperator= (const Array &)
Arrayoperator= (Array &&) noexcept
bool operator== (const Array &) const
bool operator!= (const Array &) const
Vector algebra

v += x and similar operation involving a scalar value are shortcuts for \( \forall i : v_i = v_i + x \)

v *= w and similar operation involving two vectors are shortcuts for \( \forall i : v_i = v_i \times w_i \)

Precondition
all arrays involved in an algebraic expression must have the same size.
const Arrayoperator+= (const Array &)
const Arrayoperator+= (Real)
const Arrayoperator-= (const Array &)
const Arrayoperator-= (Real)
const Arrayoperator*= (const Array &)
const Arrayoperator*= (Real)
const Arrayoperator/= (const Array &)
const Arrayoperator/= (Real)
Element access
Real operator[] (Size) const
 read-only
Real at (Size) const
Real front () const
Real back () const
Realoperator[] (Size)
 read-write
Realat (Size)
Realfront ()
Realback ()
Iterator access
const_iterator begin () const
iterator begin ()
const_iterator end () const
iterator end ()
const_reverse_iterator rbegin () const
reverse_iterator rbegin ()
const_reverse_iterator rend () const
reverse_iterator rend ()

(Note that these are not member symbols.)

Real DotProduct (const Array &, const Array &)
Real Norm2 (const Array &)
Array operator+ (const Array &v)
Array operator+ (Array &&v)
Array operator- (const Array &v)
Array operator- (Array &&v)
Array operator+ (const Array &, const Array &)
Array operator+ (const Array &, Array &&)
Array operator+ (Array &&, const Array &)
Array operator+ (Array &&, Array &&)
Array operator+ (const Array &, Real)
Array operator+ (Array &&, Real)
Array operator+ (Real, const Array &)
Array operator+ (Real, Array &&)
Array operator- (const Array &, const Array &)
Array operator- (const Array &, Array &&)
Array operator- (Array &&, const Array &)
Array operator- (Array &&, Array &&)
Array operator- (const Array &, Real)
Array operator- (Real, const Array &)
Array operator- (Array &&, Real)
Array operator- (Real, Array &&)
Array operator* (const Array &, const Array &)
Array operator* (const Array &, Array &&)
Array operator* (Array &&, const Array &)
Array operator* (Array &&, Array &&)
Array operator* (const Array &, Real)
Array operator* (Real, const Array &)
Array operator* (Array &&, Real)
Array operator* (Real, Array &&)
Array operator/ (const Array &, const Array &)
Array operator/ (const Array &, Array &&)
Array operator/ (Array &&, const Array &)
Array operator/ (Array &&, Array &&)
Array operator/ (const Array &, Real)
Array operator/ (Real, const Array &)
Array operator/ (Array &&, Real)
Array operator/ (Real, Array &&)
Array Abs (const Array &)
Array Abs (Array &&)
Array Sqrt (const Array &)
Array Sqrt (Array &&)
Array Log (const Array &)
Array Log (Array &&)
Array Exp (const Array &)
Array Exp (Array &&)
Array Pow (const Array &, Real)
Array Pow (Array &&, Real)
void swap (Array &, Array &) noexcept
std::ostream & operator<< (std::ostream &, const Array &)

Inspectors

typedef Size size_type
typedef Real value_type
typedef Realiterator
typedef const Realconst_iterator
typedef std::reverse_iterator< iterator > reverse_iterator
typedef std::reverse_iterator< const_iterator > const_reverse_iterator
Size size () const
 dimension of the array
bool empty () const
 whether the array is empty

Utilities

void resize (Size n)
void swap (Array &) noexcept

Detailed Description

1-D array used in linear algebra.

This class implements the concept of vector as used in linear algebra. As such, it is not meant to be used as a container - std::vector should be used instead.

Tests
construction of arrays is checked in a number of cases
Examples
Gaussian1dModels.cpp, and GlobalOptimizer.cpp.