Skip to content

is ARMA_CRIPPLED_LAPACK still required? #456

@conradsnicta

Description

@conradsnicta

@eddelbuettel @coatless
Upcoming changes to a new Armadillo release require a large bunch of additional LAPACK functions, including zhetrf, zhetri, zhecon.

Since R developers persist in shipping a subset of LAPACK, I checked whether these functions are available in their so-called Rlapack.

Turns out these LAPACK functions appear to be available, as of R 4.4.0. It also turns out that a bunch of LAPACK functions previously "missing" have been added to Rlapack as of R 4.2.2. (See extract from R-4.4.1/src/modules/lapack/README below).

This raises the question: is the ARMA_CRIPPLED_LAPACK workaround inside Armadillo still required?

Removing the workaround would simplify a lot of code inside Armadillo. It would also allow speedups that were previously disabled under Rlapack. A possible downside is that RcppArmadillo would then require at least R 4.4.0.

To make sure that ARMA_CRIPPLED_LAPACK is no longer required, could you test RcppArmadillo against Rlapack without ARMA_CRIPPLED_LAPACK being set? (I don't have the bandwidth nor a windoze machine to do this)


Looking at R-4.4.1/src/modules/lapack/README:

(...)

R 4.2.2 added

zgbcon zgbequ zgbrfs zgbsv zgbsvx zgbtf2 zgbtrf zgbtrs zgeevx zgtcon
zgtrfs zgtsv zgtsvx zgttrf zgttrs zgtts2 zlagtm zlangb zlangt zlansy
zlantb zlaqgb zlaqhe zlatbs zpbtf2 zpbtrf zpocon zpoequ zporfs zposv
zposvx zpotrs zpstf2 zpstrf ztrsna

for recent RcppArmadillo with LLVM clang 15.

R 4.4.0 added

zrscl needed for zgetf2 in 3.12.0

zlansp zlantp zlatps zppcon zpptrf zpptri zpptrs zspcon
zspr zsptrf zsptri zsptrs zsycon zsytrs ztpcon ztptri ztptrs
zhecon zhetrf zhetri zhetrs
zhpcon zhptrf zhptri zhptrs zlanhp
(...)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions