///<summary> ///</summary> ///<param name="i"></param> ///<returns></returns> public SparseVector Column(int i) { var sp = new SparseVector(RowCount); for (int j = 0; j < RowCount; j++) { sp.AddValue(j, this[j, i]); } return(sp); }
///<summary> ///</summary> ///<param name="i"></param> ///<returns></returns> public SparseVector Row(int i) { var sp = new SparseVector(ColumnCount); for (int j = 0; j < ColumnCount; j++) { sp.AddValue(j, this[i, j]); } return(sp); }
protected static SparseVector AdjacentDifference(SparseVector times) { int n = times.Length; SparseVector timeDelays = new SparseVector(n); double t = 0.0; for (int i = 0; i < n; i++) { double ti = times.Data[i]; if (t > ti) { throw new ArgumentException("TODO: Sample times are not in ascending order"); } timeDelays.AddValue(i, ti - t); t = ti; } return(timeDelays); }