Uses of Class
org.ddogleg.chainrule.sym.Sym

Packages that use Sym
Package
Description
 
  • Uses of Sym in org.ddogleg.chainrule.sym

    Fields in org.ddogleg.chainrule.sym declared as Sym
    Modifier and Type
    Field
    Description
    final Sym
    SymGrid.knots
    The knot coefficients, a Sym.param(String, int) terminal sized to the grid
    Fields in org.ddogleg.chainrule.sym with type parameters of type Sym
    Modifier and Type
    Field
    Description
    final Map<Integer,Sym>
    Sym.bound
    Which expression feeds each input slot, by the operator's own input index
    Methods in org.ddogleg.chainrule.sym that return Sym
    Modifier and Type
    Method
    Description
    static Sym
    SymOps.clampLower(Sym value, int dof, double minimum)
    Holds a value at or above a floor, for feeding something that cannot accept what a solver might step to
    static Sym
    SymOps.concat(Sym... parts)
    Joins residual groups into one row block, in argument order
    static Sym
    Sym.constant(double... values)
     
    static Sym
    SymOps.divide(Sym vectorA, Sym vectorB)
    vectorA / vectorB: element-wise division between the two vectors
    static Sym
    SymOps.divideDamped(Sym vector, Sym scalar, double beta)
    vector ./ (beta + scalar): divide each element by a damped scalar.
    static Sym
    SymOps.divideVS(Sym vector, Sym scalar)
    vector ./ scalar: divide each element in vector by scalar
    Sym.in(int index, Sym value)
    Binds input slot index of this node's operator, using the operator's own input indexes.
    Sym.in0(Sym value)
     
    Sym.in1(Sym value)
     
    Sym.in2(Sym value)
     
    Sym.in3(Sym value)
     
    Sym.in4(Sym value)
     
    Sym.in5(Sym value)
     
    Sym.in6(Sym value)
     
    Sym.in7(Sym value)
     
    Sym.in8(Sym value)
     
    static Sym
    Sym.input(String name, int size)
    Per-observation value, updated by the caller inside its loop
    static Sym
    SymOps.mult(Sym vectorA, Sym vectorB)
    vectorA * vectorB: element-wise multiplication between the two vectors
    static Sym
    SymOps.multVS(Sym vector, Sym scalar)
    vector .* scalar: multiply each element in vector by scalar
    static Sym
    Sym.of(CROperatorBackwardsJac<double[]> op)
    Interior node wrapping the operator.
    SymGrid.Read.of(Sym value)
    The value the per-knot polynomials are evaluated at, completing G(u; v)
    static Sym
    Sym.param(String name, int size)
    A slice of the parameter array, the only terminal that is differentiated.
    static Sym
    SymOps.plus(int dof, Sym a, Sym b)
    a + b, element-wise over dof values
    static Sym
    SymOps.remap(int outputSize, Sym src, int... mappings)
    Rearranges elements of a vector: mappings[i] says which output each input lands in, -1 drops it
    static Sym
    SymOps.residual(double weight, Sym estimated, Sym observed)
    weight*(observed - estimated): the residual row(s) of one measurement.
    static Sym
    Sym.setting(String name)
    Known per-dataset scalar, updated by the caller between datasets
    Methods in org.ddogleg.chainrule.sym with parameters of type Sym
    Modifier and Type
    Method
    Description
    void
    SymFunction.addMovingCapture(Sym terminal, int block, int slot, IntSupplier column)
    Declares an input whose Jacobian column moves as the evaluation walks, published from the supplier when the entry is captured.
    SymGrid.at(Sym pixel)
    The field position the grid is read at, an expression producing a pixel
    SymGraphBuilder.build(Sym root)
    Compiles the expression rooted at root and returns the runnable function
    static Sym
    SymOps.clampLower(Sym value, int dof, double minimum)
    Holds a value at or above a floor, for feeding something that cannot accept what a solver might step to
    static Sym
    SymOps.concat(Sym... parts)
    Joins residual groups into one row block, in argument order
    static Sym
    SymOps.divide(Sym vectorA, Sym vectorB)
    vectorA / vectorB: element-wise division between the two vectors
    static Sym
    SymOps.divideDamped(Sym vector, Sym scalar, double beta)
    vector ./ (beta + scalar): divide each element by a damped scalar.
    static Sym
    SymOps.divideVS(Sym vector, Sym scalar)
    vector ./ scalar: divide each element in vector by scalar
    CRArray<double[]>
    SymFunction.feed(Sym terminal)
    Binds the terminal to a freshly allocated array of its declared size.
    CRArray<double[]>
    SymFunction.feed(Sym terminal, double[] data)
    Binds the terminal to the caller's own storage.
    Sym.in(int index, Sym value)
    Binds input slot index of this node's operator, using the operator's own input indexes.
    Sym.in0(Sym value)
     
    Sym.in1(Sym value)
     
    Sym.in2(Sym value)
     
    Sym.in3(Sym value)
     
    Sym.in4(Sym value)
     
    Sym.in5(Sym value)
     
    Sym.in6(Sym value)
     
    Sym.in7(Sym value)
     
    Sym.in8(Sym value)
     
    void
    SymFunction.mapParamColumn(Sym terminal, int column)
    Declares where a parameter's column is, for a terminal whose storage is not the solver's parameter array.
    static Sym
    SymOps.mult(Sym vectorA, Sym vectorB)
    vectorA * vectorB: element-wise multiplication between the two vectors
    static Sym
    SymOps.multVS(Sym vector, Sym scalar)
    vector .* scalar: multiply each element in vector by scalar
    SymGrid.Read.of(Sym value)
    The value the per-knot polynomials are evaluated at, completing G(u; v)
    static Sym
    SymOps.plus(int dof, Sym a, Sym b)
    a + b, element-wise over dof values
    static Sym
    SymOps.remap(int outputSize, Sym src, int... mappings)
    Rearranges elements of a vector: mappings[i] says which output each input lands in, -1 drops it
    static Sym
    SymOps.residual(double weight, Sym estimated, Sym observed)
    weight*(observed - estimated): the residual row(s) of one measurement.
    CRArray<double[]>
    SymFunction.terminal(Sym node)
    The handle backing a terminal, creating it on first use.