### Question:
AdaptiveStepSize { public static double findStartingStepSize(double stepScale, List<? extends Variable<DoubleTensor, ?>> variables) { long N = variables.stream() .mapToLong(v -> v.getValue().getLength()) .sum(); return stepScale / Math.pow(N, 0.25); } AdaptiveStepSize(double stepSize, double sigma, long adaptCount); static double findStartingStepSize(double stepScale, List<? extends Variable<DoubleTensor, ?>> variables); double adaptStepSize(Tree tree); double getStepSize(); void save(Statistics statistics);  }### Answer:
@Test public void canUseSimpleHeuristicForInitialStepSize() { double stepScale = 0.25; double startingStepSizeSimple = AdaptiveStepSize.findStartingStepSize(stepScale, ImmutableList.of( ConstantVertex.of(DoubleTensor.arange(0, 5)), ConstantVertex.of(DoubleTensor.arange(0, 5)) )); double expected = stepScale / (Math.pow(10, 0.25)); assertEquals(expected, startingStepSizeSimple, 1e-6); }