public Create ( int alphabetCardinality, int i ) : object | ||
alphabetCardinality | int | /// Alphabet cardinality. /// |
i | int | /// The dimensionality of the matrix. /// |
Результат | object |
public object Create(int alphabetCardinality, int i)
{
switch (i)
{
case 0:
return (double)0;
case 1:
return new MatrixRow(alphabetCardinality, i);
default:
return new Matrix(alphabetCardinality, i);
}
}
/// <summary> /// The teach. /// </summary> /// <param name="chain"> /// The chain. /// </param> /// <param name="method"> /// The method. /// </param> public override void Teach(BaseChain chain, TeachingMethod method) { var builder = new MatrixBuilder(); var absoluteMatrix = (IAbsoluteMatrix)builder.Create(chain.Alphabet.Cardinality, Rank); for (int i = 0; i < chain.Alphabet.Cardinality; i++) { int[] temp = new int[1]; temp[0] = chain.Alphabet.IndexOf(chain.Alphabet[i]); absoluteMatrix.Add(temp); } ProbabilityMatrixes[0] = absoluteMatrix.ProbabilityMatrix(); }