2010-03-30 27 views
6

Bất cứ ai có thể giúp tôi với ví dụ về cách sử dụng lapack với f # mới nhất? Hoặc nó không được khuyến cáo cho bây giờ?F # 1.9.9.9 và lapack

Tôi đã tìm kiếm và chỉ tìm thấy http://fdatamining.blogspot.com/ nhưng không thể lấy được FSharp.PowerPack.Math.Providers.dll được biên dịch.

EDIT: @Yin, Cảm ơn blog của bạn. Khi biên soạn FSharp.PowerPack.Math.Providers.dll từ nguồn 1.9.7.8, Microsoft.FSharp.Compatibility.permutation được sử dụng nhiều lần và không thể tìm thấy. Trong blog của mình người ta nói chỉ để định nghĩa nó một cách rõ ràng:

type permutation = int –> int. 

Ngoài ra tôi thay thế tất cả Microsoft.FSharp.Compatibility.permutation với Microsoft.FSharp.Math.Permutation và bị nó biên dịch. Chưa thử nghiệm.

Bạn có thể cho chúng tôi biết trường hợp kiểm tra lỗi svd không?

Cảm ơn

Trả lời

3

Tôi đã viết blog này. Bạn có sử dụng VS 2008 không? Bạn đã cài đặt PowerPack chưa? Anh đã làm gì cho đến nay? Bạn đã nhận được lỗi biên dịch nào?

Sử dụng nhà cung cấp toán học KHÔNG được nhóm F # đề xuất. Tuy nhiên, đây là điều tốt nhất tôi có thể tìm thấy trực tuyến cho F # (Math.Net không đầy đủ và thử nghiệm alpha cần thời gian để trưởng thành). Tôi cũng có thể cho bạn biết rằng trình bao bọc là lỗi, ví dụ: có lỗi trong trình bao bọc SVD. Nhưng wrapper này là nhỏ, bạn có thể duy trì nó cho mình cùng với các bản phát hành mới F # và thêm các chức năng mới khi bạn cần (chúng tôi có vấn đề giấy phép rõ ràng ở đây!). Kế hoạch của tôi là sử dụng và sửa đổi trình bao bọc này cho đến khi nó ổn định và viết lại một cái mới để xóa vấn đề giấy phép. Hoặc, chúng ta có thể thuyết phục MS hoặc MSR tiếp tục phát triển.

@ahala, lỗi svd

tìm kiếm viên this.dgesvd _ ((a: matrix)) = trong lapack_service_netlib.fs

Chức năng này có một lỗi bộ nhớ truy cập/phân khúc lỗi khi làm SVD trên ma trận m-by-n (m> n).

Để giải quyết vấn đề, chúng ta cần thay đổi arg_jobu và arg_jobvt thành 'S'. ref lapack doc tại đây: http://linux.die.net/man/l/dgesvd

Các vấn đề liên quan