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. Solo puedo visualizar una estructura de datos que sea menor o igual a 3 dimensiones. ¿Alguno de los usuarios ha utilizado más de 3 dimensiones en algún programa? ¿Hay algún uso práctico de una matriz ND que supere el 3D? De ser así, publique algunas muestras .uso práctico de matrices n-dimensional, donde (N> 3)
Respuesta
el único ejemplo decente recuerdo estaba en el texto de 1982 Oh! Pascal! que te da una idea de lo raro que ha sido en mi experiencia.
El ejemplo era un sistema de mantenimiento de inventario donde los pantalones vaqueros podrían ser indexados por
inventory[sex][size][length][color][fit] = number_received
que es sólo ligeramente artificial. No tendría problemas con una base de datos estructurada de esa manera, pero se ve gracioso como código.
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
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 }
¿Se puede publicar un ejemplo de código (en cualquier idioma)? – Emil
El ejemplo más obvio es una lista de espacios de voxel ... 3 + 1 = 4 dimensiones :)
Una matriz que contiene todas las mazmorras en Ultima III lógicamente sería una matriz de 4 dimensiones. Cada mazmorra es una grilla de celdas tridimensional, y todas tienen el mismo tamaño.
- 1. Matrices tridimensionales: uso práctico
- 2. Uso práctico para Dispatcher.DisableProcessing?
- 3. WPF Tunneling, uso práctico?
- 4. Uso eficiente práctico de IBOutletColletion
- 5. ¿Uso práctico de funciones al curry?
- 6. Uso práctico de la palabra clave `stackalloc`
- 7. Ejemplos de uso práctico de Boost :: MPL?
- 8. Uso práctico de eventos de interfaz
- 9. Uso práctico de árboles de expresión
- 10. uso práctico de IdentityHashMap en Java 6
- 11. uso práctico de la memoria virtual
- 12. Dame un caso de uso práctico de Multi-set
- 13. ¿Cuál es el efecto práctico de viewPager.setOffscreenPageLimit (3) ;?
- 14. Uso práctico de campos de bits de longitud cero
- 15. ¿Algún ejemplo práctico de uso de LockSupport y AbstractQueuedSynchronizer?
- 16. Introducción a Git y patrones de uso práctico
- 17. Uso práctico para el nuevo RTTI de Delphi - Atributos, valores
- 18. Uso práctico de la palabra clave parcial en C#
- 19. ¿Uso práctico de futuros? Es decir, ¿cómo matarlos?
- 20. Encuentra elemento común única de 3 matrices
- 21. Uso de matrices con otras matrices en Python
- 22. ¿Alguien puede pensar en un uso práctico para XMLGregorianCalendar.getEon()?
- 23. Ejemplo práctico de polimorfismo
- 24. Ejemplo práctico de Bigtable
- 25. Uso de matrices de listas - Mejores prácticas
- 26. El uso de bucles para crear matrices
- 27. Declaración y uso de matrices globales C#
- 28. Uso de constructores con matrices en D
- 29. similitudes y diferencias entre las matrices y los punteros a través de un ejemplo práctico
- 30. Uso de Python 3 super()
Por lo general, utilizaría alguna otra estructura de datos, porque los datos de alta dimensión tienden a ser escasos y gran parte de la matriz se desperdiciará. – starblue