2010-03-30 3 views
6

Quelqu'un peut-il m'aider avec l'exemple sur l'utilisation de lapack avec le dernier f #? Ou ce n'est pas recommandé pour le moment? J'ai recherché et trouvé http://fdatamining.blogspot.com/ mais n'a pas pu obtenir FSharp.PowerPack.Math.Providers.dll compilé.F # 1.9.9.9 et lapa

EDIT: @Yin, Merci pour votre blog. Lors de la compilation FSharp.PowerPack.Math.Providers.dll à partir de la source 1.9.7.8, Microsoft.FSharp.Compatibility.permutation est utilisé plusieurs fois et ne peut pas être trouvé. Dans votre blog, il est dit simplement de définir explicitement:

type permutation = int –> int. 

Sinon je remplace tous les Microsoft.FSharp.Compatibility.permutation avec Microsoft.FSharp.Math.Permutation mais j'ai compilable. Je n'ai pas encore testé.

Pourriez-vous s'il vous plaît nous montrer le test du svd bug?

Merci

Répondre

3

J'ai écrit ce blog. Utilisez-vous VS 2008? Avez-vous installé PowerPack? Qu'avez-vous fait jusqu'à présent? Quelles erreurs de compilation avez-vous eu? L'utilisation des fournisseurs de mathématiques n'est PAS recommandée par l'équipe F #. Cependant, c'est le meilleur que je peux trouver en ligne pour F # (Math.Net incomplet et alpha-test a besoin de temps pour mûrir). Je peux également vous dire que l'emballage est bogué, par ex. il y a un bug dans l'encapsuleur SVD. Mais cet emballage est petit, vous pouvez le maintenir vous-même le long des nouvelles versions F # et ajouter de nouvelles fonctions comme vous avez besoin (nous avons un problème de licence évident ici!). Mon plan est d'utiliser et de modifier ce wrapper jusqu'à ce qu'il soit stable et d'en réécrire un nouveau pour effacer le problème de licence. Ou, nous pouvons persuader MS ou MSR de continuer le développement.

@ahala, l'élément de bogue SVD

recherche this.dgesvd _ ((a: matrice)) = dans lapack_service_netlib.fs

Cette fonction comporte un bogue mémoire à accès/segment de défaut lorsque faire SVD sur une matrice m-by-n (m> n). Pour résoudre le problème, nous devons remplacer arg_jobu et arg_jobvt par 'S'. ref lapack doc ici: http://linux.die.net/man/l/dgesvd