2012-02-29 51 views
6

Tôi đang tìm thư viện C để giải quyết tuyến tính và nếu có thể, phương trình ma trận phi tuyến của biểu mẫu Ax = b. Điều quan trọng với tôi là các gói không quá lớn và miễn phí. Tốc độ không quan trọng nhiều như đơn giản và tính năng thưa thớt của lưu trữ ma trận. Ngoài ra, nó sẽ có thể song song các tính toán. Vì tôi là khá mới trong lĩnh vực blas/lapack/... của đại số tuyến tính số, nó sẽ là tuyệt vời nếu nó có chứa một tài liệu tốt đẹp, có thể với các ví dụ. Có gói nào bạn có thể giới thiệu không? Tôi là một chút choáng ngợp bởi kết quả của google và cũng không biết tên của các thói quen tôi sẽ phải tìm kiếm.Bộ giải phương trình tuyến tính phi tuyến và phi tuyến thô

Tôi chỉ tìm thấy SuperLu có vẻ như có tài liệu rất hay, ngay cả với đoạn mã. Nó được viết bằng C và yêu cầu CBLAS.

+4

Phương trình ma trận Ax = b a * phi tuyến * là như thế nào? – talonmies

+0

Nó không tuyến tính nếu A là hàm của x. Nó được biểu diễn tốt hơn như A (x) * dx = db, và x (i + 1) = x (i) + dx để nắm bắt tải trọng phi tuyến tính. Giải quyết cho dx và cập nhật. – duffymo

+0

SuperLU và Umfpack là bộ giải mã trực tiếp cho các sự cố tuyến tính. Nếu, như bạn nói, bạn có một vấn đề phi tuyến, bạn sẽ cần cái gì khác. – talonmies

Trả lời

1

Tôi khuyên bạn nên xem xét CUDA nếu bạn có thẻ đồ họa NVIDIA. Nó có các thư viện đại số tuyến tính tốt đẹp bằng cách sử dụng cú pháp giống như C cho BLAS và các ma trận thưa thớt.

+0

Xin chào, cảm ơn bạn đã đề xuất. Tuy nhiên, tôi không có đồ họa nvidia và kể từ một lúc nào đó tôi sẽ chạy chương trình trên một cụm (không phải GPU), đây không phải là một lựa chọn. – janoliver

0

Bạn có thể muốn thử PETSc. Có một chút của một đường cong học tập, nhưng đây là một thư viện có độ thẩm mỹ cao, cao cấp. Xem phần Tài liệu và đặc biệt là các ví dụ (liên kết lớn ở đầu mỗi trang tài liệu).

0

Tôi tìm thấy this chương trình nhỏ ở đây, chỉ bao gồm tệp nguồn và một tiêu đề, không chỉ giải quyết được các phương trình tuyến tính ma trận thưa thớt mà còn đi kèm với một điều kiện tiên quyết giúp mọi thứ trở nên rất hiệu quả. Có hai ví dụ và cấu trúc thưa thớt cũng được ghi lại. Nó phụ thuộc vào không có thư viện bên ngoài và rất dễ tích hợp vào mã hiện có. Nó không xử lý bộ nhớ phân phối, song song và vân vân.

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