Generates an instance of a random matrix.
112 {
113 using Scalar =
typename Derived::Scalar;
114 using RealScalar =
typename Eigen::NumTraits<typename Derived::Scalar>::Real;
115
117 Eigen::VectorX<RealScalar> coeff = Eigen::VectorXd::NullaryExpr(
m_opSpace.dim(), [&]() {
118 return Gaussian(mt);
119 }).template cast<RealScalar>();
121
122
123
124
125 constexpr void (*kernel)(
126 Eigen::MatrixBase< std::remove_reference_t<
decltype(*
sample.ptr())> >*,
127 Eigen::DenseBase< std::remove_reference_t<decltype(*dCoeff.ptr())> > const*,
130 struct cudaFuncAttributes
attr;
135 auto upperQuotient
136 = [](size_t const& x, size_t const& y) { return (x % y == 0 ? x / y : x / y + 1); };
140
142 cuCHECK(cudaDeviceSynchronize());
144 };
Real_t RealScalar
Definition Ensemble.cuh:14
__global__ void RandomMatrixGenerator_sample_kernel(Eigen::MatrixBase< Derived1 > *samplePtr, Eigen::DenseBase< Derived2 > const *coeffPtr, OperatorSpaceBase< Derived3 > const *opSpacePtr)
Definition RandomMatrix.cuh:149
Definition mytypes.hpp:147
Object_t * ptr() const
Definition ObjectOnGPU.cuh:144
Definition ObjectOnGPU.cuh:149
Definition OperatorSpace.hpp:12
cuCHECK(cudaFuncGetAttributes(&attr, MatrixElementsInSector))
struct cudaFuncAttributes attr
Definition getAttributesOfMatrixElementsInSector.cpp:2
Integer_t const nBlock
Definition getAttributesOfMatrixElementsInSector.cpp:5
Integer_t const nThread
Definition getAttributesOfMatrixElementsInSector.cpp:4