Banded Matrix Solver in Matlab

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

 Respuesta aceptada

Steven Lord
Steven Lord el 18 de Sept. de 2019

1 voto

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 comentarios

Nicolas
Nicolas el 19 de Sept. de 2019
Editada: Nicolas el 19 de Sept. de 2019
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 el 19 de Sept. de 2019
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 el 19 de Sept. de 2019
Thank you Steven. Would you have any recomendation for a constrained banded solver?
Steven Lord
Steven Lord el 19 de Sept. de 2019
What constraints are you trying to place on the solution?
Nicolas
Nicolas el 19 de Sept. de 2019
Editada: Nicolas el 19 de Sept. de 2019
positivity for half of the unknowns, none on the other half

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Preguntada:

el 18 de Sept. de 2019

Editada:

el 19 de Sept. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by