[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Octave-bug-tracker] [bug #61340] [octave forge] (splines) csaps 'noncon
From: |
Nicholas Jankowski |
Subject: |
[Octave-bug-tracker] [bug #61340] [octave forge] (splines) csaps 'nonconformant argument' errors from unhandled inputs expected for matlab compatibility. |
Date: |
Fri, 15 Oct 2021 12:50:02 -0400 (EDT) |
User-agent: |
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36 |
Update of bug #61340 (project octave):
Severity: 3 - Normal => 2 - Minor
Item Group: Unexpected Error or Warning => Matlab Compatibility
Status: None => Confirmed
Summary: [octave forge] (splines) csaps produces
nonconformant arguments error for valid input => [octave forge] (splines)
csaps 'nonconformant argument' errors from unhandled inputs expected for
matlab compatibility.
_______________________________________________________
Follow-up Comment #2:
the comment #0 code fails on line 108, which is:
u = (6*(1-p)*QT*diag(1 ./ w)*QT' + p*R) \ (QT*y);
whos p QT w R y
Variables visible from the current scope:
Attr Name Size Bytes Class
==== ==== ==== ===== =====
f p 1x21 168 double
QT 19x21 1088 double
f w 21x1 168 double
R 19x19 1040 double
f y 21x1 168 double
the QT*diag(1./w)*QT' part is fine, but then the (1-p)*ans part produces
error: operator *: nonconformant arguments (op1 is 1x21, op2 is 19x19)
looking at this, i realize it expects p to be a constant to set the smoothing
parameter. Octave's implementation does not accept other types of this
parameter. from the matlab help:
"p — Smoothing parameter
scalar in the range [0,1] | vector | cell array | empty array
Smoothing parameter, specified as a scalar value between 0 and 1 or as a cell
array of values for multivariate data. You can also specify values for the
roughness measure weights λ by providing p as a vector. To provide roughness
measure weights for multivariate data, use a cell array of vectors. If you
provide an empty array, the function chooses a default value for p based on
the data sites x and the default value of 1 for the roughness measure weight
λ."
ok, so that at least narrows down these errors as being related to csaps not
accepting the full range of input types now supported by Matlab's csaps. The
lack of input type checking allows the inputs to propagate through and create
the nonconformant arguments error messages
Retitling to better capture the issue, changed the category.
recommended short fix: improve usability by adding input type checks and more
useful error messages
recommended long fix: implement the missing matlab compatible input handling
options.
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?61340>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/