Skip to content

Commit b742f6f

Browse files
committed
Fix assert to support under-determined case
1 parent 87f0cea commit b742f6f

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

lax/src/least_squares.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,12 @@ macro_rules! impl_least_squares {
5757
//
5858
// where
5959
// A : (m, n)
60-
// b : (m, p)
61-
// x : (n, p)
60+
// b : (max(m, n), nrhs) // `b` has to store `x` on exit
61+
// x : (n, nrhs)
6262
let (m, n) = a_layout.size();
63-
let (m_, p) = b_layout.size();
63+
let (m_, nrhs) = b_layout.size();
6464
let k = m.min(n);
65-
assert_eq!(m, m_);
65+
assert!(m_ >= m);
6666

6767
// Transpose if a is C-continuous
6868
let mut a_t = None;
@@ -98,7 +98,7 @@ macro_rules! impl_least_squares {
9898
$gelsd(
9999
m,
100100
n,
101-
p,
101+
nrhs,
102102
a_t.as_mut().map(|v| v.as_mut_slice()).unwrap_or(a),
103103
a_layout.lda(),
104104
b_t.as_mut().map(|v| v.as_mut_slice()).unwrap_or(b),
@@ -126,7 +126,7 @@ macro_rules! impl_least_squares {
126126
$gelsd(
127127
m,
128128
n,
129-
p,
129+
nrhs,
130130
a_t.as_mut().map(|v| v.as_mut_slice()).unwrap_or(a),
131131
a_layout.lda(),
132132
b_t.as_mut().map(|v| v.as_mut_slice()).unwrap_or(b),

0 commit comments

Comments
 (0)