El problema de valores propios (también llamado de autovalores) está presente en multitud de áreas científicas a través de, por ejemplo, la resolución de ecuaciones en derivadas parciales, reducción de modelos y cálculo de funciones matriciales, entre otras muchas aplicaciones. Si los problemas son de dimensión moderada (menor a 10^6), pueden ser abordados mediante los llamados métodos directos, como el algoritmo iterativo QR o el método de divide y vencerás. Sin embargo, si el problema es de gran dimensión y sólo se requieren unas pocas soluciones, comparado con el tamaño del problema, los métodos iterativos pueden resultar más eficientes. Además, los métodos iterativos pueden ofrecer mejor rendimiento en arquitecturas de altas prestaciones, como las plataformas paralelas de memoria distribuida, en las que existe un cierto número de nodos computacionales con espacio de memoria propio y sólo pueden compartir información y sincronizarse mediante el paso de mensajes. Esta tesis aborda la implementación de métodos de tipo Davidson, destacando Generalized Davidson y Jacobi-Davidson, una clase de métodos iterativos que pueden ser competitivos en casos especialmente difíciles como calcular valores propios en el interior del espectro o cuando la factorización de matrices es prohibitiva o ineficiente, y sólo es posible una factorización aproximada. La implementación se desarrolla en SLEPc (Scalable Library for Eigenvalue Problem Computations), librería de software libre para la resolución de problemas de gran tamaño de valores propios, problemas cuadráticos de valores propios y problemas de valores singulares, entre otros. Como resultado de esta tesis, SLEPc incorpora una implementación de Generalized Davidson y Jacobi-Davidson para problemas estándares y generalizados, tanto hermitianos como no hermitianos, característica a destacar ya que los problemas no hermitianos no están soportados en otras librerías libres y paralelas con métodos de Davidson. Además de incorporar mejoras en la convergencia de los métodos, como la extracción de pares propios mediante el método de Rayleigh-Ritz armónico, se han realizado otras optimizaciones para mejorar el rendimiento, como evitar la aritmética compleja cuando las matrices son reales (aunque los pares propios puedan tener parte imaginaria) o agrupar las operaciones a bloques para aprovechar la memoria caché. Además se ha presentado un método nuevo para expandir el subespacio, llamado GD2, que ofrece mejores resultados en comparación con Generalized Davidson cuando el precondicionador está muy alejado del ideal. La estabilidad numérica y el rendimiento computacional de la implementación se han evaluado mediante una batería de problemas procedentes de aplicaciones reales, y comparado con otras librerías como PRIMME o Anasazi. Finalmente se presenta la integración de la implementación en dos aplicaciones científicas. Por un lado, Jacobi-Davidson ha mejorado las prestaciones de los cálculos de valores propios y los estudios multiparamétricos que aparecen en GENE, un código que resuelve las ecuaciones girocinéticas para calcular microinestabilidades que pueden aparecer en el plasma de los reactores de fusión. Por otro lado, Generalized Davidson ha ofrecido buenos resultados a la hora de abordar problemas más grandes provenientes de resolver la ecuación de Schrödinger, en el contexto de calcular la configuración electrónica de átomos.