# VB Vector Example

← All NMath Code Examples

```Imports System

Imports CenterSpace.NMath.Core
Imports Range = CenterSpace.NMath.Core.Range

Namespace CenterSpace.NMath.Examples.VisualBasic

A .NET example in Visual Basic showing some of the basic functionality of the vector classes.
Module VectorExample

The main entry point for the application.
Sub Main()

Console.WriteLine()

Dim v As New DoubleVector("[1 2 3 4 5 6]")

You can obtain different vector "views" of the data in v.
For example, vector viewing every other element of v.
Dim everyOther As DoubleVector = v(New Range(0, Position.End, 2))
Console.WriteLine("everyOther = {0}", everyOther.ToString())   [1 3 5]
Console.WriteLine()

Remember that this vector is a different views of the data in
v. Changing a value in everyOther will change
the corresponding value in v.
everyOther(1) = 10
Console.WriteLine("Value of v[2] == 10 is {0}", v(2).Equals(10))   True
Console.WriteLine()

You can make sure that your data is not being shared with anyone
else by invoking the DeepenThisCopy method. This will insure that
you have your own private copy of the data and that it occupies
contiguous storage.
v.DeepenThisCopy()
everyOther(1) = 100
Console.WriteLine("Value of v[2] == 100 is {0}", v(2).Equals(100))  False
Console.WriteLine()

The Resize method changes the length of a vector. Values are
truncated or padded with zeros as appropriate.
First lets save vs original values.
Dim vOrig As DoubleVector = v.Clone()

Now resize v.
v.Resize(v.Length + 2)

v will have its original values in the first v.Length-1 elements.
The last two elements will be zero.
Dim vOrig1 As DoubleVector = v(New Slice(0, vOrig.Length))
Console.WriteLine("values of v preserved during resize is {0}", vOrig.Equals(vOrig1))
Console.WriteLine()
Console.WriteLine("v resized = {0}", v.ToString())
Console.WriteLine()

vector dot, or inner, products are available as
static methods in the NMathFunctions class.
Dim u As New DoubleVector(v.Length, 1, 1)
Dim dp As Double = NMathFunctions.Dot(v, u)
Console.WriteLine("The dot product of {0} with {1} = {2}", v.ToString(), u.ToString(), dp)
Console.WriteLine()

There are also functions for computing mean and variance of the numbers in a vector.
Dim mean As Double = NMathFunctions.Mean(v)
Dim var As Double = NMathFunctions.Variance(v)
Console.WriteLine("The mean of v is {0}, and the variance is {1}", mean, var)

Console.WriteLine()
Console.WriteLine("Press Enter Key")