[TOC]
Imports System
Imports CenterSpace.NMath.Core
Imports CenterSpace.NMath.Matrix
Namespace CenterSpace.NMath.Matrix.Examples.VisualBasic
' A .NET example in VB.NET showing simple general sparse vector functionality.
Module SparseVectorExample
Sub Main()
' Construct a sparse vector from a set of nonzero values and the indices for
' those values. Indices are 0-based.
Dim Indices As IndexArray = New IndexArray(1, 12, 2, 15)
Dim Values() As Double = {2, 3.14, -4, -0.6}
Dim V As DoubleSparseVector = New DoubleSparseVector(Values, Indices)
Console.WriteLine("v = " & V.ToString())
' Dot product with a dense vector.
Dim W As New DoubleVector(66, 1.2)
Dim Dot As Double = MatrixFunctions.Dot(W, V)
Console.WriteLine("w dot v = " & Dot)
' Some miscellaneous sparse vector functions...
Dim SumOfAbsValues As Double = MatrixFunctions.AbsSum(V)
Console.WriteLine("Sum of the absolute values in v = " & SumOfAbsValues)
Dim MaxAbsValueIndex As Integer = MatrixFunctions.MaxAbsIndex(V)
Console.WriteLine("Index of the largest absolute values in v = " & MaxAbsValueIndex)
' Construct a sparse vector from a dense vector by specifing the indices in the
' dense vector to "gather" into the sparse vector.
Dim T As New DoubleVector(200, 1, 1.3)
Dim TSparse As DoubleSparseVector = MatrixFunctions.Gather(T, Indices.Length, Indices)
Console.WriteLine("tSparse = " & tSparse.ToString())
' Construct a dense vector from a sparse vector by specifing the length of the
' dense vector and "scattering" the nonzero values from the sparse vector into the
' dense vector.
Dim DenseT As DoubleVector = MatrixFunctions.Scatter(TSparse, 20)
Console.WriteLine("denseT = " & DenseT.ToString())
Console.WriteLine()
Console.WriteLine("Press Enter Key")
Console.Read()
End Sub
End Module
End Namespace
[TOC]