2012-02-13 38 views
5

Tôi đang viết một mã khoa học trong c, đòi hỏi nhiều sản phẩm có độ bền và các hoạt động của bộ tensor bậc cao, ví dụ: co, sản phẩm kronecker, vv Tôi đang lên kế hoạch thực hiện điều này bản thân mình bằng cách sử dụng các thuật toán hiệu quả như trong văn học và sử dụng một thư viện BLAS tốt. Tôi đã làm một số tìm kiếm về và không thực sự tìm thấy bất cứ điều gì cho c (nhiều cho c + +, python vv). Tôi thiếu một cái gì đó hoặc có điều này thực sự không được thực hiện tốt trong c?Thư viện phép nhân hàng chục

Cảm ơn.

Trả lời

2

Có lẽ bạn có thể điều tra tensor extensions đến GSL - Thư viện khoa học GNU.

+0

Không hoàn toàn là những gì tôi đang tìm kiếm, nhưng tốt nhất tôi đã tìm thấy. Cảm ơn. – Mosby

+0

Tôi đã làm việc trên một lớp Array chung có thể được sử dụng cho các hoạt động tensor. Bạn có thể tìm thấy nó ở đây (https://code.google.com/p/cpp-array/). – aaragon

+0

@Mosby Tôi tò mò tại sao bạn chấp nhận câu trả lời không hoàn toàn là những gì bạn đang tìm kiếm. Nó không khuyến khích các câu trả lời trong tương lai nếu bạn chấp nhận câu trả lời. – Jeff

3

Có nhiều cách sử dụng khác nhau của tensors trong tính toán khoa học, do đó, câu hỏi này khó trả lời mà không cần thêm chi tiết.

Có câu trả lời có liên quan về số SciComp đề cập đến Eigen, Armadillo, deal.II, libtensor và libdynd.

Nếu bạn quan tâm đến việc ký hợp đồng với các tensors lớn song song, hãy xem Cyclops Tensor Framework (CTF), đây là phần cuối của nhiều mã hóa lượng tử. Nếu bạn muốn làm một số lượng lớn các cơn co thắt nhỏ, CTF có thể không giúp bạn.

Thư viện mã nguồn mở khác bao gồm libtensorTiledArray, cũng được sử dụng trong hóa học lượng tử.

Dự án MADNESSa tensor class có thể đáp ứng nhu cầu của bạn nếu kích thước nhỏ được quan tâm.

itensor là một thư viện tensor khác, nhằm hỗ trợ tính toán DMRG.

FTensor là thư viện tensor C++ được định hướng theo thuyết tương đối rộng.

Vì hoạt động của máy hàn rất quan trọng đối với việc học máy, các công ty như Facebook và Google đã phát hành thư viện tensor như THPPTensorFlow, tương ứng.

Có một dự án rất cũ gọi là POOMA có thể support small tensors để đáp ứng nhu cầu của bạn, nhưng dự án này không còn hoạt động nữa và bạn sẽ không được hỗ trợ gì.

Khi mọi thứ khác không thành công, hãy xem Wikipedia hoặc Google (khoảng một nửa thông tin ở đây được xác định bằng cách tìm kiếm "thư viện tensor" trên Google, mặc dù tôi có sự quen thuộc lịch sử với hầu hết).

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