2012-02-16 35 views
5

Tôi hiện đang (chủ yếu) sử dụng C++ cho toán kinh tế chuyên sâu trong nghiên cứu của tôi. Tôi đã muốn chuyển sang một môi trường hiệu quả hơn. D âm thanh đầy hứa hẹn, nhưng có lẽ không đủ trưởng thành để tôi có thể làm việc hiệu quả. Tôi đã gặp C# và thư viện NMath gần đây. Nó có vẻ rất ấn tượng. Có ai sử dụng chúng để kết thúc như vậy không? Kinh nghiệm của bạn là gì? Tôi sẵn sàng từ bỏ một số thời gian chạy tốc độ nếu nó tăng năng suất của tôi tổng thể (đồng hồ tenure được đánh dấu). Bạn suy nghĩ và đề xuất đánh giá cao!C# và NMath cho Tài chính Tính toán và Toán Kinh tế

Trả lời

1

Tôi giả sử bạn đang tham chiếu đến Centerspace's NMath sản phẩm?

Gần đây, chúng tôi đã bắt đầu sử dụng chúng trong ứng dụng sản xuất; mặc dù rất nhẹ cho đến nay (thực hiện một hồi quy tuyến tính để xác định mối quan hệ giữa GJ đầu vào khí với một tuabin khí so với MW ra; về mặt kỹ thuật đây là một tính năng của Thống kê NMath). Thật vui khi được sử dụng cho đến nay, và sự hỗ trợ của họ rất nhanh chóng trong việc đáp ứng giấy phép đánh giá đã hết hạn trong khi chờ bộ phận tài chính của chúng tôi xử lý hóa đơn của họ.

Theo như hiệu suất có liên quan, nó sử dụng Intel Math Kernel Library nơi có thể, vì vậy hiệu suất phải tốt; nó đã không gây ra bất kỳ tác động tiêu cực hiệu suất cho việc sử dụng hạn chế của chúng tôi.

Tôi mong muốn sử dụng thư viện ở nơi khác trong ứng dụng của mình vì nó phù hợp!

+1

Thú vị! Bạn có thể giới thiệu các tính năng mảng của nó không? Chúng tôi có rất nhiều ma trận lớn và 3-d thao tác mảng trong vòng chặt chẽ. Tôi đã thử nghiệm thư viện của họ năm trước và vào thời điểm này bộ nhớ đã bùng nổ và các tính năng mảng không tồn tại thực sự? Tôi tự hỏi, nếu tình trạng này đã được cải thiện từ hơn? – user492238

+0

@James: cảm ơn bạn đã nhập. Tôi nghĩ tôi sẽ thử và xem tôi thích nó như thế nào. Nó là tốt đẹp để biết nó đang làm việc tốt cho bạn. Âm thanh rất hứa hẹn. – TJB

+0

Bạn không nên mong đợi bất kỳ sự sụt giảm nào về hiệu năng thời gian chạy. Sản phẩm của chúng tôi sử dụng Thư viện hạt nhân toán học của Intel, như James nói, và cũng như đối thủ cạnh tranh của chúng tôi. Thời gian thực hiện phần lớn bên trong MKL cho bất kỳ tính toán đáng kể nào. Hàm hồi quy tuyến tính kết thúc bằng cách thực hiện phân tách bằng cách sử dụng LAPACK (MKL). –

10

Tôi làm việc cho một công ty kinh tế (EMSI) và chúng tôi sử dụng D cho hầu hết các nhu cầu tính toán hiệu suất cao của chúng tôi. Tốc độ và hiệu quả bản địa là rất quan trọng, nhưng nó cung cấp mức trừu tượng cao hơn C và ít gotchas hơn C++ (IMHO). Nó rất đơn giản để giao tiếp với BLAS, Intel MKL, vv mà chúng tôi sử dụng để cấp nguồn cho các hoạt động ma trận lớn đằng sau các mô hình I/O thời gian thực của chúng tôi. Một điều tốt đẹp về D tăng năng suất mà thường bị bỏ qua là trình biên dịch cực nhanh - tôi không bao giờ bận tâm với các bản dựng tiến bộ, ngay cả trên các dự án rất lớn.

+2

Rất thú vị. Bạn làm gì cho trình tối ưu hóa, trình tạo số ngẫu nhiên, phân phối thống kê? Cuộn của riêng bạn? Tôi nghĩ đã nhìn vào D với một con mắt rất thận trọng.Dường như cung cấp rất nhiều lời hứa cho các nhà kinh tế học toán học. Tôi rất thích nghe nhiều hơn về kinh nghiệm của bạn. – TJB

+0

Cho đến nay, chúng tôi đã chủ yếu sử dụng các thư viện C hiện có của riêng mình hoặc đã sử dụng (có một số FOSS khá tốt và D sử dụng ABI của C). Chúng tôi chủ yếu làm việc với số lượng lớn dữ liệu cứng (đó là những gì chúng tôi biết) và hầu hết công việc lý thuyết của chúng tôi được áp dụng trực tiếp, vì vậy có lẽ trải nghiệm của chúng tôi khác với những gì bạn đang tìm kiếm. –

+0

Tôi đã thực hiện một số đọc thêm về D. Tôi rất quan tâm đến cách bạn đang sử dụng D tại EMSI. Bạn có sẵn lòng trò chuyện riêng tư không? Cảm ơn nhiều! – TJB

3

Đề xuất của tôi hướng tới ILNumerics. Nó có vẻ là một trong những thư viện nhanh nhất xung quanh. Nó đã được thương mại cách đây vài tháng nhưng tôi đã sử dụng nó từ nhiều năm rồi, trước đây là thư viện nguồn mở.

Chúng tôi đã phải chuyển đổi khối lượng mã Matlab để triển khai ứng dụng cho khách hàng. ILNumerics là lựa chọn đầu tiên của chúng tôi (và về cơ bản là duy nhất), vì nó sử dụng cú pháp giống như Matlab. Ngoài ra, các lớp mảng của nó có thể xử lý các kích thước n và rất nhiều công cụ con mà cũng quan trọng đối với chúng ta. Bạn sẽ tìm thấy một mẫu mã đẹp here.

Theo ý kiến ​​của tôi, nhược điểm duy nhất: thiếu các chức năng chuyên biệt cho việc lập và chỉ thống kê cơ bản được thêm vào. Vì vậy, rất thuận tiện để xây dựng thuật toán của riêng bạn (sử dụng std, cov, var, mean, abs, v.v.) sau đó giải nén bất kỳ chỉ báo nào của HILO ra khỏi hộp.

+1

Tôi sẽ kiểm tra. Cảm ơn! – TJB

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