Collection of Concrete Vector Reduction/Transformation Operator Implementations
Version of the Day
|
Generate a random vector in the range [l,u]: z0[i] = 0.5*((u-l)*Teuchos::ScalarTraits<Scalar>::random()+(u+l)), i=0...n-1
.
More...
#include <RTOpPack_TOpRandomize.hpp>
Public Member Functions | |
TOpRandomize (const Scalar &l=-ScalarTraits< Scalar >::one(), const Scalar &u=+ScalarTraits< Scalar >::one()) | |
void | set_bounds (const Scalar &l, const Scalar &u) |
void | set_seed (const unsigned int seed) |
unsigned int | get_seed () const |
Static Public Member Functions | |
static void | set_static_seed (const unsigned int static_seed) |
static unsigned int | get_static_seed () |
Overridden from RTOpT | |
void | apply_op_impl (const ArrayView< const ConstSubVectorView< Scalar > > &sub_vecs, const ArrayView< const SubVectorView< Scalar > > &targ_sub_vecs, const Ptr< ReductTarget > &reduct_obj_inout) const |
Generate a random vector in the range [l,u]: z0[i] = 0.5*((u-l)*Teuchos::ScalarTraits<Scalar>::random()+(u+l)), i=0...n-1
.
The seed for the random number generator can be set by TOpRandomize<Scalar>::set_seed(s)
where s
is some unsigned integer. Note that this class generates random numbers based on the initial seed and the global element ID so this should produce the same pseudo-random elements independent of the number of processors being used.
The seed changes every time a new object is created in order to improve the randomness to some degree.
Definition at line 33 of file RTOpPack_TOpRandomize.hpp.
|
inline |
Definition at line 42 of file RTOpPack_TOpRandomize.hpp.
|
inlinestatic |
Definition at line 37 of file RTOpPack_TOpRandomize.hpp.
|
inlinestatic |
Definition at line 40 of file RTOpPack_TOpRandomize.hpp.
|
inline |
Definition at line 53 of file RTOpPack_TOpRandomize.hpp.
|
inline |
Definition at line 56 of file RTOpPack_TOpRandomize.hpp.
|
inline |
Definition at line 58 of file RTOpPack_TOpRandomize.hpp.
|
inlinevirtual |
Implements RTOpPack::RTOpT< Scalar >.
Definition at line 62 of file RTOpPack_TOpRandomize.hpp.