HP Forums

Full Version: Flatten a Matrix
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hi Guys,

First I was looking for some kind of function that would tell me if my matrix had any 0's but couldn't find anything.

So I decided to just make a contains function but I wanted to make it work for lists,vectors and matrices but I couldn't find any way to flatten a matrix or turn it into a list.

Any suggestions?

Also as a side question is there a set of basic functions like this out there that someone has maybe put together so we don't all have to reinvent the wheel?

Thanks,
Mike
(10-09-2014 03:04 AM)dalupus Wrote: [ -> ]First I was looking for some kind of function that would tell me if my matrix had any 0's but couldn't find anything.

So I decided to just make a contains function but I wanted to make it work for lists,vectors and matrices but I couldn't find any way to flatten a matrix or turn it into a list.

Any suggestions?

mat2list([[1,2],[3,4]]) --> {1,2,3,4}.
Therefore, ΠLIST(mat2list(matrix)) returns 0 if any matrix elements are zero.
I wonder why "Flatten a Matrix" doesn't flatten a -list- of matrices flatter?

example:

a:=([1,2],[3,4])
b:=([5,6],[0,1])

mat2list(a) => {1,2,3,4} and mat2list(b) => {5,6,0,1} Good!

mat2list(a,b) also mat2list({a,b}) also mat2list([a,b]) => {{[1,2],[3,4]},{{[5,6],[0,1]}}

The above takes on 'flattening' a list of matrices fed to the mat2list function each yield a list of matrices, instead of their collective elements. Would it not be more consistent to have the function return "the elements" for the collection of input matrices, as the user guide suggests?

Like this do-si-do does: mat2list(concat(a,b)) => {1,2,5,6,3,4,0,1}
-or- perhaps even better => {1,2,3,4,5,6,0,1}

-Dale-
Thanks that is what I was looking for.
Reference URL's