public static void Sqrt(SparseVector <double> vec) { var innerDat = vec.InnerDat; for (int i = 0; i < innerDat.Count; i++) { vec.SetDirect(i, Math.Sqrt(innerDat[i])); } }
public static void NrmVecL2(SparseVector <double> vec) { ThrowException(vec == null ? new ArgumentNullException("vec") : null); double len = GetVecLenL2(vec); ThrowException(len == 0 ? new InvalidOperationException() : null); ArrayList <double> datInner = vec.InnerDat; for (int i = 0; i < vec.Count; i++) { vec.SetDirect(i, datInner[i] / len); } }
public static bool TryNrmVecL2(SparseVector <double> vec) { ThrowException(vec == null ? new ArgumentNullException("vec") : null); double len = GetVecLenL2(vec); if (len == 0) { return(false); } ArrayList <double> datInner = vec.InnerDat; for (int i = 0; i < vec.Count; i++) { vec.SetDirect(i, datInner[i] / len); } return(true); }