Hello,
I cannot find any banded matrix specific solver in Matlab.
Does anyone has a recomendation on how to do it in Matlab or do I have to go to Python/C++/fortran?
Thanks

 채택된 답변

Steven Lord
Steven Lord 2019년 9월 18일

1 개 추천

Since you've tagged this question with "sparse", try just using the backslash operator. The flowchart on that documentation page indicates when it will use a banded solver. Alternately, call decomposition with the 'banded' option and use the backslash operator on the decomposition object.

댓글 수: 5

Nicolas
Nicolas 2019년 9월 19일
편집: Nicolas 2019년 9월 19일
Do you know which banded routine the backlash operator calls? Probably a wrapper of fortran sovler sgbtrs, dgbtrs, cgbtrs, zgbtrs but which one?
Steven Lord
Steven Lord 2019년 9월 19일
Generally we don't provide details of the specific implementation.
I would like to point out the four routines you mentioned differ only in the type of data they accept. Generally the LAPACK naming scheme uses the first letter of a routine's name to indicate the type of data on which that routine operates. Routines whose names start with S work with real single data, D work on real double, C work on complex single, and Z work on complex double.
If you open their documentation pages on Netlib in browser tabs and quickly Tab between them, the only main differences between D and S should be the type of the AB and B inputs, and similarly for Z and C.
Nicolas
Nicolas 2019년 9월 19일
Thank you Steven. Would you have any recomendation for a constrained banded solver?
Steven Lord
Steven Lord 2019년 9월 19일
What constraints are you trying to place on the solution?
Nicolas
Nicolas 2019년 9월 19일
편집: Nicolas 2019년 9월 19일
positivity for half of the unknowns, none on the other half

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Nonlinear Optimization에 대해 자세히 알아보기

질문:

2019년 9월 18일

편집:

2019년 9월 19일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by