ndarray-rand with Complex and default PRNG

Ouverte
#681 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
À clarifier
Activité
À l'abandon
Stack technique
rust
Domaine
data

Piste de recherche

Start by comparing ndarray_linalg::generate::random with the ndarray-rand crate, then review the compatibility concerns in #658 and #659, num-complex's rand support, and rand::thread_rng. Done means the project has a decided API and implementation plan for Complex support and a default PRNG.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

I am considering a plan to port ndarray_linalg::generate::random feature into ndarray-rand crate. It is not depends on non-Ruat code (=LAPACK), and I think it will be useful for non-linalg users.

I'd like to improve the current API in the following two points. These are partially done in ndarray-linalg implementation.

Complex support

Default PRNG

  • Most ndarray users will seek ndarray_rand::random((n, n)) which does not need to initialize PRNG manually.
  • They will not need CSPRNG, but rand::thread_rng returns CSPRNG. For Monte-Calro or randomized algorithm usage, Mersenne twister will be good choice. I've re-implement SFMT in pure-Rust with std::arch.
Langage dominant
Rust
Étoiles
4.3k
Forks
391
Métriques de merge des PR
Aucune PR mergée en 30 j

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de rust-ndarray/ndarray

Toutes les issues de rust-ndarray/ndarray

Issues similaires

Plus d'issues Rust

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.