lasdt#

Functions

void slasdt(
    const INT           n,
          INT*          lvl,
          INT*          nd,
          INT* restrict inode,
          INT* restrict ndiml,
          INT* restrict ndimr,
    const INT           msub
);
void slasdt(const INT n, INT *lvl, INT *nd, INT *restrict inode, INT *restrict ndiml, INT *restrict ndimr, const INT msub)#

SLASDT creates a tree of subproblems for bidiagonal divide and conquer.

Parameters

in
n

The number of diagonal elements of the bidiagonal matrix.

out
lvl

The number of levels on the computation tree.

out
nd

The number of nodes on the tree.

out
inode

Integer array, dimension (n). On exit, centers of subproblems.

out
ndiml

Integer array, dimension (n). On exit, row dimensions of left children.

out
ndimr

Integer array, dimension (n). On exit, row dimensions of right children.

in
msub

The maximum row dimension each subproblem at the bottom of the tree can be of.

Functions

void dlasdt(
    const INT           n,
          INT*          lvl,
          INT*          nd,
          INT* restrict inode,
          INT* restrict ndiml,
          INT* restrict ndimr,
    const INT           msub
);
void dlasdt(const INT n, INT *lvl, INT *nd, INT *restrict inode, INT *restrict ndiml, INT *restrict ndimr, const INT msub)#

DLASDT creates a tree of subproblems for bidiagonal divide and conquer.

Parameters

in
n

The number of diagonal elements of the bidiagonal matrix.

out
lvl

The number of levels on the computation tree.

out
nd

The number of nodes on the tree.

out
inode

Integer array, dimension (n). On exit, centers of subproblems.

out
ndiml

Integer array, dimension (n). On exit, row dimensions of left children.

out
ndimr

Integer array, dimension (n). On exit, row dimensions of right children.

in
msub

The maximum row dimension each subproblem at the bottom of the tree can be of.