Computar el producto de todas las matrices elementales del Jacobiano entrega la
matriz J de f. Que éste es ciertamente costoso en tiempo
y espacio. A menudo, uno sólo desea un derivada direccional . Si
substituimos
por la extensión antedicha por la regla de cadena,
obtenemos:
El cuál se debe calcular desde la izquierda, porque los productos "matriz por vector"
son tanto más baratos que los productos "matriz por matriz".
Las cosas se hacen más fáciles, porque primero, después
se requiere
, etcétera. Después las instrucciones diferenciadas, así
se cálculan las matrices de Jacobiano y se multiplican, se puede hacer junto con
el programa inicial. Necesitamos solamente interpolar las instrucciones
originales y las instrucciones derivadas. Esto se llama el modo directo de
la diferenciación automática.
En el modo directo, el programa diferenciado es sólo una copia del programa dado, las instrucciones derivadas adicionales se insertan antes de cada instrucción que implique variables activas. Cada variable activa genera una nueva variable, del mismo tipo y tamaño, que es llamada su variable derivada. Las estructuras del control del programa quedan sin cambios, es decir el Grafo de Llamados y el Gráfico de Flujo mantienen la misma forma.