Una noticia inesperada irrumpió el pasado lunes en el tranquilo mundo del álgebra lineal, en un área concreta donde ya casi todos pensaban (pensabamos) que estaba todo inventado. La historia completa incluye pésimos directores de tesis, redescubrimientos independientes y a un brillante matemático que se olvida de publicar sus resultados por su trabajo como asesor financiero...
#13:
Explicación científica de porqué esta noticia ha llegado a portada:
#1:
Quizas parezca una tonteria pero la multiplicacion matricial es muy frecuente en la programacion de videojuegos ya que las texturas no son mas que matricie inmensas.Seguramente gracias a esto podremos aprobechar un poco mejor nuestro hardware
#4:
#1 Lo siento, pero a lo que te refieres (creo) son los cálculos de geometría proyectiva, que solamente usa matrices de 4x4, aunque a lo bestia.
Eso es básicamente lo gordo que hacen las tarjetas gráficas.
Para matrices tan pequeñas no tiene ninguna utilidad todo esto porque aunque el orden sea menor, las constantes de tiempo son mucho más grandes en esos algoritmos "avanzados" y no merecen la pena. Pero como dice #3, matrices gordas sirven para muuuchas otras cosas
#2:
Confesad, habéis enviado esta noticia para poder usar el coso ese del sup y sub
O(N2,376)
#19:
#5 Pagerank evita tener que calcular los eigenvectores de la hipermatriz de adjacencia que es O(n3) utilizando random surfer que tiene complejidad lineal. Aunque el método de Lanczos/Arnoldi tambien puede encontrar los k primeros eigenvectores en un tiempo lineal en matrices que son dispersas.
En google usan ambos métodos, el primero como todo el mundo sabe y el segundo para realizar el clustering spectral usado por ejemplo por el buscador de imagenes.
Quizas parezca una tonteria pero la multiplicacion matricial es muy frecuente en la programacion de videojuegos ya que las texturas no son mas que matricie inmensas.Seguramente gracias a esto podremos aprobechar un poco mejor nuestro hardware
#1 Lo siento, pero a lo que te refieres (creo) son los cálculos de geometría proyectiva, que solamente usa matrices de 4x4, aunque a lo bestia.
Eso es básicamente lo gordo que hacen las tarjetas gráficas.
Para matrices tan pequeñas no tiene ninguna utilidad todo esto porque aunque el orden sea menor, las constantes de tiempo son mucho más grandes en esos algoritmos "avanzados" y no merecen la pena. Pero como dice #3, matrices gordas sirven para muuuchas otras cosas
Tuve hace unos años un estudiante que me dijo: "esto de los números complejos es como las matrices, que no sirven para nada". Me dio ganas de darle una colleja. Luego lo pensé, y me dieron ganas de dárselo al profesor de matemáticas que en el instituto le había dicho eso.
#1 pasar de un orden de N2,376 a N2,374 significa por ejemplo que el tiempo requerido para multiplicar una matriz de un millón de filas por un millón de columnas (en la práctica eso ya es una matriz significativamente tocha para la mayoría de problemas de computación científica) se reduce en teoria por un factor de 0.973.
Con lo trillados que están los algoritmos de multiplicación de matrices, cualquier mejora es un gran avance. Pero esto tampoco va a revolucionar mucho en la práctica.
Para hacernos a la idea, por ejemplo en una matriz de tamaño un millón, con el penúltimo algoritmo la multiplicación se hace 5000 veces más rápido que haciendo la multiplicación "a pelo", mientras que con el último se hace todavía un 5% más rápido (sólo cambiando el tercer decimal del exponente).
Eso sí, yo trabajo con matrices grandísimas y una mejora del 2,376 hasta el 2,3727 francamente tampoco me quita el sueño. Prefiero comprar más ordenadores, .
#1Quizas parezca una tonteria pero la multiplicacion matricial es muy frecuente en la programacion de videojuegos ya que las texturas no son mas que matricie inmensas.Seguramente gracias a esto podremos aprobechar un poco mejor nuestro hardware
Este resultado es importante más conceptualmente que desde el punto de vista aplicado. Según mis cálculos, el tiempo para la multiplicación de matrices con un millón de elementos mejoraría en poco más de un 2%.
EDITO: Veo que #11 ya ha hecho cálculos similares.
No tengo ni puta idea de lo que se habla en el post, pero lo voto positivo por la referencia en su currículum a que el trabajo con matrices le ha ayudado a mejorar su habilidad en Word y Excel y por el despiste ese de que se le olvidó hacer un "paper" sobre este tema porque estaba muy liado
#5 Pagerank evita tener que calcular los eigenvectores de la hipermatriz de adjacencia que es O(n3) utilizando random surfer que tiene complejidad lineal. Aunque el método de Lanczos/Arnoldi tambien puede encontrar los k primeros eigenvectores en un tiempo lineal en matrices que son dispersas.
En google usan ambos métodos, el primero como todo el mundo sabe y el segundo para realizar el clustering spectral usado por ejemplo por el buscador de imagenes.
Realmente este resultado tiene muy poca aplicación práctica. Para realizar una multiplicación computacionalmente es mucho mejor ser cuidadoso con las cachés que usar este tipo de algoritmos con una mayor eficiencia teórica. Además es probable que debido a reusar resultados parciales para obtener esta mejoría teórica la precisión de los resultados sea mucho menor (en cálculos en punto flotante no es lo mismo (a*b)*c que a*(b*c) ni que (a*c)*b).
#1 Las texturas son matrices (no tan inmensas), pero no se multiplican, se usan como tablas de valores (de color, de altura, de normales...) En videojuegos para lo que se usa la multiplicación de matrices es transformaciones principalmente, y eso son matrices de 3x3 o 4x4.
Como dice Scott Aaronson, quien ayer sacó toda esta historia a la luz, esa subrealista mención a Word y Excel le inmortalizará en los anales del folklore matemático.
#19 ! no sabría decir si es un comentario de recochineo o real ,porque no me he enterado de nada! (me quede con el valor propio del vector propio como limite de mis capacidades :P)
#25#27 Creo que el termino más correcto en español es "vector propio" (y "valor propio"). En inglés usan "eigenvector" (y "eigenvalue"), que de hecho es un termino de origen alemán ("eigenvektor", literalmente autovector).
Estos avances normalmente no cambian nada a efectos prácticos, pero con el tiempo suelen sentar las bases para grandes mejores. Además la historia no tiene desperdicio. La referencia a Word y Excel es increible.
#25, #27, #29: Ambos términos son correctos y se usan indistintamente. En su momento dependía de si el texto venía de Francia o Alemania, en concreto de Jordan o Hilbert respectivamente.
Vector propio es la traducción del francés vecteur prope y autovector del alemán eigenvektor.
#7 A quien había que darte la colleja era a TI por poner un post sin pies ni cabeza.
Qué tiene que ver el profesor de instituto en esto? Se te rompió el teclado y no pudiste terminar el post?
Debemos suponer que ese alumno está en la universidad? O tal vez está haciendo un ciclo, un master? Está haciendo el doctorado? No tengo ni la más remota duda de que en bachillerato se estudian (más que nunca) las aplicaciones de las matrices. Y no tengo por qué dudar, de que ese profesor del que hablas, haya hecho su trabajo.
Suponiendo que esté en la universidad: No debería haber aprendido ahí también la utilidad de una matriz?
Te recuerdo que el profesorado universitario y de instituto comparten la misma titulación (lic.) y por tanto están igualmente preparados. Un profesor de instituto está especializado en la docencia de las matemáticas y uno universitario "se supone" en investigación.
Si os fijáis dice: The Coppersmith–Winograd algorithm is frequently used as a building block in other algorithms to prove theoretical time bounds. However, unlike the Strassen algorithm, it is not used in practice because it only provides an advantage for matrices so large that they cannot be processed by modern hardware
Es decir, es útil para fijar límites teóricos, pero el algoritmo de Strassen ( O(N2,807) ) es más rápido en todos los casos que puede procesar un ordenador moderno.
#34 te recuerdo, o te informo, que para pertenecer al cuerpo de funcionarios de profesores universitario, y con la extinción (afortunadamente) del cuerpo de profesores titulares de Escuela Universitaria, hace falta ser doctor. Esto es, mi título es superior: la diferencia entre cinco años de licenciatura a cincos años de licenciatura + dos años de doctorado+ suficiencia investigadora + tesis doctoral (+estancias + artículos +ponencias)... Superior, ¿eh?, aunque escueza a mucha gente
La anécdota es verídica, contada por un alumno, interrumpiendo la segunda clase donde estábamos dando material muy preeliminar cuando veíamos la interpretación de producto de números complejos en sentido geométrico (dilataciones+rotaciones). Le comenté que estaba muy equivocado. Me contestado que eso le habían contado, y le replique que a lo mejor debería leer más antes de decir semejantes afirmaciones. Luego me arrepentí, porque el alumno en cuestión no hacía más que repetir lo que un (o una) papanatas le había contado. No sé yo si sería matemático, físico o biólogo impartiendo matemáticas (de los dos primeros me fío, no del tercero) pero es lo que sucedió.
Comentarios
Quizas parezca una tonteria pero la multiplicacion matricial es muy frecuente en la programacion de videojuegos ya que las texturas no son mas que matricie inmensas.Seguramente gracias a esto podremos aprobechar un poco mejor nuestro hardware
Confesad, habéis enviado esta noticia para poder usar el coso ese del sup y sub
O(N2,376)
Meneo la noticia, y es que no es sólo como dice #1 las operaciones con matrices se extienden a casi todo lo computable.
#1 Lo siento, pero a lo que te refieres (creo) son los cálculos de geometría proyectiva, que solamente usa matrices de 4x4, aunque a lo bestia.
Eso es básicamente lo gordo que hacen las tarjetas gráficas.
Para matrices tan pequeñas no tiene ninguna utilidad todo esto porque aunque el orden sea menor, las constantes de tiempo son mucho más grandes en esos algoritmos "avanzados" y no merecen la pena. Pero como dice #3, matrices gordas sirven para muuuchas otras cosas
#4 Las matrices gordas sirven, por ejemplo, para el algoritmo PageRank de búsqueda de Google.
http://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=2&ved=0CCoQFjAB&url=http%3A%2F%2Fwww.stanford.edu%2F~sdkamvar%2Fpapers%2Fsecondeigenvalue.pdf&ei=Q0LXTuq9HMXDhAf90Jm3Dg&usg=AFQjCNE2Pl1xLPhFcTLNMOuVJMOmsthFmw&sig2=w_-PmhKJ1W6703g_KxQ0Qw
CAPITALISMO ES CORRUPCION!!!
Y en este caso, elevado a (n/0)...
Tuve hace unos años un estudiante que me dijo: "esto de los números complejos es como las matrices, que no sirven para nada". Me dio ganas de darle una colleja. Luego lo pensé, y me dieron ganas de dárselo al profesor de matemáticas que en el instituto le había dicho eso.
Entonces, ¿para cuando un nuevo driver nVidia que aproveche esto?
Yo, por coherencia, noticias que no entiendo no las voto
No me he enterado del NODO.
#1 pasar de un orden de N2,376 a N2,374 significa por ejemplo que el tiempo requerido para multiplicar una matriz de un millón de filas por un millón de columnas (en la práctica eso ya es una matriz significativamente tocha para la mayoría de problemas de computación científica) se reduce en teoria por un factor de 0.973.
Con lo trillados que están los algoritmos de multiplicación de matrices, cualquier mejora es un gran avance. Pero esto tampoco va a revolucionar mucho en la práctica.
Para hacernos a la idea, por ejemplo en una matriz de tamaño un millón, con el penúltimo algoritmo la multiplicación se hace 5000 veces más rápido que haciendo la multiplicación "a pelo", mientras que con el último se hace todavía un 5% más rápido (sólo cambiando el tercer decimal del exponente).
Explicación científica de porqué esta noticia ha llegado a portada:
Que curioso.
Eso sí, yo trabajo con matrices grandísimas y una mejora del 2,376 hasta el 2,3727 francamente tampoco me quita el sueño. Prefiero comprar más ordenadores, .
#1 Quizas parezca una tonteria pero la multiplicacion matricial es muy frecuente en la programacion de videojuegos ya que las texturas no son mas que matricie inmensas.Seguramente gracias a esto podremos aprobechar un poco mejor nuestro hardware
Este resultado es importante más conceptualmente que desde el punto de vista aplicado. Según mis cálculos, el tiempo para la multiplicación de matrices con un millón de elementos mejoraría en poco más de un 2%.
EDITO: Veo que #11 ya ha hecho cálculos similares.
Muy interesante me ha gustado... creo que no sería capaz de entender el algoritmo pero la explicacion sí, y me ha gustado.
No tengo ni puta idea de lo que se habla en el post, pero lo voto positivo por la referencia en su currículum a que el trabajo con matrices le ha ayudado a mejorar su habilidad en Word y Excel y por el despiste ese de que se le olvidó hacer un "paper" sobre este tema porque estaba muy liado
#13 Es que poner "Investigacion" o "avance" o cuasi cualquier cosa "cientifica" en meneame es como poner "tetas" en forocoches
Saludos
PD Aunque yo conseguí subir una que era basicamente "tetas" pera disfrazada de una buena retorica
#5 Pagerank evita tener que calcular los eigenvectores de la hipermatriz de adjacencia que es O(n3) utilizando random surfer que tiene complejidad lineal. Aunque el método de Lanczos/Arnoldi tambien puede encontrar los k primeros eigenvectores en un tiempo lineal en matrices que son dispersas.
En google usan ambos métodos, el primero como todo el mundo sabe y el segundo para realizar el clustering spectral usado por ejemplo por el buscador de imagenes.
Voy a votar errónea, así parecerá que lo entiendo.
Realmente este resultado tiene muy poca aplicación práctica. Para realizar una multiplicación computacionalmente es mucho mejor ser cuidadoso con las cachés que usar este tipo de algoritmos con una mayor eficiencia teórica. Además es probable que debido a reusar resultados parciales para obtener esta mejoría teórica la precisión de los resultados sea mucho menor (en cálculos en punto flotante no es lo mismo (a*b)*c que a*(b*c) ni que (a*c)*b).
Un paper que explica como efectuar eficientemente estos cálculos (usando el viejo algoritmo O(n3): http://www.umiacs.umd.edu/~ramani/cmsc662/Goto_vdGeijn.pdf
#1 "aprobechar" me duele en los ojos...
#1 Las texturas son matrices (no tan inmensas), pero no se multiplican, se usan como tablas de valores (de color, de altura, de normales...) En videojuegos para lo que se usa la multiplicación de matrices es transformaciones principalmente, y eso son matrices de 3x3 o 4x4.
Como dice Scott Aaronson, quien ayer sacó toda esta historia a la luz, esa subrealista mención a Word y Excel le inmortalizará en los anales del folklore matemático.
¿Subrealista? ¿¡Subrealista!?
#19 Si no me equivoco, la traducción al castellano de "eigenvector" es "vector propio". No sé si se admite también el otro término...
#24 Sí hijo, al autor se le dan bien los números, pero las letras...
#19 ! no sabría decir si es un comentario de recochineo o real ,porque no me he enterado de nada! (me quede con el valor propio del vector propio como limite de mis capacidades :P)
#25 Yo siempre los había visto como "autovectores".
#25 #27 Creo que el termino más correcto en español es "vector propio" (y "valor propio"). En inglés usan "eigenvector" (y "eigenvalue"), que de hecho es un termino de origen alemán ("eigenvektor", literalmente autovector).
Estos avances normalmente no cambian nada a efectos prácticos, pero con el tiempo suelen sentar las bases para grandes mejores. Además la historia no tiene desperdicio. La referencia a Word y Excel es increible.
#25, #27, #29: Ambos términos son correctos y se usan indistintamente. En su momento dependía de si el texto venía de Francia o Alemania, en concreto de Jordan o Hilbert respectivamente.
Vector propio es la traducción del francés vecteur prope y autovector del alemán eigenvektor.
#29 #30 Eigen = propio, intrínsico, de uno mismo, de si mismo; así que literalmente "vector propio" (Eigenvektor), "valor propio" (Eigenwert).
#31 Tienes toda la razón
La leche! Quién lo diría!
#7 A quien había que darte la colleja era a TI por poner un post sin pies ni cabeza.
Qué tiene que ver el profesor de instituto en esto? Se te rompió el teclado y no pudiste terminar el post?
Debemos suponer que ese alumno está en la universidad? O tal vez está haciendo un ciclo, un master? Está haciendo el doctorado? No tengo ni la más remota duda de que en bachillerato se estudian (más que nunca) las aplicaciones de las matrices. Y no tengo por qué dudar, de que ese profesor del que hablas, haya hecho su trabajo.
Suponiendo que esté en la universidad: No debería haber aprendido ahí también la utilidad de una matriz?
Te recuerdo que el profesorado universitario y de instituto comparten la misma titulación (lic.) y por tanto están igualmente preparados. Un profesor de instituto está especializado en la docencia de las matemáticas y uno universitario "se supone" en investigación.
La historia es interesante y el algoritmo seguro que también, pero a la práctica no sirve.
Digo que no sirve por el artículo de la wikipedia: http://en.wikipedia.org/wiki/Coppersmith%E2%80%93Winograd_algorithm
Si os fijáis dice:
The Coppersmith–Winograd algorithm is frequently used as a building block in other algorithms to prove theoretical time bounds. However, unlike the Strassen algorithm, it is not used in practice because it only provides an advantage for matrices so large that they cannot be processed by modern hardware
Es decir, es útil para fijar límites teóricos, pero el algoritmo de Strassen ( O(N2,807) ) es más rápido en todos los casos que puede procesar un ordenador moderno.
#34 te recuerdo, o te informo, que para pertenecer al cuerpo de funcionarios de profesores universitario, y con la extinción (afortunadamente) del cuerpo de profesores titulares de Escuela Universitaria, hace falta ser doctor. Esto es, mi título es superior: la diferencia entre cinco años de licenciatura a cincos años de licenciatura + dos años de doctorado+ suficiencia investigadora + tesis doctoral (+estancias + artículos +ponencias)... Superior, ¿eh?, aunque escueza a mucha gente
La anécdota es verídica, contada por un alumno, interrumpiendo la segunda clase donde estábamos dando material muy preeliminar cuando veíamos la interpretación de producto de números complejos en sentido geométrico (dilataciones+rotaciones). Le comenté que estaba muy equivocado. Me contestado que eso le habían contado, y le replique que a lo mejor debería leer más antes de decir semejantes afirmaciones. Luego me arrepentí, porque el alumno en cuestión no hacía más que repetir lo que un (o una) papanatas le había contado. No sé yo si sería matemático, físico o biólogo impartiendo matemáticas (de los dos primeros me fío, no del tercero) pero es lo que sucedió.
#1 aproVechar
#34, que dos personas compartan la misma titulación no quiere decir ni de lejos que estén igualmente preparados. Y ya luego lo que dice #36.
#37 #22 Admito mi error,ahora me pongo a copiar 100 veces aprovechar va con V
¡Bah! yo las multiplico sin manos... con la polla
#19 eigenvectores
Mis hogos >_<
Se dice autovectores.