larmm#

Functions

f32 slarmm(
    const f32 anorm,
    const f32 bnorm,
    const f32 cnorm
);
f32 slarmm(const f32 anorm, const f32 bnorm, const f32 cnorm)#

SLARMM returns a factor s in (0, 1] such that the linear updates.

(s * C) - A * (s * B)  and  (s * C) - (s * A) * B

cannot overflow, where A, B, and C are matrices of conforming dimensions.

This is an auxiliary routine so there is no argument checking.

Further Details:

C. C. Kjelgaard Mikkelsen and L. Karlsson, Blocked Algorithms for Robust Solution of Triangular Linear Systems. In: International Conference on Parallel Processing and Applied Mathematics, pages 68–78. Springer, 2017. https://doi.org/10.1007/978-3-319-78024-5_7

Parameters

in
anorm

The infinity norm of A. anorm>=0.

in
bnorm

The infinity norm of B. bnorm>=0.

in
cnorm

The infinity norm of C. cnorm>=0.

Returns:

Scale factor s in (0, 1].

Functions

f64 dlarmm(
    const f64 anorm,
    const f64 bnorm,
    const f64 cnorm
);
f64 dlarmm(const f64 anorm, const f64 bnorm, const f64 cnorm)#

DLARMM returns a factor s in (0, 1] such that the linear updates.

(s * C) - A * (s * B)  and  (s * C) - (s * A) * B

cannot overflow, where A, B, and C are matrices of conforming dimensions.

This is an auxiliary routine so there is no argument checking.

Further Details:

C. C. Kjelgaard Mikkelsen and L. Karlsson, Blocked Algorithms for Robust Solution of Triangular Linear Systems. In: International Conference on Parallel Processing and Applied Mathematics, pages 68–78. Springer, 2017. https://doi.org/10.1007/978-3-319-78024-5_7

Parameters

in
anorm

The infinity norm of A. anorm>=0.

in
bnorm

The infinity norm of B. bnorm>=0.

in
cnorm

The infinity norm of C. cnorm>=0.

Returns:

Scale factor s in (0, 1].