Tmv

Matriz de plantilla / Biblioteca de vectores para C ++
Descargar ahora

Tmv Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • GPL
  • Precio:
  • FREE
  • Nombre del editor:
  • Mike Jarvis
  • Sitio web del editor:
  • Sistemas operativos:
  • Mac OS X
  • Tamaño del archivo:
  • 1.7 MB

Tmv Etiquetas


Tmv Descripción

Matriz de plantilla / Biblioteca de vectores para C ++ TMV es una biblioteca de álgebra lineal de código abierto y gratuita que utiliza la sobrecarga del operador, las vistas y la evaluación retrasada para simplificar las expresiones vectoriales y de matriz en C ++. TMV está bien documentado y, opcionalmente, puede llamar a Blas / Lapack optimizados para los tiempos de ejecución más rápidos. Aquí hay algunas características clave de "TMV": · Operar la sobrecarga: una expresión como v2 = x * m * v1 debe producir código correcto y rápido. (Sin temporatarios) · Tipos complejos: mezclar complejos y tipos reales en una declaración aritmética debe ser legal. · Descomposiciones: la división debe significar resolver una ecuación de matriz, realizando automáticamente una descomposición de LU, QR, Cholesky o Singular Value para hacerlo. · Velocidad: El código debe ser rápido para matrices grandes. Típicamente, esto significa llamar a Blas Blas y Rutinas Lapack detrás de las escenas. · Evaluación tardía: (aka evaluación perezosa) La expresión V2 = X * M * V1, por ejemplo, en línea directamente a MULTMV (X, M, V1, V2), que hace el cálculo real, por lo que no hay un golpe de rendimiento de la legibilidad de la operadores. · Plantillas: Como indica el nombre TMV, el tipo de elementos en un vector o matriz es una plantilla. Por lo tanto, puede tener matriz, matriz, matriz o incluso usar un tipo definido por el usuario (por ejemplo, quad para una matriz de 16 bytes de quad-precision). · Vistas: Hay vistas constantes y mutables en un vector o matriz. Así que expresiones como M.Row (3) + = 4. * m.Row (0) y M2 * = M.Transose () hacen las cosas obvias. · División de matriz: la expresión x = b / a se puede usar para resolver la ecuación de la matriz AX = B. Los métodos de control para A se pueden usar para decirle qué descomposición usar para encontrar la solución. También hay controles para guardar la descomposición para un uso repetido posterior, e incluso para hacer la descomposición en su lugar para ahorrar en el almacenamiento. · Almacenamiento flexible: una matriz puede ser declarada Major de fila o Mayor de columna. Las matrices de banda también permiten el almacenamiento principal diagonal. · Indexación flexible: puede especificar que desea acceder a una matriz usando la convención normal de C (índice basada en 0) o la convención FORTRAN (1 índice basada en 1). · Comprobación de alias: muchos paquetes de matriz calculan m * = m incorrectamente. TMV comprueba automáticamente si dos objetos en un cálculo utilizan el mismo almacenamiento y crean temporeros según sea necesario. Solo verifica la dirección del primer elemento, por lo que aún puede arruinar. Pero la mayor parte del tiempo esto es lo suficientemente bueno. · Blas / Lapack: la biblioteca se puede compilar para llamar a Blas y / o rutinas Lapack. Pero si no los tiene, el código interno también funcionará. La mayoría de los algoritmos internos son tan rápidos como Lapack. Pero las rutinas de Blas optimizadas generalmente son significativamente más rápidas. Por lo tanto, se recomienda la compilación con al menos una biblioteca de Blas si la velocidad es importante para usted. ¿Qué hay de nuevo en este lanzamiento: · Se corrigió un error con M.Divisset (); · Corregió la documentación con respecto al acceso M.SVD (), especialmente que S es ahora un diagmatriz, en lugar de un vector. · Cambio de comportamiento de los métodos como M.SVD (). Ahora, si aún no se ha establecido SV, entonces lo configurará, en lugar de dar un error. · Método LISTINIT agregado para inicializar un vector o matriz. · Mejora de la clase de pequeñaMatrix. Ahora no se deriva de GenMatrix (o incluso Basematrix), eliminando así la tabla virtual. Esto acelera en gran medida muchos cálculos. También especializé algunas rutinas para matrices de 2x2 y 3x3, como Det e inverso. La advertencia es que algunas cosas que solían ser posibles con SmallMatrix no son ahora. Lo más importante es que los resultados aritméticos no se pueden instanciar automáticamente. Necesitan ser asignados a una ubicación, ya sea pequeñaMatrix o matriz. También acumulé todas las rutinas de la división, en lugar de que llame a las rutinas regulares de la división de la matriz. · Se eliminaron algunos comandos de vista de lo que son más claros con una notación diferente. · Problemas fijos con funciones de Lapack y Sstregr. Ahora, TMV puede detectarse cuando falla con STEGR, y ejecuta el STEDC alternativo. · Opción de instalación de SCONS agregado. · Se agregó la capacidad de usar versiones FORTRAN de BLAS y Lapack. · Incluya los archivos CMAKELIST.TXT para las instalaciones CMAKET. · Incluya archivos .vcproj y .vcsln para instalaciones visuales de C ++.


Tmv Software relacionado

Ronin Exploits

Una biblioteca gratuita para Ronin que proporcionará a los desarrolladores de Ruby con herramientas de funcionalidad de explotación y carga útil. ...

161 99 KB

Descargar

Desorden

hace que los iconos de CD de audio se parezcan a la cubierta real de CD ...

193 282 KB

Descargar

Rudimentos

Biblioteca de clase C ++ de código abierto y abierto para demonios, clientes y servidores ...

125 652 KB

Descargar