tf_quant_finance.math.qmc.random_scrambling_matrices

Last updated: 2023-03-16.

tf_quant_finance.math.qmc.random_scrambling_matrices#

View source

Returns a Tensor drawn from a uniform distribution.

tf_quant_finance.math.qmc.random_scrambling_matrices(
    dim, num_digits, seed, validate_args=False, dtype=None, name=None
)

The result can be can be passed to the scramble_generating_matrices function to randomize a given generating_matrices.

Examples#

import tf_quant_finance as tff

# Example: Creating random matrices which can scramble 2D generating matrices.

dim = 2
num_digits = 10
seed = (2, 3)

tff.math.qmc.random_scrambling_matrices(dim, num_digits, seed=seed)
# ==> tf.Tensor([
#             [586, 1011, 896,  818, 550, 1009, 880, 855,  686, 758],
#             [872,  958, 870, 1000, 963,  919, 994, 583, 1007, 739],
#         ], shape=(2, 10), dtype=int32)

Args:#

  • dim: Positive scalar Tensor of integers with rank 0. The event size of points which can be sampled from the generating matrices to scramble.

  • num_digits: Positive scalar Tensor of integers with rank 0. the base-2 precision of the points which can be sampled from the generating matrices to scramble.

  • seed: Positive scalar Tensor with shape [2] and dtype int32 used as seed for the random generator.

  • validate_args: Python bool indicating whether to validate arguments. Default value: False.

  • dtype: Optional dtype. The dtype of the output Tensor (either tf.int32 or tf.int64). Default value: None which maps to tf.int32.

  • name: Python str name prefixed to ops created by this function. Default value: None which maps to random_scrambling_matrices.

Returns:#

A Tensor with shape (dim, num_digits).