SIZE()

06232015, 10:39 AM
(This post was last modified: 06232015 11:16 AM by Angus.)
Post: #1




SIZE()
SIZE(M) returns a list which contains the dimension of Matrix M.
When M is a vector SIZE() returns a list with one value? Is that a bug? I mean if M:=[1,2,3,4,5] SIZE(M) should be {1,5} and not {5}. How would I distinguish a vector from a matrix I think that is inconsistant. Or am I missing something? Thank you! edit: the promblem came up in a small program where I want to use SIZE(M1) as an integer value. No success. I then played with size in the homescreen like in the attachement. update: using length() works, but as i understood length writen in small letters is cas command. And SIZE is home command and should be priorized. And in home the question remains. 

06232015, 02:41 PM
Post: #2




RE: SIZE()
Hello,
A vector has no dimensional input other then length. Don't forget that you can have a matrix with a single row. SIZE([[1,2,3,4,5]]) > {1,5} SIZE([1,2,3,4,5]) > {5} Basically, if you have two items in your list, it is a matrix. If there is only one, it returns a single number as length. We return a list to make it consistent to access the items within. TW Although I work for HP, the views and opinions I post here are my own. 

06242015, 08:17 AM
(This post was last modified: 06242015 08:20 AM by Angus.)
Post: #3




RE: SIZE()
There is MAKELIST and MAKEMAT. Is there a MAKEVEC? I cannot find anything like it.
I have difficulties with vectors and 1 dimensional matrices being different types. My Problem is atm. I have a Vector. i define it as M1:=[0,1,2,3,4,5,6,7]; Fine. It can be stored in M1 which is a Matrix! First surprise for me that it is not a Matrix but a Vector. i.e. a Matrix of one column is something different... :( My initial problem was that I tried a piecewise DOT() over the above vector to achieve an FIR filtering with a core. I can generate core:=MAKELIST(....) But DOT() gives bad argument type. When I try something like: DOT(SUB(data,first,length(core)+first1),core); How can I convert a List into a compatible vector or even better: is there a functino like MAKELIST or MAKEMAT for vectors. I really was under the impression that a vector is always a 1dimensional Matrix. Now there is kind of confusion on the types. And why they are compatible enough to store a vector in M1. Is enlightening doable? :)) 

06242015, 08:37 AM
Post: #4




RE: SIZE()
(06242015 08:17 AM)Angus Wrote: There is MAKELIST and MAKEMAT. Is there a MAKEVEC? I cannot find anything like it. Yes: MAKEMAT(expression, elements), where you define the number of elements for a vector instead of the number of rows and columns for a matrix. (see manual p474 "Matrices > Matrix functions > Create") 

06242015, 08:43 AM
Post: #5




RE: SIZE()
Ecce enlightenment!
A point is not a line, a line is not a surface, a surface is not a volume....... A number is not a vector, a vector is not a matrix, a matrix is not a hyper matrix.... 

06242015, 09:23 AM
Post: #6




RE: SIZE()
Thanks! MAKEMAT variant solves the problem.
Well, a Vector is a Matrix if I can store it in M1, isn't it? ;)) 

06242015, 10:35 AM
Post: #7




RE: SIZE()
Well...I just stored the number 6 to M1...so I guess you say 6 is a vector?


06242015, 10:36 AM
Post: #8




RE: SIZE()
Sorry, my error...I guess you say 6 is a matrix?


06242015, 10:55 AM
(This post was last modified: 06242015 10:59 AM by Angus.)
Post: #9




RE: SIZE()
Sorry. It is that I still have my problems with the variable system. Mostly my fault, partly because I still don't see the benefits for students. Plus my related sarcasm seems to got lost.
But (!), yes if I store M1:=6 6 IS converted to a matrix. Try it. You get [[6]] in the history. 

06242015, 11:17 AM
Post: #10




RE: SIZE()
(06242015 10:55 AM)Angus Wrote: Sorry. It is that I still have my problems with the variable system. Mostly my fault, partly because I still don't see the benefits for students. Plus my related sarcasm seems to got lost. Your "converted" betrays an inconsistency in considering 6 already a matrix. Enlightenment leaves the thread with one last long lingering look behind bewildered. 

06242015, 11:45 AM
Post: #11




RE: SIZE()
(06242015 08:43 AM)Gerald H Wrote: Ecce enlightenment! I think a number could be most anything, subject to constraint by context. The way the number is represented, as an element of an array such as a list, vector, matrix, tensor, etc., helps clarify the constraints. Just because there is only one element in the array, doesn't change the fact that other elements may enter into the basis, or perhaps other elements ARE/WERE there, just that they are zero, and subsequently omitted, for example: M1:=[[6]]; // Hyper matrix, a matrix of matrices, containing a single matrix vector M1(1) == [6]; // Matrix containing a single vector M1(1,1) == 6; // a number, an element of the matrix vector, and of the Hyper matrix Generally, matrices are a collection of vectors, which are a collection of numbers, or perhaps other things, forming some sort of array. So, I think a number can be described as a 1xn or nx1 vector, or matrix, unless defined otherwise in some context. 

06242015, 12:13 PM
Post: #12




RE: SIZE()
You folks heard of this one
https://en.wikipedia.org/wiki/Fallacy_of_composition or of this one https://en.wikipedia.org/wiki/Fallacy_of_division ??? 

06242015, 12:17 PM
Post: #13




RE: SIZE()
Do you agree that it is funny that
M1:=4 > [[4]] whereas M1:=[1 2 3] > [1 2 3] instead of something like [[1 2 3]] I would not like the second version / where should I store vectors.... But it is somehow inconsistant and confusing. And is there a reason that DOT does not work with vector and matrix even if the matrix dimension is right other than typemismatch? 

06242015, 12:23 PM
Post: #14




RE: SIZE()
'Tis all a bewilderment, for 5 truly represents 5 bananas, & if we add 5 bananas we get 10 bananas (surely y'all recognise that was matrix addition), but should we multiply them we get 25 square bananas, so they must be a matrix?


06242015, 12:41 PM
Post: #15




RE: SIZE()
You don't see that it can surely be a problem if it matters at some point if the prime deals with a vector or a matrix and throws errors. It is NOT a thread about formal math...
So I'd say thread finished. No time for postings like yours. 

06242015, 02:51 PM
(This post was last modified: 06242015 02:52 PM by DrD.)
Post: #16




RE: SIZE()
Going banana's:
M1:=5; // ==> [[5]] 'nana's M1+M1; // ==> [25], a lovely bunch in this matrix vector. DOT(M1,M1); // ==> 25 the number of organic banana's squared, not GMO (the square kind) banana's. Another bunch: M1 .* M1; // ==> [25] a vector squarely in this matrix Which grew from this little start: M1(1,1); // ==> 5 (Just monkeying around, don't pick on me!) Dale 

06252015, 05:20 AM
(This post was last modified: 06252015 05:24 AM by Angus.)
Post: #17




RE: SIZE()
M1:=5; //>[[5]] *****
M1+M1; //>[[10]] not [25] (or [10] ) DOT(M1,M1); //> Error: Invalid dimension M1:=[5]; //>[5] ***** M1+M1; //>[10]; DOT(M1,M1); //25 and finally: M1:=[1 2]; M2:=[[1 2]]; M3:=TRN(M2); //!!!! M1+M2; //Error: Invalid dimension M1+M3; //Error: Invalid dimension M1:=[1 2 3]; TRN(M1); //>> [[1 2 3]] //transose of vector.....now matrix. I have heard of line or column vectors in former days. you see? What makes a vector different from a one dimensional matrix? For the prime it is. Just because of internal types? They are even created by the same MatrixTool. I tried it a last time. I think you won't see my point again (or at least it was not referred), but I wanted to try it. 

06252015, 06:35 AM
Post: #18




RE: SIZE()
What makes a vector different from a matrix?
Is 5 different from the list or set {5}? Is the set or list {5} different from {{5}}? I admire my patience  Mencius would have stopped at posting #5. 

06252015, 07:57 AM
(This post was last modified: 06252015 08:08 AM by Angus.)
Post: #19




RE: SIZE()
Quote:What makes a vector different from a matrix? NOTHING except a vector is 1dimensional. What would you say? My question to you is? What is the result of a transposed vector? Vector or matrix. I'd like to cite from https://en.wikipedia.org/wiki/Matrix_%28mathematics%29: "Matrices which have a single row are called row vectors, and those which have a single column are called column vectors." 

06252015, 10:02 AM
Post: #20




RE: SIZE()
Once more:
The elements constituting a matrix are vectors, the elements constituting a vector are numbers. Is my argumentation so opaque? 

« Next Oldest  Next Newest »

User(s) browsing this thread: 1 Guest(s)