• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# SparseVector类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中SparseVector的典型用法代码示例。如果您正苦于以下问题:C# SparseVector类的具体用法?C# SparseVector怎么用?C# SparseVector使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



SparseVector类属于命名空间,在下文中一共展示了SparseVector类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: CanConvertArrayToSparseVector

 public void CanConvertArrayToSparseVector()
 {
     var array = new[] { new Complex(1, 1), new Complex(2, 1), new Complex(3, 1), new Complex(4, 1) };
     var vector = new SparseVector(array);
     Assert.IsInstanceOf(typeof(SparseVector), vector);
     CollectionAssert.AreEqual(array, array);
 }
开发者ID:the-vk,项目名称:mathnet-numerics,代码行数:7,代码来源:SparseVectorTest.cs


示例2: GetProof

        public ExampleSet GetProof(SparseVector x)
        {
            ExampleSet res = new ExampleSet();

            List<ExampleDistancePair> list = new List<ExampleDistancePair>();

            foreach (Example e in m_t_set.Examples)
            {
                list.Add(new ExampleDistancePair(e, SparseVector.Distance(x, e.X)));
            }

            list.Sort();

            int[] votes = new int[m_catnum];
            for (int i = 0; i < votes.Length; i++)
            {
                votes[i] = 0;
            }

            for (int i = 0; i < this.m_k; i++)
            {
                ExampleDistancePair pair = list[i];
                res.AddExample(pair.Example);
            }

            return res;
        }
开发者ID:blat001,项目名称:Achievement-Sherpa,代码行数:27,代码来源:KNN.cs


示例3: Compute

        public double Compute(SparseVector x, SparseVector z)
        {
            double temp;

            temp = ((SparseVector)(x - z)).Magnitude;
            return Math.Exp(-sigma * (temp * temp));
        }
开发者ID:blat001,项目名称:Achievement-Sherpa,代码行数:7,代码来源:Kernel.cs


示例4: CanConvertSparseVectorToArray

 public void CanConvertSparseVectorToArray()
 {
     var vector = new SparseVector(Data);
     var array = vector.ToArray();
     Assert.IsInstanceOf(typeof(double[]), array);
     CollectionAssert.AreEqual(vector, array);
 }
开发者ID:the-vk,项目名称:mathnet-numerics,代码行数:7,代码来源:SparseVectorTest.cs


示例5: AverageLogFactor

        //-- VMP -------------------------------------------------------------------------------------------

		/// <summary>
		/// Evidence message for VMP
		/// </summary>
		/// <param name="sample">Incoming message from 'sample'. Must be a proper distribution.  If any element is uniform, the result will be uniform.</param>
		/// <param name="probsTrue">Incoming message from 'probsTrue'. Must be a proper distribution.  If any element is uniform, the result will be uniform.</param>
		/// <param name="MeanLog">Buffer 'MeanLog'.</param>
		/// <param name="MeanLogOneMinus">Buffer 'MeanLogOneMinus'.</param>
		/// <returns>Average of the factor's log-value across the given argument distributions</returns>
		/// <remarks><para>
		/// The formula for the result is <c>sum_(sample,probsTrue) p(sample,probsTrue) log(factor(sample,probsTrue))</c>.
		/// Adding up these values across all factors and variables gives the log-evidence estimate for VMP.
		/// </para></remarks>
		/// <exception cref="ImproperMessageException"><paramref name="sample"/> is not a proper distribution</exception>
		/// <exception cref="ImproperMessageException"><paramref name="probsTrue"/> is not a proper distribution</exception>
		public static double AverageLogFactor([Proper] SparseBernoulliListBase sample,
			[Proper] SparseBetaList probsTrue, SparseVector MeanLog, SparseVector MeanLogOneMinus)
        {
			//var MeanLogOneMinus = probsTrue.GetMeanLogOneMinus();
            var p = sample.GetProbTrueVector();
			var res = p * MeanLog + (1 - p) * MeanLogOneMinus;
            return res.Sum();
        }
开发者ID:xornand,项目名称:Infer.Net,代码行数:24,代码来源:SparseBernoulliFromBeta.cs


示例6: AddInPlace

 /// <summary>
 /// Adds each element of vec to corresponding element of addTo vector
 /// addTo vector is being changed in place
 /// </summary>
 public static void AddInPlace(SparseVector<double> addTo, SparseVector<double> vec)
 {
     foreach (var vecIdx in vec.InnerIdx)
     {
         var num = addTo.TryGet(vecIdx, 0.0);
         addTo[vecIdx] = num + vec[vecIdx];
     }
 }
开发者ID:viidea,项目名称:latino,代码行数:12,代码来源:VectorUtils.cs


示例7: Multiply

 public static SparseVector<double> Multiply(double scalar, SparseVector<double> vector)
 {
     var newVector = vector.DeepClone();
     for (int i = 0; i < newVector.InnerDat.Count; i++ )
     {
         newVector.SetDirect(i, newVector.InnerDat[i] * scalar);
     }
     return newVector;
 }
开发者ID:viidea,项目名称:latino,代码行数:9,代码来源:VectorUtils.cs


示例8: CanCallUnaryNegationOperatorOnSparseVector

 public void CanCallUnaryNegationOperatorOnSparseVector()
 {
     var vector = new SparseVector(_data);
     var other = -vector;
     for (var i = 0; i < _data.Length; i++)
     {
         Assert.AreEqual(-_data[i], other[i]);
     }
 }
开发者ID:vivektewari,项目名称:mathnet-numerics,代码行数:9,代码来源:SparseVectorTest.cs


示例9: AddRowTestAddsRowWithGivenVector

        public void AddRowTestAddsRowWithGivenVector()
        {
            SparseVector v = new SparseVector(TestMatrix.Columns);
            v[2] = 5.1f;
            TestMatrix.AddRow(v);

            float expected = 5.1f;

            Assert.AreEqual(expected, TestMatrix[3, 2]);
        }
开发者ID:feupeu,项目名称:NyhedsfilterP2,代码行数:10,代码来源:SparseMatrixTest.cs


示例10: CreateVector

        /// <summary>
        /// Creates a new instance of the Vector class.
        /// </summary>
        /// <param name="data">The array to create this vector from.</param>
        /// <returns>The new <c>Vector</c>.</returns>
        protected override Vector<double> CreateVector(IList<double> data)
        {
            var vector = new SparseVector(data.Count);
            for (var index = 0; index < data.Count; index++)
            {
                vector[index] = data[index];
            }

            return vector;
        }
开发者ID:XiBeichuan,项目名称:hydronumerics,代码行数:15,代码来源:SparseVectorTest.cs


示例11: ConstructorThrowsArgumentNullExceptionIfNullArgumentPassed

        public void ConstructorThrowsArgumentNullExceptionIfNullArgumentPassed()
        {
            // arrange

            // act
            var sv = new SparseVector<double>(null);
            
            // assert
            Assert.Fail("SparseVector ctor must throw ArgumentNullException if null argument passed.");
        }
开发者ID:yonglehou,项目名称:MachineLearning.NET,代码行数:10,代码来源:SparseVectorTests.cs


示例12: DivideInPlace

        /// <summary>
        /// Divides each element of dividee with corresponding element of divisor in place
        /// Dividee is being changed
        /// </summary>
        public static void DivideInPlace(SparseVector<double> dividee, SparseVector<double> divisor)
        {
            foreach (var divIdx in divisor.InnerIdx)
            {
                var num = dividee.TryGet(divIdx, 0.0);
                if (num < Double.Epsilon)
                    continue;

                dividee[divIdx] = num/divisor[divIdx];
            }
        }
开发者ID:viidea,项目名称:latino,代码行数:15,代码来源:VectorUtils.cs


示例13: CanCreateSparseVectorFromArray

        public void CanCreateSparseVectorFromArray()
        {
            var data = new double[Data.Length];
            Array.Copy(Data, data, Data.Length);
            var vector = new SparseVector(data);

            for (var i = 0; i < data.Length; i++)
            {
                Assert.AreEqual(data[i], vector[i]);
            }
        }
开发者ID:XiBeichuan,项目名称:hydronumerics,代码行数:11,代码来源:SparseVectorTest.cs


示例14: Binary_SVM_SMO

        public Binary_SVM_SMO(int n)
        {
            this.m_NonBound = new List<int>();
            this.m_rand = new Random();
            this.m_weight = new SparseVector(n);

            // foamliu, 2008/12/29, default values
            this.m_c = Constants.SVM_C;
            this.m_eta = Constants.SVM_Eta;
            this.m_tolerance = Constants.SVM_Tolerance;
            this.m_epsilon = Constants.SVM_Epsilon;
        }
开发者ID:blat001,项目名称:Achievement-Sherpa,代码行数:12,代码来源:SVM-SMO.cs


示例15: AddColumnTestAddsColumnWithGivenValue

        public void AddColumnTestAddsColumnWithGivenValue()
        {
            SparseVector expected = new SparseVector(TestMatrix.Rows);
            expected[0] = 5.0f;
            expected[1] = 5.0f;
            expected[2] = 5.0f;

            TestMatrix.AddColumn(5.0f);

            Assert.IsTrue(expected.ApproximatelyEqual(
                TestMatrix.ColumnVector(TestMatrix.Columns - 1)));
        }
开发者ID:feupeu,项目名称:NyhedsfilterP2,代码行数:12,代码来源:SparseMatrixTest.cs


示例16: CanAddTwoSparseVectorsUsingOperator

        public void CanAddTwoSparseVectorsUsingOperator()
        {
            var vector = new SparseVector(_data);
            var other = new SparseVector(_data);
            var result = vector + other;

            for (var i = 0; i < _data.Length; i++)
            {
                Assert.AreEqual(_data[i], vector[i], "Making sure the original vector wasn't modified.");
                Assert.AreEqual(_data[i], other[i], "Making sure the original vector wasn't modified.");
                Assert.AreEqual(_data[i] * 2.0, result[i]);
            }
        }
开发者ID:vivektewari,项目名称:mathnet-numerics,代码行数:13,代码来源:SparseVectorTest.cs


示例17: CanAddTwoSparseVectorsUsingOperator

        public void CanAddTwoSparseVectorsUsingOperator()
        {
            var vector = new SparseVector(Data);
            var other = new SparseVector(Data);
            var result = vector + other;

            for (var i = 0; i < Data.Length; i++)
            {
                AssertHelpers.AreEqual(Data[i], vector[i]);
                AssertHelpers.AreEqual(Data[i], other[i]);
                AssertHelpers.AreEqual(Data[i] * 2.0f, result[i]);
            }
        }
开发者ID:xmap2008,项目名称:mathnet-numerics,代码行数:13,代码来源:SparseVectorTest.cs


示例18: CanAddTwoSparseVectorsUsingOperator

        public void CanAddTwoSparseVectorsUsingOperator()
        {
            var vector = new SparseVector(Data);
            var other = new SparseVector(Data);
            var result = vector + other;
            CollectionAssert.AreEqual(Data, vector, "Making sure the original vector wasn't modified.");
            CollectionAssert.AreEqual(Data, other, "Making sure the original vector wasn't modified.");

            for (var i = 0; i < Data.Length; i++)
            {
                Assert.AreEqual(Data[i] * 2.0f, result[i]);
            }
        }
开发者ID:KeithVanderzanden,项目名称:mmbot,代码行数:13,代码来源:SparseVectorTest.cs


示例19: IndexedPropertyGetAccessorReturnsWhatWasSavedThroughConstructor

        public void IndexedPropertyGetAccessorReturnsWhatWasSavedThroughConstructor()
        {
            // arrange           
            var originalVector = SparseVectorHelper.GenerateRandomVector(1000, 0.7, () => SparseVectorHelper.RandomInInterval(-100, 100, 2));

            // act
            var sv = new SparseVector<double>(originalVector);

            // assert
            foreach (var element in originalVector)
            {
                Assert.AreEqual(element.Value, sv[element.Key]);
            }
        }
开发者ID:yonglehou,项目名称:MachineLearning.NET,代码行数:14,代码来源:SparseVectorTests.cs


示例20: Add

        public static SparseVector<double> Add(SparseVector<double> v1, SparseVector<double> v2)
        {
            var newVector = new SparseVector<double>();
            var v1LastI = v1.Count > 0 ? v1.Last.Idx : 0;
            var v2LastI = v2.Count > 0 ? v2.Last.Idx : 0;
            var limit = Math.Max(v1LastI, v2LastI);

            for (int i = 0; i < limit; i++)
            {
                var sum = v1.TryGet(i, 0.0) + v2.TryGet(i, 0.0);
                if (sum > Double.Epsilon)
                    newVector[i] = sum;
            }

            return newVector;
        }
开发者ID:viidea,项目名称:latino,代码行数:16,代码来源:VectorUtils.cs



注:本文中的SparseVector类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# Spartacus类代码示例发布时间:2022-05-24
下一篇:
C# SparseStream类代码示例发布时间:2022-05-24
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap