docs: private void addBuiltIn( ) {
          input1.put("inv", Operation::inv);
          input1.put("pinv", Operation::pinv);
          input1.put("rref", Operation::rref);
          input1.put("eye", Operation::eye);
          input1.put("det", Operation::det);
          input1.put("normF", Operation::normF);
          input1.put("sum", Operation::sum_one);
          input1.put("trace", Operation::trace);
          input1.put("diag", Operation::diag);
          input1.put("min", Operation::min);
          input1.put("max", Operation::max);
          input1.put("abs", Operation::abs);
          input1.put("sin", Operation::sin);
          input1.put("cos", Operation::cos);
          input1.put("atan", Operation::atan);
          input1.put("exp", Operation::exp);
          input1.put("log", Operation::log);
          input1.put("sqrt", Operation::sqrt);
          input1.put("rng", Operation::rng);
  
          inputN.put("normP", (inputs, manager) -> {
              if( inputs.size() != 2 ) throw new RuntimeException("Two inputs expected");
              return Operation.normP(inputs.get(0), inputs.get(1), manager);
          });
  
          inputN.put("max", (inputs, manager) -> {
              if( inputs.size() != 2 ) throw new RuntimeException("One or two inputs expected");
              return Operation.max_two(inputs.get(0), inputs.get(1), manager);
          });
  
          inputN.put("min", (inputs, manager) -> {
              if( inputs.size() != 2 ) throw new RuntimeException("One or two inputs expected");
              return Operation.min_two(inputs.get(0), inputs.get(1), manager);
          });
  
          inputN.put("sum", (inputs, manager) -> {
              if( inputs.size() != 2 ) throw new RuntimeException("One or two inputs expected");
              return Operation.sum_two(inputs.get(0), inputs.get(1), manager);
          });
  
          inputN.put("zeros", (inputs, manager) -> {
              if( inputs.size() != 2 ) throw new RuntimeException("Two inputs expected");
              return Operation.zeros(inputs.get(0), inputs.get(1), manager);
          });
  
          inputN.put("ones", (inputs, manager) -> {
              if( inputs.size() != 2 ) throw new RuntimeException("Two inputs expected");
              return Operation.ones(inputs.get(0), inputs.get(1), manager);
          });
  
          inputN.put("rand", (inputs, manager) -> {
              if( inputs.size() != 2 ) throw new RuntimeException("Two inputs expected");
              return Operation.rand(inputs.get(0), inputs.get(1), manager);
          });
  
          inputN.put("randn", (inputs, manager) -> {
              if( inputs.size() != 2 ) throw new RuntimeException("Two inputs expected");
              return Operation.randn(inputs.get(0), inputs.get(1), manager);
          });
  
          inputN.put("kron", (inputs, manager) -> {
              if( inputs.size() != 2 ) throw new RuntimeException("Two inputs expected");
              return Operation.kron(inputs.get(0), inputs.get(1), manager);
          });
  
          inputN.put("dot", (inputs, manager) -> {
              if( inputs.size() != 2 ) throw new RuntimeException("Two inputs expected");
              return Operation.dot(inputs.get(0), inputs.get(1), manager);
          });
  
          inputN.put("pow", (inputs, manager) -> {
              if( inputs.size() != 2 ) throw new RuntimeException("Two inputs expected");
              return Operation.pow(inputs.get(0), inputs.get(1), manager);
          });
  
          inputN.put("atan2", (inputs, manager) -> {
              if (inputs.size() != 2) throw new RuntimeException("Two inputs expected");
              return Operation.atan2(inputs.get(0), inputs.get(1), manager);
          });
  
          inputN.put("solve", (inputs, manager) -> {
              if( inputs.size() != 2 ) throw new RuntimeException("Two inputs expected");
              return Operation.solve(inputs.get(0), inputs.get(1), manager);
          });
  
          inputN.put("extract", Operation::extract);
          inputN.put("extractScalar", (inputs, manager) -> {
              if( inputs.size() != 2 && inputs.size() != 3 ) throw new RuntimeException("Two or three inputs expected");
              return Operation.extractScalar(inputs, manager);
          });
      }