The band storage process as per lapack documentation points to storing of the A matrix(of AX=B) as another compacted matrix. Quoting from the lapack documentation -
"An m-by-n band matrix with kl subdiagonals and ku superdiagonals may be stored compactly in a two-dimensional array with kl+ku+1 rows and n columns."
--http://www.netlib.org/lapack/lug/node124.html
Also given in opensees wiki:
--http://opensees.berkeley.edu/wiki/index ... eneral_SOE
How is it then that the opensees classes BandGenLinSOE and BandGenLinLapackSolver.cpp are storing the data as a single dimensioned array double* A and also sending this to the DGBSV module of lapack?
Lapack Solver Input A
Moderators: silvia, selimgunay, Moderators
Re: Lapack Solver Input A
it's done by knowing that both in Fortran and C, arrays of more than one dimension are arranged in contiguous storage, i.e. a 1 d continuous array. In C they are stored in row major order, while in Fortran they are arranged in column major order.