本文整理汇总了C#中Vector.Multiply方法的典型用法代码示例。如果您正苦于以下问题:C# Vector.Multiply方法的具体用法?C# Vector.Multiply怎么用?C# Vector.Multiply使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Vector
的用法示例。
在下文中一共展示了Vector.Multiply方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: CalculateTrueResidual
/// <summary>
/// Calculates the <c>true</c> residual of the matrix equation Ax = b according to: residual = b - Ax
/// </summary>
/// <param name="matrix">Instance of the <see cref="Matrix"/> A.</param>
/// <param name="residual">Residual values in <see cref="Vector"/>.</param>
/// <param name="x">Instance of the <see cref="Vector"/> x.</param>
/// <param name="b">Instance of the <see cref="Vector"/> b.</param>
private static void CalculateTrueResidual(Matrix matrix, Vector residual, Vector x, Vector b)
{
// -Ax = residual
matrix.Multiply(x, residual);
residual.Multiply(-1, residual);
// residual + b
residual.Add(b, residual);
}
示例2: CalculateTrueResidual
/// <summary>
/// Calculates the <c>true</c> residual of the matrix equation Ax = b according to: residual = b - Ax
/// </summary>
/// <param name="matrix">Instance of the <see cref="Matrix"/> A.</param>
/// <param name="residual">Residual values in <see cref="Vector"/>.</param>
/// <param name="x">Instance of the <see cref="Vector"/> x.</param>
/// <param name="b">Instance of the <see cref="Vector"/> b.</param>
private static void CalculateTrueResidual(Matrix matrix, Vector residual, Vector x, Vector b)
{
// -Ax = residual
matrix.Multiply(x, residual);
// Do not use residual = residual.Negate() because it creates another object
residual.Multiply(-1, residual);
// residual + b
residual.Add(b, residual);
}
示例3: SimpleMultiply
public void SimpleMultiply()
{
Vector vector1 = new Vector(new double[] { 1.0, 2.0 });
Vector vector2 = new Vector(new double[] { 3.0, 4.0 });
Matrix matrix = vector1.Multiply(vector2);
Assert.AreEqual(new Matrix(new double[][] { new double[] { 1.0 * 3.0, 1.0 * 4.0 }, new double[] { 2.0 * 3.0, 2.0 * 4.0 } }), matrix);
}
示例4: SimpleMultiplyByNumber
public void SimpleMultiplyByNumber()
{
Vector vector1 = new Vector(new double[] { 1.0, 2.0, 3.0 });
Vector vector2 = new Vector(new double[] { 1.0 * 3.0, 2.0 * 3.0, 3.0 * 3.0 });
Vector vector = vector1.Multiply(3.0);
Assert.AreEqual(vector2, vector);
}
示例5: _initializeVertices
/// <summary>
/// Construct an initial simplex, given starting guesses for the constants, and
/// initial step sizes for each dimension
/// </summary>
/// <param name="simplexConstants"></param>
/// <returns></returns>
private static Vector[] _initializeVertices(SimplexConstant[] simplexConstants)
{
int numDimensions = simplexConstants.Length;
Vector[] vertices = new Vector[numDimensions + 1];
// define one point of the simplex as the given initial guesses
Vector p0 = new Vector(numDimensions);
for (int i = 0; i < numDimensions; i++)
{
p0[i] = simplexConstants[i].Value;
}
// now fill in the vertices, creating the additional points as:
// P(i) = P(0) + Scale(i) * UnitVector(i)
vertices[0] = p0;
for (int i = 0; i < numDimensions; i++)
{
double scale = simplexConstants[i].InitialPerturbation;
Vector unitVector = new Vector(numDimensions);
unitVector[i] = 1;
vertices[i + 1] = p0.Add(unitVector.Multiply(scale));
}
return vertices;
}
示例6: _computeCentroid
/// <summary>
/// Compute the centroid of all points except the worst
/// </summary>
/// <param name="vertices"></param>
/// <param name="errorProfile"></param>
/// <returns></returns>
private static Vector _computeCentroid(Vector[] vertices, ErrorProfile errorProfile)
{
int numVertices = vertices.Length;
// find the centroid of all points except the worst one
Vector centroid = new Vector(numVertices - 1);
for (int i = 0; i < numVertices; i++)
{
if (i != errorProfile.HighestIndex)
{
centroid = centroid.Add(vertices[i]);
}
}
return centroid.Multiply(1.0d / (numVertices - 1));
}
示例7: Normalize
public void Normalize(Vector vector)
{
vector.Sub(avgs, vector); // shift
vector.Multiply(istds, vector); // scale
}
示例8: AlphaFunction
/// <summary>
/// Альфа-функция
/// </summary>
/// <param name="alpha"></param>
/// <param name="dir"></param>
/// <returns></returns>
public double AlphaFunction(double alpha, Vector<double> dir)
{
return Y(Point + dir.Multiply(alpha));
}
示例9: AlphaDiffFunction
/// <summary>
/// Альфа-функция дифференцирования
/// </summary>
/// <param name="alpha"></param>
/// <param name="dir"></param>
/// <returns></returns>
public double AlphaDiffFunction(double alpha, Vector<double> dir)
{
return DiffFunction(Point + dir.Multiply(alpha), dir);
}