No estoy seguro de que las bibliotecas cambiantes ayudarán. Necesitará dobles (8 bytes por). No sé cuál sería la dimensión de la matriz de covarianza en este caso, pero las bibliotecas de conmutación no cambiarán demasiado los cálculos subyacentes.
¿Cuál es la configuración de -Xmx cuando ejecuta? ¿Qué pasa con el tamaño de gen permanente? Quizás puedas aumentarlos.
¿El algoritmo se detiene inmediatamente o se ejecuta por un tiempo? Si es el último, puede conectarse al proceso utilizando Visual VM 1.3.3 (descargue e instale todos los complementos). Te permitirá ver lo que sucede en el montón, en los hilos, etc. Podría ayudarte a descubrir la causa raíz.
A "Google search para" valor propio de Java de matrículas grandes "apareció this library de Google. Si se desplaza hacia abajo en los comentarios, me pregunto si un análisis de autovalores de Lanczos podría ayudar. Puede ser suficiente si puede obtener un subconjunto de los valores propios.
Estas implementaciones de SVM dicen ser útil para grandes conjuntos de datos:
http://www.support-vector-machines.org/SVM_soft.html
no creo que se puede pedir más de 2 GB para una JVM:
http://www.theserverside.com/discussions/thread.tss?thread_id=26347
acuerdo Para Oracle, necesitará una JVM de 64 bits que se ejecute en un sistema operativo de 64 bits:
http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#gc_heap_32bit
es Java la única lengua considerada, puedo imaginar esta matriz es increíblemente grande ......? – Beginner
No veo cómo cambiar a otro idioma cambiaría algo. – duffymo