MathGroup Archive 2007

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: ListDimension function

  • To: mathgroup at smc.vnet.net
  • Subject: [mg72586] Re: ListDimension function
  • From: dh <dh at metrohm.ch>
  • Date: Thu, 11 Jan 2007 03:00:33 -0500 (EST)
  • References: <eo25ue$as5$1@smc.vnet.net>


Hi Carlos,

try:

ListDimension[list_List] := Depth[list /. x_List /; (!MemberQ[x, {___}]) 

-> {}] - 1;

ListDimension[_] = 0;



Daniel



carlos at colorado.edu wrote:

> Hi - I need a short function ListDimension that

> given a list returns its "brace dimensionality" =

> max number of brace levels to reach deepest entry.

> Examples

> 

>    List         ListDimension

>    a+b                   0

>    {1,2,x*y}             1

>    {1,2,{3,0,1}}         2

>    {{},{},{}}            2

>    {{},{{1,2}},a}        3

> 

> Built-in functions dont seem to be of help.

> Dimensions is restricted to matrix or tensor type of lists.

> Depth (minus 1) doesnt help as it is entry type dependent:

> 

>    Depth[{1,2,3}] -> 2

>    Depth[{1,2,3+a}] -> 3

>    Depth[{1,2,3+a+Sqrt[x+y]}] -> 5

> 

> For the above three, ListDimension=1.

> 



  • Prev by Date: Re: How to export txt files with variable name &
  • Next by Date: Re: ListDimension function
  • Previous by thread: Re: Re: ListDimension function
  • Next by thread: RE: ListDimension function