for (int i = 0; i < args.length; ++i)
if (getDerivative(args[i], var) != null)
return Derivative.createFromInversed(target,var);
return null;
} else if (target instanceof AbstractScalarFunction) {
AbstractScalarFunction func = (AbstractScalarFunction) target;
Tensor der = getDerivative(func.getInnerTensor(), var);
if (der == null)
return null;
if (isOne(der))
return func.derivative();
return new Product(func.derivative(), der);
}
//TODO get derivative ot derivative
return null;
}