Code Monkey home page Code Monkey logo

Comments (3)

bab2min avatar bab2min commented on September 20, 2024

Hi @mkcinu,
Thanks for the nice suggestions.
But Eigen::Rand::binomial uses different calculation methods depending on n and p values actually. Thus the vectorization over distribution parameters is quite difficult to implement.
It seems hard to implement it in the near future, but I will leave it as a far future plan!
Thank you again for your suggestion.

from eigenrand.

bab2min avatar bab2min commented on September 20, 2024

Since version 0.5.0, some distributions including Eigen::Rand::binomial support Vectorization over Parameters(VoP).
Please see the full list of distributions supporting VoP at here.

A simple usage is:

#include <iostream>
#include <Eigen/Dense>
#include <EigenRand/EigenRand>
 
using namespace Eigen;
 
int main()
{
  Rand::P8_mt19937_64 urng{ 42 };
 
  ArrayXf a{ 10 }, b{ 10 }, c{ 10 };
  a << 1, 2, 3, 4, 5, 6, 7, 8, 9, 10;
  b << 10, 12, 14, 16, 18, 20, 22, 24, 26, 28;
  
  // You can use two array parameters.
  // The shape of two parameters should be equal in this case.
  c = Rand::uniformReal(urng, a, b);
  std::cout << c << std::endl;
  
  // Or you can provide one parameter as a scalar
  // In this case, a scalar parameter is broadcast to the shape of the array parameter.
  c = Rand::uniformReal(urng, -5, b);
  std::cout << c << std::endl;
 
  c = Rand::uniformReal(urng, a, 11);
  std::cout << c << std::endl;
  return 0;
}

from eigenrand.

mkcinu avatar mkcinu commented on September 20, 2024

That's brilliant! Thanks so much, I'll give it a try soon!

from eigenrand.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.