2010-02-25 65 views
61

Tôi cần thư viện C# để xử lý ma trận. Nó nên thực hiện phân tích giá trị số ít, đảo ngược ma trận, vvKhuyến nghị cho Thư viện ma trận C#

Tôi đã sử dụng CSML trước đây, nhưng điều này không thực hiện một số tính năng tôi cần.

Một số các tính năng này là:
giá trị Số ít phân hủy
Matrix đảo ngược
vết
yếu tố quyết định

Thư viện đề nghị (từ câu trả lời)

(hầu hết trong số họ thực hiện các tính năng đã nêu ở trên)

+4

Nó có thể giúp đề cập đến các tính năng mà CSML không có mà bạn yêu cầu. – Nick

+2

http://accord-framework.net/ Thực hiện các thao tác ma trận dưới dạng các phương thức mở rộng của 'double [,]' type. –

Trả lời

27

Math.NET Numerics rất đẹp, nếu nó hỗ trợ các thao tác bạn muốn. Math.Net Iridium cũ vẫn hỗ trợ nhiều tùy chọn hơn. Ngoài ra, dnAnalytics là khá tốt đẹp, nhưng không còn được phát triển. (Nó, cũng như Iridium, đang được sáp nhập vào Math.NET Numerics.)

Về mặt thương mại, có một số lựa chọn rất tốt, mạnh mẽ. Extreme Optimization Numerical Libraries hoạt động rất tốt. Thư viện Visual Numerics cũng hoạt động rất tốt (mặc dù với phân phối dựa trên tiền bản quyền ...).

+0

Iridium sẽ thực hiện thủ thuật. Tôi không thể sử dụng lớp ma trận từ Math.NET vì nó là trừu tượng, vì vậy tôi cần phải lấy nó. đúng ? – jose

+1

Chúng cung cấp các triển khai cụ thể, nhưng vì Math.NET Numerics chưa hoàn thành, một số việc triển khai chưa hoàn thành (chưa). –

+0

Có hai lớp cụ thể: Matrix m = new DenseMatrix (...) hoặc mới SparseMatrix (...) tùy theo nhu cầu của bạn. –

6

Tôi tin rằng Math.NET có hầu hết các tính năng bạn đề cập đến. Yuu có thể muốn xem nó và xem nó có phù hợp với nhu cầu của bạn không.

Bạn có thể xem Iridium samples để xem cú pháp và mã ví dụ.

2

Ngoài các thư viện được đề cập trong các bài đăng khác, tôi có thể nói một vài từ ấm áp về thư viện FinMath. Đó là một thư viện khá mới, nhưng theo kinh nghiệm của tôi thì nó có một số lợi thế. Rất dễ sử dụng thư viện này. Đầu tiên, nó chỉ có một tệp thực thi (* .dll) cho cả hai hệ điều hành 32 bit và 64 bit. Thứ hai, nó được xây dựng trên đỉnh của Thư viện hạt nhân toán học Intel nổi tiếng và do đó nó cung cấp hiệu suất rất tốt. API được quản lý .NET do thư viện này cung cấp cũng rất rộng và linh hoạt. Nhưng, nó là phần mềm sở hữu độc quyền và chi phí đáng kể số tiền. Nó cũng thiếu một số chức năng (ví dụ: so sánh với NMath từ phần mềm CenterSpace Software). Dù sao, nó có giá trị thời gian để thử nó.

5

Tôi đã sử dụng ILNumerics rất nhiều. Cũng đã có một số đóng góp cho dự án. Nó biết là thư viện duy nhất tôi biết, mà không chi tiêu một nửa thời gian CPU trong GC cho serious computations. Của nó nhanh và trưởng thành. Xem toàn bộ feature list.

+1

+1 ILNumerics có tất cả các tính năng của các libs khác. Nhưng nó nhanh hơn nhiều. –

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