Skip to content

MGroup.LinearAlgebra.Reduction

Dimitris Tsapetis edited this page Apr 17, 2019 · 1 revision

IReducible

Can be the target of a reduction, namely an operation over all entries that produces a scalar result. For more see https://en.wikipedia.org/wiki/Fold_(higher-order_function). Authors: Serafeim Bakalakos

public interface MGroup.LinearAlgebra.Reduction.IReducible

Methods

Type Name Summary
Double Reduce(Double identityValue, ProcessEntry processEntry, ProcessZeros processZeros, Finalize finalize) Applies the reduction defined by , , and to this vector, matrix or similar collection.

Reductions

Defines a number of common reduction operations that can be used as extensions for MGroup.LinearAlgebra.Reduction.IReducible. For more see https://en.wikipedia.org/wiki/Fold_(higher-order_function). Authors: Serafeim Bakalakos

public static class MGroup.LinearAlgebra.Reduction.Reductions

Static Methods

Type Name Summary
Double Average(this IVectorView vector) Calculates the average over all entries of a vector.
Double Max(this IReducible reducible) Calculates the maximum value of all entries of an MGroup.LinearAlgebra.Reduction.IReducible.
Double Min(this IReducible reducible) Calculates the minimum value of all entries of an MGroup.LinearAlgebra.Reduction.IReducible.
Double Norm2(this IReducible reducible) Calculates the Euclidian norm or 2-norm over all entries of an MGroup.LinearAlgebra.Reduction.IReducible. For more see https://en.wikipedia.org/wiki/Norm_(mathematics)#Euclidean_norm. WARNING: most classes that implement MGroup.LinearAlgebra.Reduction.IReducible will provide far more efficient methods for calculating norms. Use them instead.
Double Product(this IReducible reducible) Calculates the product over all entries of an MGroup.LinearAlgebra.Reduction.IReducible.
Double Sum(this IReducible reducible) Calculates the sum over all entries of an MGroup.LinearAlgebra.Reduction.IReducible.