Решение систем линейных уравнений
index.htm - English text
solve.zip - архивированная директория.
Здесь рассматриваем решение системы линейных уравнений A*X = B,
где матрица А - фиксирована и по ней происходит специализация, B - произвольный столбец. Реально (при суперкомпиляции) происходит вычисление обратной матрицы к матрице А в виде Ява-программы.
Использовался пакет Jama
http://math.nist.gov/javanumerics/jama/
http://math.nist.gov/javanumerics/jama/Jama-1.0.1.zip
Для тестовых суперкомпиляций матрица А была выбрана в виде
( 1 / (i+j) )
Например, для матрицы размера 3
( 1/2 1/3 1/4 )
( 1/3 1/4 1/5 )
( 1/4 1/5 1/6 )
Текст исходной программы solve.java.
Для матрицы A размера 3 получается остаточная программа solve.js.
Для матрицы A размера 5 получается остаточная программа solve5.js
Ускорение исполнения для матрицы размера 3 - 5.5 раз
Ускорение исполнения для матрицы размера 6 - 8 раз
Ускорение исполнения для матрицы размера 10 - 10 раз