Step-by-step derivation
S001 · implies
Before
source roles = [gd-one-step]
After
derived = [[point, gradient, step_size, next_point, objective_before, objective_after, nonincreasing, step_scope]]
Conditions: none
List the complete operation/mode field order without JavaScript or answer-shape inference;Boolean,string,null and an unclaimed result remain distinct.
Step identifiers and dependencies
Rule: source_ordered_fields_without_JS · Uses: G001
S002 · calculation
Before
GD ORIGINAL ORIGINAL gradient d*x coordinate0 := mul(3, 1)
After
GD ORIGINAL ORIGINAL gradient d*x coordinate0 = 3
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S001
S003 · calculation
Before
GD ORIGINAL ORIGINAL gradient plus b coordinate0 := sum(3, 2)
After
GD ORIGINAL ORIGINAL gradient plus b coordinate0 = 5
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S002
S004 · calculation
Before
GD ORIGINAL ORIGINAL gradient d*x coordinate1 := mul(5, -1)
After
GD ORIGINAL ORIGINAL gradient d*x coordinate1 = -5
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S003
S005 · calculation
Before
GD ORIGINAL ORIGINAL gradient plus b coordinate1 := sum(-5, 0)
After
GD ORIGINAL ORIGINAL gradient plus b coordinate1 = -5
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S004
S006 · calculation
Before
GD ORIGINAL ORIGINAL objective SQUARE FIRST coordinate0 := mul(1, 1)
After
GD ORIGINAL ORIGINAL objective SQUARE FIRST coordinate0 = 1
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S005
S007 · calculation
Before
GD ORIGINAL ORIGINAL diagonal times square coordinate0 := mul(3, 1)
After
GD ORIGINAL ORIGINAL diagonal times square coordinate0 = 3
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S006
S008 · calculation
Before
GD ORIGINAL ORIGINAL quadratic divide2 coordinate0 := div(3, 2)
After
GD ORIGINAL ORIGINAL quadratic divide2 coordinate0 = 3/2
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S007
S009 · calculation
Before
GD ORIGINAL ORIGINAL linear product coordinate0 := mul(2, 1)
After
GD ORIGINAL ORIGINAL linear product coordinate0 = 2
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S008
S010 · calculation
Before
GD ORIGINAL ORIGINAL coordinate objective sum0 := sum(3/2, 2)
After
GD ORIGINAL ORIGINAL coordinate objective sum0 = 7/2
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S009
S011 · calculation
Before
GD ORIGINAL ORIGINAL objective running sum0 := sum(0, 7/2)
After
GD ORIGINAL ORIGINAL objective running sum0 = 7/2
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S010
S012 · calculation
Before
GD ORIGINAL ORIGINAL objective SQUARE FIRST coordinate1 := mul(-1, -1)
After
GD ORIGINAL ORIGINAL objective SQUARE FIRST coordinate1 = 1
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S011
S013 · calculation
Before
GD ORIGINAL ORIGINAL diagonal times square coordinate1 := mul(5, 1)
After
GD ORIGINAL ORIGINAL diagonal times square coordinate1 = 5
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S012
S014 · calculation
Before
GD ORIGINAL ORIGINAL quadratic divide2 coordinate1 := div(5, 2)
After
GD ORIGINAL ORIGINAL quadratic divide2 coordinate1 = 5/2
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S013
S015 · calculation
Before
GD ORIGINAL ORIGINAL linear product coordinate1 := mul(0, -1)
After
GD ORIGINAL ORIGINAL linear product coordinate1 = 0
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S014
S016 · calculation
Before
GD ORIGINAL ORIGINAL coordinate objective sum1 := sum(5/2, 0)
After
GD ORIGINAL ORIGINAL coordinate objective sum1 = 5/2
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S015
S017 · calculation
Before
GD ORIGINAL ORIGINAL objective running sum1 := sum(7/2, 5/2)
After
GD ORIGINAL ORIGINAL objective running sum1 = 6
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S016
S018 · implies
Before
source roles = [GD ORIGINAL, [3, 5], [2, 0], [1, -1]]
After
derived = [[3, 5], [2, 0], [1, -1], [5, -5], 6]
Conditions: none
For the WHOLE specified f(x)=1/2 sum d_i x_i²+sum b_i x_i,differentiate each coordinate to d_i x_i+b_i,not2d_i x_i.Compute ALL gradient entries first,then the objective in original order,squaring before multiplying d_i.Qualify positive diagonals,dimensions and coordinate order.
Step identifiers and dependencies
Rule: GD_WHOLE_positive_diagonal_quadratic_ordered_gradient_and_objective · Uses: G001, S017
S019 · calculation
Before
GD ORIGINAL one step ORIGINAL alpha times gradient0 := mul(1/4, 5)
After
GD ORIGINAL one step ORIGINAL alpha times gradient0 = 5/4
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S018
S020 · calculation
Before
GD ORIGINAL one step ORIGINAL next coordinate0 := sub(1, 5/4)
After
GD ORIGINAL one step ORIGINAL next coordinate0 = -1/4
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S019
S021 · calculation
Before
GD ORIGINAL one step ORIGINAL alpha times gradient1 := mul(1/4, -5)
After
GD ORIGINAL one step ORIGINAL alpha times gradient1 = -5/4
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S020
S022 · calculation
Before
GD ORIGINAL one step ORIGINAL next coordinate1 := sub(-1, -5/4)
After
GD ORIGINAL one step ORIGINAL next coordinate1 = 1/4
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S021
S023 · calculation
Before
GD ORIGINAL one step next recomputation ORIGINAL gradient d*x coordinate0 := mul(3, -1/4)
After
GD ORIGINAL one step next recomputation ORIGINAL gradient d*x coordinate0 = -3/4
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S022
S024 · calculation
Before
GD ORIGINAL one step next recomputation ORIGINAL gradient plus b coordinate0 := sum(-3/4, 2)
After
GD ORIGINAL one step next recomputation ORIGINAL gradient plus b coordinate0 = 5/4
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S023
S025 · calculation
Before
GD ORIGINAL one step next recomputation ORIGINAL gradient d*x coordinate1 := mul(5, 1/4)
After
GD ORIGINAL one step next recomputation ORIGINAL gradient d*x coordinate1 = 5/4
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S024
S026 · calculation
Before
GD ORIGINAL one step next recomputation ORIGINAL gradient plus b coordinate1 := sum(5/4, 0)
After
GD ORIGINAL one step next recomputation ORIGINAL gradient plus b coordinate1 = 5/4
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S025
S027 · calculation
Before
GD ORIGINAL one step next recomputation ORIGINAL objective SQUARE FIRST coordinate0 := mul(-1/4, -1/4)
After
GD ORIGINAL one step next recomputation ORIGINAL objective SQUARE FIRST coordinate0 = 1/16
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S026
S028 · calculation
Before
GD ORIGINAL one step next recomputation ORIGINAL diagonal times square coordinate0 := mul(3, 1/16)
After
GD ORIGINAL one step next recomputation ORIGINAL diagonal times square coordinate0 = 3/16
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S027
S029 · calculation
Before
GD ORIGINAL one step next recomputation ORIGINAL quadratic divide2 coordinate0 := div(3/16, 2)
After
GD ORIGINAL one step next recomputation ORIGINAL quadratic divide2 coordinate0 = 3/32
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S028
S030 · calculation
Before
GD ORIGINAL one step next recomputation ORIGINAL linear product coordinate0 := mul(2, -1/4)
After
GD ORIGINAL one step next recomputation ORIGINAL linear product coordinate0 = -1/2
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S029
S031 · calculation
Before
GD ORIGINAL one step next recomputation ORIGINAL coordinate objective sum0 := sum(3/32, -1/2)
After
GD ORIGINAL one step next recomputation ORIGINAL coordinate objective sum0 = -13/32
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S030
S032 · calculation
Before
GD ORIGINAL one step next recomputation ORIGINAL objective running sum0 := sum(0, -13/32)
After
GD ORIGINAL one step next recomputation ORIGINAL objective running sum0 = -13/32
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S031
S033 · calculation
Before
GD ORIGINAL one step next recomputation ORIGINAL objective SQUARE FIRST coordinate1 := mul(1/4, 1/4)
After
GD ORIGINAL one step next recomputation ORIGINAL objective SQUARE FIRST coordinate1 = 1/16
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S032
S034 · calculation
Before
GD ORIGINAL one step next recomputation ORIGINAL diagonal times square coordinate1 := mul(5, 1/16)
After
GD ORIGINAL one step next recomputation ORIGINAL diagonal times square coordinate1 = 5/16
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S033
S035 · calculation
Before
GD ORIGINAL one step next recomputation ORIGINAL quadratic divide2 coordinate1 := div(5/16, 2)
After
GD ORIGINAL one step next recomputation ORIGINAL quadratic divide2 coordinate1 = 5/32
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S034
S036 · calculation
Before
GD ORIGINAL one step next recomputation ORIGINAL linear product coordinate1 := mul(0, 1/4)
After
GD ORIGINAL one step next recomputation ORIGINAL linear product coordinate1 = 0
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S035
S037 · calculation
Before
GD ORIGINAL one step next recomputation ORIGINAL coordinate objective sum1 := sum(5/32, 0)
After
GD ORIGINAL one step next recomputation ORIGINAL coordinate objective sum1 = 5/32
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S036
S038 · calculation
Before
GD ORIGINAL one step next recomputation ORIGINAL objective running sum1 := sum(-13/32, 5/32)
After
GD ORIGINAL one step next recomputation ORIGINAL objective running sum1 = -1/4
Conditions: none
Substitute original roles and established intermediates exactly,not approximations or internally consistent changed operands;extra teaching algebra adds no source-domain gate.
Step identifiers and dependencies
Rule: exact_rational_arithmetic · Uses: G001, S037
S039 · implies
Before
source roles = [GD ORIGINAL one step next recomputation, [[3, 1], [5, 1]], [[2, 1], [0, 1]], [[-1, 4], [1, 4]]]
After
derived = [[3, 5], [2, 0], [-1/4, 1/4], [5/4, 5/4], -1/4]
Conditions: none
For the WHOLE specified f(x)=1/2 sum d_i x_i²+sum b_i x_i,differentiate each coordinate to d_i x_i+b_i,not2d_i x_i.Compute ALL gradient entries first,then the objective in original order,squaring before multiplying d_i.Qualify positive diagonals,dimensions and coordinate order.
Step identifiers and dependencies
Rule: GD_WHOLE_positive_diagonal_quadratic_ordered_gradient_and_objective · Uses: G001, S038
S040 · implies
Before
source roles = [[1, -1], [5, -5], 1/4]
After
derived = [[-1/4, 1/4], 6, -1/4, Yes]
Conditions: none
This family requires only a positive step and compares the ACTUAL objectives.The flag can be False.A positive_step description does not imply descent,and no stronger safe-step guard is added.
Step identifiers and dependencies
Rule: GD_one_positive_step_ACTUAL_objective_comparison_not_safe_assumption · Uses: G001, S039