Pregunta

He estado programando desde hace 8 años y ahora me estaba preguntando que si hay algún uso práctico de la matriz n-dimensional, donde N> 3.He sólo puede Visualizar de una estructura de datos que es menor o igual a 3 dimensions.Has cualquiera utiliza más de 3 dimensiones en cualquier programa? ¿hay usos prácticos de una matriz que está más allá ND 3d? Si es así por favor, puesto algunas muestras.

¿Fue útil?

Solución

El ejemplo recuerdo que sólo decente estaba en el texto 1982 Oh! Pascal ! Que le da una idea de lo raro que ha estado en mi experiencia.

El ejemplo era un sistema de mantenimiento de existencias en los pantalones vaqueros podrían ser indexados por

 inventory[sex][size][length][color][fit] = number_received

que está sólo un poco artificial. Usted tendría ningún problema con una base de datos estructurada de manera tal, sino que tiene un aspecto divertido como código.

Otros consejos

tomar casi cualquier cosa de la física, donde tensores son comunes, por ejemplo la relatividad general, la química computacional, la física cuántica.

http://en.wikipedia.org/wiki/Tensor#Applications

Tensor con rango 4 es común por ejemplo.

http://www.oonumerics.org/FTensor/FTensor.pdf

http://mpqc.svn.sourceforge.net/viewvc/mpqc/trunk/mpqc/src/lib/chemistry/qc/lmp2/lmp2.cc?revision=9342&view=markup&pathrev=9492

333     double
334     LMP2::compute_ecorr_lmp2()
335     {
336     Timer tim("ecorr");
337     
338     sma2::Index r("r"), s("s");
339     sma2::Array<0> ecorr;
340     double ecorr_lmp2 = 0.0;
341     for (my_occ_pairs_t::const_iterator iter = my_occ_pairs_.begin();
342     iter != my_occ_pairs_.end();
343     iter++) {
344     sma2::Index i(iter->first-nfzc_);
345     sma2::Index j(iter->second-nfzc_);
346     if (j.value() > i.value()) continue;
347     double f;
348     if (i.value() != j.value()) f = 2.0;
349     else f = 1.0;
350     ecorr.zero();
351     ecorr() += f * 2.0 * K_2occ_(i,j,r,s) * T_local_(i,j,r,s);
352     ecorr() -= f * K_2occ_(i,j,s,r) * T_local_(i,j,r,s);
353     ecorr_lmp2 += ecorr.value();
354     }
355     
356     msg_->sum(ecorr_lmp2);
357     
358     return ecorr_lmp2;
359     } 

El ejemplo más obvio es una lista de espacios de voxel ... 3 + 1 = 4 dimensiones:)

Una matriz que sostiene todos los calabozos en Ultima III lógicamente sería una matriz de 4-dimensional. Cada mazmorra es una cuadrícula tridimensional de células, y son todos del mismo tamaño.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top