Reference · Vectors
rainbow.math.linear.vector.convex-combination
Normalized two-point convex combinations preserve vector intervals.
vector/nnrat-wsum2
vector/nnrat-wsum2 : (x₁ x₂ : ℚ≥0) (x₃ x₄ : List ℚ) → List ℚ
List = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational
signed/scale-additive-rate
signed/scale-additive-rate : (w0 w1 : ℚ≥0) (value : ℚ) → signed/scale w0 value + signed/scale w1 value = signed/scale (w0 + w1) value
+ = nnrat/add= = signed/equivalent: equality of rational valuesℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational
signed/scale-one
signed/scale-one : (value : ℚ) → signed/scale 1 value = value
1 = nnrat/one= = signed/equivalent: equality of rational valuesℚ = signed/SignedRational
signed/scale-respects-rate-equivalence
signed/scale-respects-rate-equivalence : (left-rate right-rate : ℚ≥0) (value : ℚ) (same-rate : left-rate = right-rate) → signed/scale left-rate value = signed/scale right-rate value
= = signed/equivalent: equality of rational valuesℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational
vector/scale-additive-rate
vector/scale-additive-rate : (w0 w1 : ℚ≥0) (values : List ℚ) → vector/equivalent (add) (vector/scale (w0 + w1) values) where add := vector/add (vector/scale w0 values) (vector/scale w1 values)
+ = nnrat/addList = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational
vector/scale-one
vector/scale-one : (values : List ℚ) → vector/equivalent (vector/scale 1 values) values
1 = nnrat/oneList = data/Listℚ = signed/SignedRational
vector/scale-respects-rate-equivalence
vector/scale-respects-rate-equivalence : (left-rate right-rate : ℚ≥0) (values : List ℚ) (same-rate : left-rate = right-rate) → vector/equivalent (vector/scale left-rate values) (vector/scale right-rate values)
= = nnrat/equivalent: equality of rational valuesList = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational
vector/nnrat-wsum2-monotone
vector/nnrat-wsum2-monotone : (w0 w1 : ℚ≥0) (left left-prime right right-prime : List ℚ) (left-ordered : vector/at-most left left-prime) (right-ordered : vector/at-most right right-prime) → vector/at-most (vector/nnrat-wsum2 w0 w1 left right) (wsum2) where wsum2 := vector/nnrat-wsum2 w0 w1 left-prime right-prime
List = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational
vector/nnrat-wsum2-normalized-repeated
vector/nnrat-wsum2-normalized-repeated : (w0 w1 : ℚ≥0) (values : List ℚ) (normalized : w0 + w1 = 1) → vector/equivalent (vector/nnrat-wsum2 w0 w1 values values) values
+ = nnrat/add1 = nnrat/one= = nnrat/equivalent: equality of rational valuesList = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational
vector/nnrat-convex-lower-bound
vector/nnrat-convex-lower-bound : (w0 w1 : ℚ≥0) (lower left right : List ℚ) (normalized : w0 + w1 = 1) (lower-left : vector/at-most lower left) (lower-right : vector/at-most lower right) → vector/at-most lower (vector/nnrat-wsum2 w0 w1 left right)
+ = nnrat/add1 = nnrat/one= = nnrat/equivalent: equality of rational valuesList = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational
vector/nnrat-convex-upper-bound
vector/nnrat-convex-upper-bound : (w0 w1 : ℚ≥0) (left right upper : List ℚ) (normalized : w0 + w1 = 1) (left-upper : vector/at-most left upper) (right-upper : vector/at-most right upper) → vector/at-most (vector/nnrat-wsum2 w0 w1 left right) upper
+ = nnrat/add1 = nnrat/one= = nnrat/equivalent: equality of rational valuesList = data/Listℚ = signed/SignedRationalℚ≥0 = nnrat/NonnegativeRational