Bug 2037441

Summary: openblas-0.3.19-1.fc35.x86_64 breaks backward substitution in R
Product: [Fedora] Fedora Reporter: Hannes Riebl <hriebl>
Component: openblasAssignee: Susi Lehtola <susi.lehtola>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 35CC: ali.erdinc.koroglu, nforro, susi.lehtola
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2022-08-26 05:31:49 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Hannes Riebl 2022-01-05 16:20:58 UTC
Description of problem:
Backward substitution for triangular systems of linear equations as implemented in the function backsolve() in R returns erroneous results with openblas-0.3.19-1.fc35.x86_64.

Version-Release number of selected component (if applicable):
openblas-0.3.19-1.fc35.x86_64

How reproducible:
Always on my system

Steps to Reproduce:
Run the following R code:

n <- 8

R <- diag(n)
b <- rep(1, n)
x <- backsolve(R, b)

drop(R %*% x)
## returns:
## [1] 1 0 0 0 0 0 0 1
## but should return:
## [1] 1 1 1 1 1 1 1 1

Actual results:
A vector of ones and zeros in the example above, but backsolve() also breaks with other data.

Expected results:
A vector of only ones in the example above.

Additional info:
I think this is a pretty critical bug for scientific computing on Fedora.

Comment 1 Susi Lehtola 2022-01-05 17:03:35 UTC
Please test https://bodhi.fedoraproject.org/updates/FEDORA-2022-438a756bb3

Comment 2 Hannes Riebl 2022-01-05 18:35:43 UTC
Cool, seems to be fixed! Thank you!