# bug #54143: Why can't issorted() work on matrices?

 Submitter: Dan Sebald Submitted: Mon 18 Jun 2018 07:44:17 PM UTC Category: Octave Function Severity: 3 - Normal Priority: 5 - Normal Item Group: Matlab Compatibility Status: Confirmed Assigned to: None Originator Name: Open/Closed:  * Open Release:  * dev Operating System:  * Any Fixed Release: None Planned Release: None
* Mandatory Fields

Comment Type & Canned Response:

## Discussion

Tue 19 Jun 2018 05:14:48 AM UTC, comment #3:

Just to test, I commented out the test for vectors in issorted in data.cc.  Octave compiles and runs fine, but issorted seems to always return 0 then for matrices.  Internally, it seems that

issorted (matrix)
=>
issorted (matrix(:))

so the whole thing looks like a vector to issorted.

Rik <rik5>
Tue 19 Jun 2018 01:30:51 AM UTC, comment #2:

Also, liboctave/array/Array.h which is the basis for all of the ND-Array and Matrix classes has an issorted member function.

Rik <rik5>
Mon 18 Jun 2018 10:23:47 PM UTC, comment #1:

Yeah, this doesn't really make sense.  Consider Matlab's description of the issorted function (http://www.mathworks.com/help/matlab/ref/issorted.html).

If A is a vector, then issorted returns 1 when the vector elements are in ascending order.

If A is a matrix, then issorted returns 1 when each column of A is in ascending order.

If A is a multidimensional array, then issorted returns 1 when A is in ascending order along the first dimension whose size does not equal 1.

They seem to be able to do it, we should too.

Rik <rik5>
Mon 18 Jun 2018 07:44:17 PM UTC, original submission:

The sort() function works on matrices, yet the issorted() function doesn't, e.g.,

octave:7> X = magic(5);
octave:8> sort(X)
ans =

4    5    1    2    3
10    6    7    8    9
11   12   13   14   15
17   18   19   20   16
23   24   25   21   22

octave:9> issorted(sort(X))
error: issorted: needs a vector

One would think that issorted() is a counterpart to sort(), so it should work on whatever the sorted routine creates.

Dan Sebald <sebald>

## Attached Files

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:

Comment:

No files currently attached

## Dependencies

Depends on the following items: None found

Items that depend on this one: None found

Carbon-Copy List
• -email is unavailable- added by rik5 (Posted a comment)
• -email is unavailable- added by sebald (Submitted the item)
•

There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

Only project members can vote.