Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Arrays of many dimensions

Status
Not open for further replies.

mintjulep

Technical User
Aug 20, 2004
1,551
JP
From VBA help (Excel)

In Visual Basic, you can declare arrays with up to 60 dimensions.

I can grasp the concept of a 3-dimensional array.

My mind can't picture the meaning of a 4-D array, let alone 60.

Can anyone 'splain it to me?
 
Time" is usually number 4, and current string theory allows for 11...

I think they even have names...

:)
 
Skip said:
current string theory allows for 11

I thought it required them, not just allowed for them - but I've never managed to understand what they mean by 'rolled up' dimensions.

Enjoy,
Tony

------------------------------------------------------------------------------------
We want to help you; help us to do it by reading this: Before you ask a question.

I'm working (slowly) on my own website
 
Rolled up dimensions" are ones whose size is on the order of the Planck Constant (10-33 cm.)

I'm sure its all really clear now.

... and String theory requires at least 10 dimensions and up to 26 in some cases.
 
I believe you may be confusing theory with reality in programming.

In programming, there is often need to define data in “dimensions” to be able to calculate results from multiple perspectives.

An eight dimensional array example could be (age, weight, height, city, state. country, continent & planet)

Much different from length, width, height and "time"

sam

 
An eight dimensional array example could be (age, weight, height, city, state. country, continent & planet)
Surely this could be accomplished with 2 dimensions?
1st dim to index records
2nd dim to index properties?

IMHO 60 dimensions is a little bit of overkill.

Never knock on Death's door: ring the bell and run away! Death really hates that!
 
IMHO 60 dimensions is a little bit of overkill.
I would agree with that but what limit would you suggest? I wonder what constraint led to them choosing that figure .. 64 (or 63) I could understand, but 60?


If 26 is enough to describe the whole universe, one would think VBA would have no use for more [smile]

Enjoy,
Tony

------------------------------------------------------------------------------------
We want to help you; help us to do it by reading this: Before you ask a question.

I'm working (slowly) on my own website
 
I was looking for more of a visual than a discussion of string theory.

Here is what I've worked out.

2D is easy, row, column.
3D is two ore more 2D arrays "stacked up". For ease of visualization, imagine a Rubik's cube.

4D would be 2 or more cubes in a line.

5D would be a 2D array of cubes.

6D would be a bookshelf with 5D arrays on each shelf.

7D would be a row of bookshelves.

8D a 2D array of bookshelves.

9D is 8D on multiple floors of a building.

10D is a row of buildings.

11D is a grid of buildings.

12D begins to present some visualization problems with this analogy.
 
mintjulep said:
I was looking for more of a visual than a discussion of string theory.

LOL. One could say this went a bit OT - but it is the weekend [smile]

I couldn't begin to visualise 60 dimensions, nor make effective use of them. I remember years ago wanting a 5-D array in Cobol which only supported 3-D, and having to implement a 2-D structure of arrays - but I don't think I've ever wanted more than that.

Visualising is difficult, but I can imagine, perhaps, wanting the costs of each treatment, on each visit by each doctor, of each illness of each person in each house in each street of each town - or something on those lines running up to, at the absolute outside, say ten levels deep. But I doubt you would ever want to be holding that level of detail in a VBA array. Maybe some mathematical analyses might use a few but sixty is enough so that I would imagine one never needs to think about there being a limit.

Enjoy,
Tony

------------------------------------------------------------------------------------
We want to help you; help us to do it by reading this: Before you ask a question.

I'm working (slowly) on my own website
 
perhaps, wanting the costs of each treatment, on each visit by each doctor, of each illness of each person in each house in each street of each town"

My two cents:

Adding a dimension for each field or variable results in ridiculously and unnecessarily large databases.

Let's say the patient info includes name, address, phone. If you create a new record for every visit, you would repeat that info again and again.

If you use relational databases, you can represent almost anything with linked 2-d arrays. In a given array, the row is the record and the column is the field. Certain fields are index fields which are used to uniquely access a record and link to other tables.

What I said is probably either obvious to everyone in this thread. Also perhaps obsolete because when I learned about databass, object oriented programming was not yet big.
 
when I learned about databass, object oriented programming was not yet big

When I learned about databass, object oriented programming was not yet born [lol]

Clearly 60 dimensions of an array is crazy - and one is into database territory long before that - and, yes, my example was stretching a point!

Enjoy,
Tony

------------------------------------------------------------------------------------
We want to help you; help us to do it by reading this: Before you ask a question.

I'm working (slowly) on my own website
 
I see your point now.

I was just thinking. The minimum number of indices in a dimension would be 2 (otherwise that dimension isn't accomplishing anything).

An array with 60 dimensions, each with two values... requires how many storage locations?
2^60.
Each 2^10 is about 10^3
So 2^60 is about 10^18
Let's assume each spot is only one byte.
A gigabyte is 10^9 bytes.
10^18 variables at 1 byte each would require a billion gigabytes of memory!

OK, OK techhnically, there could be a lot of unallocated slots. But still... I wish I had a billion gigabytes. I wonder if the that many?
 
I was looking for more of a visual than a discussion of string theory.

I think you may be out of luck trying to visualize this when we exist in a 3D reality.

Never knock on Death's door: ring the bell and run away! Death really hates that!
 
Actually, dimensions are frequently associated with degrees of freedom. So you needn't have more than 3 (or 4) geometrical dimensions if you have many independent particles, or dynamical entities, in a system, each moving in 3 (or 4) dimensions. This (mathematical) structure is usually employed to represent a system as a point in many-dimensional (configuration) space, but there could be applications where several points are needed.

_________________
Bob Rashkin
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top