code: public static UnconstrainedLeastSquares<DMatrixRMaj> dogleg( @Nullable ConfigTrustRegion config, boolean robust ) {
  		if( config == null )
  			config = new ConfigTrustRegion();
  
  		LinearSolverDense<DMatrixRMaj> solver;
  		if( robust )
  			solver = LinearSolverFactory_DDRM.leastSquaresQrPivot(true,false);
  		else
  			solver = LinearSolverFactory_DDRM.chol(100);
  
  		HessianLeastSquares_DDRM hessian = new HessianLeastSquares_DDRM(solver);
  		MatrixMath_DDRM math = new MatrixMath_DDRM();
  		TrustRegionUpdateDogleg_F64<DMatrixRMaj> update = new TrustRegionUpdateDogleg_F64<>();
  		UnconLeastSqTrustRegion_F64<DMatrixRMaj> alg = new UnconLeastSqTrustRegion_F64<>(update,hessian,math);
  		alg.configure(config);
  		return alg;
  	}
docs: Creates a dense trust region least-squares optimization using dogleg steps. Solver works on the B=J<sup>T</sup>J matrix.
  
  @see UnconLeastSqTrustRegion_F64
  
  @param config Trust region configuration
  @return The new optimization routine