Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents the value of false.
Constructs a new false value.
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Represents a greater than operation.
Constructs a new greater than operation.
<param name="a">The left expression of the greater than operation.</param>
<param name="b">The right expression of the greater than operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents a greater than or equal to operation.
Constructs a new greater than or equal to operation.
<param name="a">The left expression of the greater than or equal to operation.</param>
<param name="b">The right expression of the greater than or equal to operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Interface for symbolic mathematics operations that involve logical computation.
Interface for symbolic mathematics operations that involve numeric computation.
Computes the angle measurement from a cosine ratio.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="ratio">The cosine ratio to compute the angle of.</param>
<returns>The angle of the cosine ratio.</returns>
Computes the angle measurement from a sine ratio.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="ratio">The sine ratio to compute the angle of.</param>
<returns>The angle of the sine ratio.</returns>
Computes the angle measurement from a tangent ratio.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="ratio">The tangent ratio to compute the angle of.</param>
<returns>The angle of the tangent ratio.</returns>
Represents a reciprical/invert operation.
Constructs a new reciprical/invert operation.
<param name="a">Teh expression to recipricate/invert.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Abstract base class for known constants of unknown types.
True if this numeric value is a known value.
Constructs a new constant of a known type.
<param name="constant">The value of the known constant.</param>
Abstract base class for known constants of unknown types.
True if this numeric value is a known value.
Represents a less than operation.
Constructs a new less than operation.
<param name="a">The left expression of the less than operation.</param>
<param name="b">The right expression of the less than operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents a less than or equal to operation.
Constructs a new less than or equal to operation.
<param name="a">The left expression of the less than or equal to operation.</param>
<param name="b">The right expression of the less than or equal to operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Computes the cosine ratio of an angle.
<typeparam name="T">The numeric type of the opertion.</typeparam>
<param name="angle">The angle to compute the cosine ratio of.</param>
<returns>The cosine ratio of the angle.</returns>
Computes the angle measurement from a cosine ratio.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="ratio">The cosine ratio to compute the angle of.</param>
<returns>The angle of the cosine ratio.</returns>
Computes the angle measurement from a sine ratio.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="ratio">The sine ratio to compute the angle of.</param>
<returns>The angle of the sine ratio.</returns>
Computes the angle measurement from a tangent ratio.
<typeparam name="T">The numeric type of the operation.</typeparam>
<param name="ratio">The tangent ratio to compute the angle of.</param>
<returns>The angle of the tangent ratio.</returns>
Computes the sine ratio of an angle.
<typeparam name="T">The numeric type of the opertion.</typeparam>
<param name="angle">The angle to compute the sine ratio of.</param>
<returns>The sine ratio of the angle.</returns>
Computes the cosine ratio of an angle.
<typeparam name="T">The numeric type of the opertion.</typeparam>
<param name="angle">The angle to compute the tangent ratio of.</param>
<returns>The cosine ratio of the angle.</returns>
Represents an exception in mathematical computation.
Represents an exception in mathematical computation.
Represents an exception in mathematical computation.
<param name="message">The message of the exception.</param>
Represents an exception in mathematical computation.
<param name="message">The message of the exception.</param>
<param name="innerException">The inner exception.</param>
A matrix of arbitrary dimensions implemented as a flattened array.
<typeparam name="T">The numeric type of this Matrix.</typeparam>
The number of rows in the matrix.
The number of columns in the matrix.
Determines if the matrix is square.
Determines if the matrix is a vector.
Determines if the matrix is a 2 component vector.
Determines if the matrix is a 3 component vector.
Determines if the matrix is a 4 component vector.
Determines if the matrix is a 2 square matrix.
Determines if the matrix is a 3 square matrix.
Determines if the matrix is a 4 square matrix.
Determines if the matrix is symetric.
<returns>True if the matrix is symetric; false if not.</returns>
Constructs a new default matrix of the given dimensions.
<param name="rows">The number of row dimensions.</param>
<param name="columns">The number of column dimensions.</param>
Constructs a new matrix and initializes it via function.
<param name="rows">The number of rows to construct.</param>
<param name="columns">The number of columns to construct.</param>
<param name="function">The initialization function.</param>
Constructs a new matrix and initializes it via function.
<param name="rows">The number of rows to construct.</param>
<param name="columns">The number of columns to construct.</param>
<param name="function">The initialization function.</param>

Creates a new matrix using ROW MAJOR ORDER. The data will be referenced to, so
changes to it will modify the constructed matrix.

<param name="rows">The number of rows to construct.</param>
<param name="columns">The number of columns to construct.</param>
<param name="data">The data of the matrix in ROW MAJOR ORDER.</param>
Constructs a new zero-matrix of the given dimensions.
<param name="rows">The number of rows of the matrix.</param>
<param name="columns">The number of columns of the matrix.</param>
<returns>The newly constructed zero-matrix.</returns>
Constructs a new identity-matrix of the given dimensions.
<param name="rows">The number of rows of the matrix.</param>
<param name="columns">The number of columns of the matrix.</param>
<returns>The newly constructed identity-matrix.</returns>
Constructs a new matrix where every entry is the same uniform value.
<param name="rows">The number of rows of the matrix.</param>
<param name="columns">The number of columns of the matrix.</param>
<param name="value">The value to assign every spot in the matrix.</param>
<returns>The newly constructed matrix filled with the uniform value.</returns>
Determines if the matrix is symetric.
<param name="a">The matrix to determine if symetric.</param>
<returns>True if the matrix is symetric; false if not.</returns>
Negates all the values in a matrix.
<param name="a">The matrix to have its values negated.</param>
<param name="b">The resulting matrix after the negation.</param>
Negates all the values in a matrix.
<param name="a">The matrix to have its values negated.</param>
<returns>The resulting matrix after the negation.</returns>
Negates all the values in a matrix.
<param name="b">The resulting matrix after the negation.</param>
Negates all the values in this matrix.
<returns>The resulting matrix after the negation.</returns>
Does standard addition of two matrices.
<param name="a">The left matrix of the addition.</param>
<param name="b">The right matrix of the addition.</param>
<param name="c">The resulting matrix after the addition.</param>
Does standard addition of two matrices.
<param name="a">The left matrix of the addition.</param>
<param name="b">The right matrix of the addition.</param>
<returns>The resulting matrix after the addition.</returns>
Does standard addition of two matrices.
<param name="b">The right matrix of the addition.</param>
<param name="c">The resulting matrix after the addition.</param>
Does a standard matrix addition.
<param name="b">The matrix to add to this matrix.</param>
<returns>The resulting matrix after the addition.</returns>
Does a standard matrix subtraction.
<param name="a">The left matrix of the subtraction.</param>
<param name="b">The right matrix of the subtraction.</param>
<param name="c">The resulting matrix after the subtraction.</param>
Does a standard matrix subtraction.
<param name="a">The left matrix of the subtraction.</param>
<param name="b">The right matrix of the subtraction.</param>
<returns>The resulting matrix after the subtraction.</returns>
Does a standard matrix subtraction.
<param name="b">The right matrix of the subtraction.</param>
<param name="c">The resulting matrix after the subtraction.</param>
Does a standard matrix subtraction.
<param name="b">The right matrix of the subtraction.</param>
<returns>The resulting matrix after the subtraction.</returns>
Does a standard (triple for looped) multiplication between matrices.
<param name="a">The left matrix of the multiplication.</param>
<param name="b">The right matrix of the multiplication.</param>
<param name="c">The resulting matrix of the multiplication.</param>
Does a standard (triple for looped) multiplication between matrices.
<param name="a">The left matrix of the multiplication.</param>
<param name="b">The right matrix of the multiplication.</param>
<returns>The resulting matrix of the multiplication.</returns>
Does a standard (triple for looped) multiplication between matrices.
<param name="b">The right matrix of the multiplication.</param>
<param name="c">The resulting matrix of the multiplication.</param>
Does a standard (triple for looped) multiplication between matrices.
<param name="b">The right matrix of the multiplication.</param>
<returns>The resulting matrix of the multiplication.</returns>
Does a matrix-vector multiplication.
<param name="a">The left matrix of the multiplication.</param>
<param name="b">The right vector of the multiplication.</param>
<param name="c">The resulting vector of the multiplication.</param>
Does a matrix-vector multiplication.
<param name="a">The left matrix of the multiplication.</param>
<param name="b">The right vector of the multiplication.</param>
<returns>The resulting vector of the multiplication.</returns>
Does a matrix-vector multiplication.
<param name="b">The right vector of the multiplication.</param>
<param name="c">The resulting vector of the multiplication.</param>
Does a matrix-vector multiplication.
<param name="b">The right vector of the multiplication.</param>
<returns>The resulting vector of the multiplication.</returns>
Multiplies all the values in a matrix by a scalar.
<param name="a">The matrix to have the values multiplied.</param>
<param name="b">The scalar to multiply the values by.</param>
<param name="c">The resulting matrix after the multiplications.</param>
Multiplies all the values in a matrix by a scalar.
<param name="a">The matrix to have the values multiplied.</param>
<param name="b">The scalar to multiply the values by.</param>
<returns>The resulting matrix after the multiplications.</returns>
Multiplies all the values in a matrix by a scalar.
<param name="b">The scalar to multiply the values by.</param>
<param name="a">The matrix to have the values multiplied.</param>
<returns>The resulting matrix after the multiplications.</returns>
Multiplies all the values in a matrix by a scalar.
<param name="b">The scalar to multiply the values by.</param>
<param name="c">The resulting matrix after the multiplications.</param>
Multiplies all the values in a matrix by a scalar.
<param name="b">The scalar to multiply the values by.</param>
<returns>The resulting matrix after the multiplications.</returns>
Divides all the values in the matrix by a scalar.
<param name="a">The matrix to divide the values of.</param>
<param name="b">The scalar to divide all the matrix values by.</param>
<param name="c">The resulting matrix after the division.</param>
Divides all the values in the matrix by a scalar.
<param name="a">The matrix to divide the values of.</param>
<param name="b">The scalar to divide all the matrix values by.</param>
<returns>The resulting matrix after the division.</returns>
Divides all the values in the matrix by a scalar.
<param name="b">The scalar to divide all the matrix values by.</param>
<param name="c">The resulting matrix after the division.</param>
Divides all the values in the matrix by a scalar.
<param name="b">The scalar to divide all the matrix values by.</param>
<returns>The resulting matrix after the division.</returns>
Applies a power to a square matrix.
<param name="a">The matrix to be powered by.</param>
<param name="b">The power to apply to the matrix.</param>
<param name="c">The resulting matrix of the power operation.</param>
Applies a power to a square matrix.
<param name="a">The matrix to be powered by.</param>
<param name="b">The power to apply to the matrix.</param>
<returns>The resulting matrix of the power operation.</returns>
Applies a power to a square matrix.
<param name="b">The power to apply to the matrix.</param>
<param name="c">The resulting matrix of the power operation.</param>
Applies a power to a square matrix.
<param name="b">The power to apply to the matrix.</param>
<returns>The resulting matrix of the power operation.</returns>
Computes the determinent of a square matrix.
<param name="a">The matrix to compute the determinent of.</param>
<returns>The computed determinent.</returns>
Computes the determinent of a square matrix.
<returns>The computed determinent.</returns>
Computes the trace of a square matrix.
<param name="a">The matrix to compute the trace of.</param>
<returns>The computed trace.</returns>
Computes the trace of a square matrix.
<returns>The computed trace.</returns>
Gets the minor of a matrix.
<param name="a">The matrix to get the minor of.</param>
<param name="row">The restricted row to form the minor.</param>
<param name="column">The restricted column to form the minor.</param>
<param name="b">The minor of the matrix.</param>
Gets the minor of a matrix.
<param name="a">The matrix to get the minor of.</param>
<param name="row">The restricted row to form the minor.</param>
<param name="column">The restricted column to form the minor.</param>
<returns>The minor of the matrix.</returns>
Gets the minor of a matrix.
<param name="row">The restricted row to form the minor.</param>
<param name="column">The restricted column to form the minor.</param>
<param name="b">The minor of the matrix.</param>
Gets the minor of a matrix.
<param name="row">The restricted row to form the minor.</param>
<param name="column">The restricted column to form the minor.</param>
<returns>The minor of the matrix.</returns>
Combines two matrices from left to right
(result.Rows = left.Rows AND result.Columns = left.Columns + right.Columns).
<param name="a">The left matrix of the concatenation.</param>
<param name="b">The right matrix of the concatenation.</param>
<param name="c">The resulting matrix of the concatenation.</param>
Combines two matrices from left to right
(result.Rows = left.Rows AND result.Columns = left.Columns + right.Columns).
<param name="a">The left matrix of the concatenation.</param>
<param name="b">The right matrix of the concatenation.</param>
<returns>The resulting matrix of the concatenation.</returns>
Combines two matrices from left to right
(result.Rows = left.Rows AND result.Columns = left.Columns + right.Columns).
<param name="b">The right matrix of the concatenation.</param>
<param name="c">The resulting matrix of the concatenation.</param>
Combines two matrices from left to right
(result.Rows = left.Rows AND result.Columns = left.Columns + right.Columns).
<param name="b">The right matrix of the concatenation.</param>
<returns>The resulting matrix of the concatenation.</returns>
Calculates the echelon of a matrix (aka REF).
<param name="a">The matrix to calculate the echelon of (aka REF).</param>
<param name="b">The echelon of the matrix (aka REF).</param>
<bug>Failing for non-floating point rational types due to zero how values are being compared.</bug>
Calculates the echelon of a matrix (aka REF).
<param name="a">The matrix to calculate the echelon of (aka REF).</param>
<returns>The echelon of the matrix (aka REF).</returns>
Calculates the echelon of a matrix (aka REF).
<param name="b">The echelon of the matrix (aka REF).</param>
Calculates the echelon of a matrix (aka REF).
<returns>The echelon of the matrix (aka REF).</returns>
Calculates the echelon of a matrix and reduces it (aka RREF).
<param name="a">The matrix matrix to calculate the reduced echelon of (aka RREF).</param>
<param name="b">The reduced echelon of the matrix (aka RREF).</param>
Calculates the echelon of a matrix and reduces it (aka RREF).
<param name="a">The matrix matrix to calculate the reduced echelon of (aka RREF).</param>
<returns>The reduced echelon of the matrix (aka RREF).</returns>
Calculates the echelon of a matrix and reduces it (aka RREF).
<param name="b">The reduced echelon of the matrix (aka RREF).</param>
Matrixs the reduced echelon form of this matrix (aka RREF).
<returns>The computed reduced echelon form of this matrix (aka RREF).</returns>
Calculates the inverse of a matrix.
<param name="a">The matrix to calculate the inverse of.</param>
<param name="b">The inverse of the matrix.</param>
Calculates the inverse of a matrix.
<param name="a">The matrix to calculate the inverse of.</param>
<returns>The inverse of the matrix.</returns>
Matrixs the inverse of this matrix.
<returns>The inverse of this matrix.</returns>
Calculates the adjoint of a matrix.
<param name="a">The matrix to calculate the adjoint of.</param>
<param name="b">The adjoint of the matrix.</param>
Calculates the adjoint of a matrix.
<param name="a">The matrix to calculate the adjoint of.</param>
<returns>The adjoint of the matrix.</returns>
Calculates the adjoint of a matrix.
<param name="b">The adjoint of the matrix.</param>
Calculates the adjoint of a matrix.
<returns>The adjoint of the matrix.</returns>
Returns the transpose of a matrix.
<param name="a">The matrix to transpose.</param>
<param name="b">The transpose of the matrix.</param>
Returns the transpose of a matrix.
<param name="a">The matrix to transpose.</param>
<returns>The transpose of the matrix.</returns>
Returns the transpose of a matrix.
<param name="b">The transpose of the matrix.</param>
Returns the transpose of a matrix.
<returns>The transpose of the matrix.</returns>
Decomposes a matrix into lower-upper reptresentation.
<param name="matrix">The matrix to decompose.</param>
<param name="lower">The computed lower triangular matrix.</param>
<param name="upper">The computed upper triangular matrix.</param>
Decomposes a matrix into lower-upper reptresentation.
<param name="lower">The computed lower triangular matrix.</param>
<param name="upper">The computed upper triangular matrix.</param>
Rotates a 4x4 matrix around an 3D axis by a specified angle.
/// <param name="matrix">The 4x4 matrix to rotate.</param>
<param name="angle">The angle of rotation around the axis.</param>
<param name="axis">The 3D axis to rotate the matrix around.</param>
<returns>The rotated matrix.</returns>
Does a value equality check.
<param name="a">The first matrix to check for equality.</param>
<param name="b">The second matrix to check for equality.</param>
<returns>True if values are equal, false if not.</returns>
Does a value equality check.
<param name="b">The second matrix to check for equality.</param>
<returns>True if values are equal, false if not.</returns>
Does a value equality check with leniency.
<param name="a">The first matrix to check for equality.</param>
<param name="b">The second matrix to check for equality.</param>
<param name="leniency">How much the values can vary but still be considered equal.</param>
<returns>True if values are equal, false if not.</returns>
Does a value equality check with leniency.
<param name="b">The second matrix to check for equality.</param>
<param name="leniency">How much the values can vary but still be considered equal.</param>
<returns>True if values are equal, false if not.</returns>
Fills a matrix with values using a delegate.
<param name="matrix">The matrix to fill the values of.</param>
<param name="function">The function to set the values at the relative indeces.</param>
Fills a matrix with values using a delegate.
<param name="matrix">The matrix to fill the values of.</param>
<param name="func">The function to set the values at the relative indeces.</param>
Creates a copy of a matrix.
<param name="a">The matrix to copy.</param>
<returns>The copy of this matrix.</returns>
Copies this matrix.
<returns>The copy of this matrix.</returns>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Prints out a string representation of this matrix.
<returns>A string representing this matrix.</returns>
Matrixs a hash code from the values of this matrix.
<returns>A hash code for the matrix.</returns>
Does an equality check by value.
<param name="b">The object to compare to.</param>
<returns>True if the references are equal, false if not.</returns>
Abstract base class for multinary operations.
The operands of the multinary operation.
Constructs a new multinary operation.
<param name="operands">The operands of the multinary operation.</param>
Represents a multiplication operation.
Constructs a new multiplication operation.
<param name="a">The left operand of the multiplication operation.</param>
<param name="b">The right operand of the multiplication operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Abstract base class for multiplication and division operations.
Constructs a new multiplication or division operation.
<param name="a">The left operand of the operation.</param>
<param name="b">The right operand of the operation.</param>
Represents a natural log operation.
Constructs a new natural log operation.
<param name="a">The expression to compute the natrual log of.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents a negation operation.
Constructs a new negation operation.
<param name="a">The expression to negate.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents an equality operation between two expressions.
Constructs a new inequality operation between two expressions.
<param name="a">The left expression of the inequality.</param>
<param name="b">The right expression of the inequality.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents the value of one (1).
True if this numeric value is one (1).
Determines if the constant is negative.
Constructs a new one (1) constant.
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Represents the value of one (1).
<typeparam name="T">The generic type of the numeric value.</typeparam>
True if the value is one (1).
Constructs a new one (1) value.
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Abstract base class for all symbolic mathematics operations.
Interface for symbolic mathematics operations that involve logical computation.
Interface for symbolic mathematics operations that involve numeric computation.
Represents the π (pi).
True if this numeric value is π (pi).
Determines if the constant is negative.
Constructs a new instance of pi.
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code for this instance.
<returns>The computed hash code.</returns>
Represents the value of π (pi).
<typeparam name="T">The generic type of the numeric.</typeparam>
True if the value is π (pi).
Constructs a new value of π (pi).
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Represents a power operation.
Constructs a new power operation.
<param name="a">The left operand of the power operation.</param>
<param name="b">The right operand of the power operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard 4-component quaternion [x, y, z, w]. W is the rotation ammount.
<typeparam name="T">The numeric type of this Quaternion.</typeparam>
Returns an identity quaternion (no rotation).
The X component of the quaternion. (axis, NOT rotation ammount)
The Y component of the quaternion. (axis, NOT rotation ammount)
The Z component of the quaternion. (axis, NOT rotation ammount)
The W component of the quaternion. (rotation ammount, NOT axis)
Checks quaternion for zero magnitude.
Computes the magnitude of this quaternion.
Computes the magnitude of this quaternion, but doesn't square root it for
possible optimization purposes.
Constructs a quaternion.
<param name="x">The x component of the quaternion.</param>
<param name="y">The y component of the quaternion.</param>
<param name="z">The z component of the quaternion.</param>
<param name="w">The w component of the quaternion.</param>
Checks quaternion for zero magnitude.
<param name="a">The quaternion to check for zero magnitude.</param>
<returns>True if the quaternion has zero magnitude. False if not.</returns>
Computes the magnitude of this quaternion.
<returns>The magnitude of this quaternion.</returns>
Computes the magnitude of this quaternion, but doesn't square root it for
possible optimization purposes.
<returns>The squared length of the quaternion.</returns>
Adds two quaternions together.
<param name="a">The first quaternion of the addition.</param>
<param name="b">The second quaternion of the addiiton.</param>
<param name="c">The result of the addition.</param>
Adds two quaternions together.
<param name="a">The first vector of the addition.</param>
<param name="b">The second vector of the addiiton.</param>
<returns>The result of the addition.</returns>
Adds two quaternions together.
<param name="b">The second quaternion of the addititon.</param>
<param name="c">The result of the addition.</param>
Adds two quaternions together.
<param name="b">The quaternion to add to this one.</param>
<returns>The result of the addition.</returns>
Subtracts two quaternions.
<param name="a">The first quaternion of the subtraction.</param>
<param name="b">The second quaternion of the subtraction.</param>
<param name="c">The result of the subtraction.</param>
Subtracts two quaternions.
<param name="a">The first vector of the subtraction.</param>
<param name="b">The second vector of the subtraction.</param>
<returns>The result of the subtraction.</returns>
Subtracts two quaternions.
<param name="b">The second quaternion of the subtraction.</param>
<param name="c">The result of the subtraction.</param>
Subtracts two quaternions together.
<param name="b">The second quaternion of the subtraction.</param>
<returns>The result of the subtraction.</returns>
Multiplies two quaternions.
<param name="a">The first quaternion of the multiplication.</param>
<param name="b">The second quaternion of the multiplication.</param>
<returns>The resulting quaternion after the multiplication.</returns>
Multiplies two quaternions.
<param name="b">The second quaternion of the multiplication.</param>
<param name="c">The resulting quaternion after the multiplication.</param>
Multiplies two quaternions.
<param name="b">The second quaternion of the multiplication.</param>
<returns>The resulting quaternion after the multiplication.</returns>
Multiplies a quaternion and a vector.
<param name="a">The quaternion of the multiplication.</param>
<param name="b">The vector of the multiplication.</param>
<param name="c">The resulting quaternion after the multiplication.</param>
Multiplies a quaternion and a vector.
<param name="a">The quaternion of the multiplication.</param>
<param name="b">The vector of the multiplication.</param>
<returns>The resulting quaternion after the multiplication.</returns>
Multiplies a quaternion and a vector.
<param name="b">The vector of the multiplication.</param>
<param name="c">The resulting quaternion after the multiplication.</param>
Multiplies a quaternion and a vector.
<param name="b">The vector of the multiplication.</param>
<returns>The resulting quaternion after the multiplication.</returns>
Multiplies all the values in a matrix by a scalar.
<param name="a">The matrix to have the values multiplied.</param>
<param name="b">The scalar to multiply the values by.</param>
<returns>The resulting quaternion after the multiplications.</returns>
Multiplies all the values in a matrix by a scalar.
<param name="b">The scalar to multiply the values by.</param>
<param name="a">The quaternion to have the values multiplied.</param>
<returns>The resulting quaternion after the multiplications.</returns>
Multiplies all the values in a matrix by a scalar.
<param name="b">The scalar to multiply the values by.</param>
<param name="c">The resulting quaternion after the multiplications.</param>
Multiplies all the values in a matrix by a scalar.
<param name="b">The scalar to multiply the values by.</param>
<returns>The resulting matrix after the multiplications.</returns>
Rotates a vector by a quaternion rotation [v' = qvq'].
<param name="a">The quaternion rotation to rotate the vector by.</param>
<param name="b">The vector to rotate.</param>
<param name="c">The result of the rotation.</param>
Rotates a vector by a quaternion rotation [v' = qvq'].
<param name="a">The quaternion rotation to rotate the vector by.</param>
<param name="b">The vector to rotate.</param>
<returns>The result of the rotation.</returns>
Rotates a vector by a quaternion rotation [v' = qvq'].
<param name="b">The vector to rotate.</param>
<param name="c">The result of the rotation.</param>
Rotates a vector by a quaternion rotation [v' = qvq'].
<param name="b">The vector to rotate.</param>
<returns>The result of the rotation.</returns>
Conjugates a quaternion.
<param name="a">The quaternion to conjugate.</param>
<param name="b">The result of the conjugation.</param>
Conjugates a quaternion.
<param name="a">The quaternion to conjugate.</param>
<returns>The result of the conjugation.</returns>
Conjugates a quaternion.
<param name="b">The result of the conjugation.</param>
Conjugates a quaternion.
<returns>The result of the conjugation.</returns>
Normalizes a quaternion.
<param name="a">The quaternion to normalize.</param>
<param name="b">The result of the normalization.</param>
Normalizes a quaternion.
<param name="a">The quaternion to normalize.</param>
<returns>The result of the normalization.</returns>
Normalizes a quaternion.
<param name="a">The quaternion to normalize.</param>
<param name="b">The result of the normalization.</param>
Normalizes a quaternion.
<param name="a">The quaternion to normalize.</param>
<returns>The result of the normalization.</returns>
Inverts a quaternion.
<param name="a">The quaternion to invert.</param>
<param name="b">The result of the inversion.</param>
Inverts a quaternion.
<param name="a">The quaternion to invert.</param>
<returns>The result of the inversion.</returns>
Inverts a quaternion.
<param name="b">The result of the inversion.</param>
Inverts a quaternion.
<returns>The result of the inversion.</returns>
Linear interpolation for quaternions.
<param name="a">The min of the interpolation.</param>
<param name="b">The max of the interpolation.</param>
<param name="blend">The blending point of the interpolation.</param>
<param name="c">The result of the linear interpolation.</param>
Linear interpolation for quaternions.
<param name="a">The min of the interpolation.</param>
<param name="b">The max of the interpolation.</param>
<param name="blend">The blending point of the interpolation.</param>
<returns>The result of the linear interpolation.</returns>
Linear interpolation for quaternions.
<param name="b">The max of the interpolation.</param>
<param name="blend">The blending point of the interpolation.</param>
<param name="c">The result of the linear interpolation.</param>
Linear interpolation for quaternions.
<param name="b">The max of the interpolation.</param>
<param name="blend">The blending point of the interpolation.</param>
<returns>The result of the linear interpolation.</returns>
Spherical interpolation for quaternions.
<param name="a">The min of the interpolation.</param>
<param name="b">The max of the interpolation.</param>
<param name="blend">The blending point of the interpolation.</param>
<param name="c">The result of the spherical interpolation.</param>
Spherical interpolation for quaternions.
<param name="a">The min of the interpolation.</param>
<param name="b">The max of the interpolation.</param>
<param name="blend">The blending point of the interpolation.</param>
<returns>The result of the spherical interpolation.</returns>
Spherical interpolation for quaternions.
<param name="b">The max of the interpolation.</param>
<param name="blend">The blending point of the interpolation.</param>
<param name="c">The result of the spherical interpolation.</param>
Spherical interpolation for quaternions.
<param name="b">The max of the interpolation.</param>
<param name="blend">The blending point of the interpolation.</param>
<returns>The result of the spherical interpolation.</returns>
Converts a quaternion into a 3x3 matrix.
<param name="quaternion">The quaternion of the conversion.</param>
<returns>The resulting 3x3 matrix.</returns>
Does a value equality check.
<param name="b">The second quaternion to check for equality.</param>
<returns>True if values are equal, false if not.</returns>
Does a value equality check with leniency.
<param name="b">The second quaternion to check for equality.</param>
<param name="leniency">How much the values can vary but still be considered equal.</param>
<returns>True if values are equal, false if not.</returns>
Creates a copy of a quaternion.
<param name="a">The quaternion to copy.</param>
<returns>The copy of this quaternion.</returns>
Copies this matrix.
<returns>The copy of this matrix.</returns>
Converts the quaternion into a string.
<returns>The resulting string after the conversion.</returns>
Computes a hash code from the values in this quaternion.
<returns>The computed hash code.</returns>
Does a reference equality check.
<param name="other"></param>
<returns></returns>
Represents a root operation.
Constructs a new root operation.
<param name="a">The base of the root operation.</param>
<param name="b">The root (inverted exponent) value of the operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents the secant trigonometric function.
Constructs a new secant expression.
<param name="a">The parameter to the secant expression.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents a mathematical simplification operation.
Constructs a new simplification operation.
<param name="a">The expression to simplify.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents the sine trigonometric function.
Constructs a new sine expression.
<param name="a">The parameter to the sine expression.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Computes the sine ratio of an angle.
<typeparam name="T">The numeric type of the opertion.</typeparam>
<param name="angle">The angle to compute the sine ratio of.</param>
<returns>The sine ratio of the angle.</returns>
Represents a square root operation
Constructs a new square root operation.
<param name="a">The expression to compute the square root of.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents a subtraction operation.
Constructs a new subtraction operation.
<param name="a">The left operand of the subtraction operation.</param>
<param name="b">The right operand of the subtraction operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Contains definitions necessary for the generic Symbolics class.
Represents an addition operation.
Constructs a new addition operation.
<param name="a">The left operand of the addition operation.</param>
<param name="b">The right operand of the addition operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents an addition or a subtraction operation.
Constructs a new addition or subtraction operation.
<param name="a">The left operand of the operation.</param>
<param name="b">The right operand of the operation.</param>
Abstract base class for all symbolic mathematics binary operations.
The first operand of the binary operation.
The second operand of the binary operation.
Constructs a new binary operation.
<param name="a">The left operand of the binary operation.</param>
<param name="b">The right operand of the binary operation.</param>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
Represents a constant numerical value.
True if this is a known constant value.
True if this numeric value is zero (0).
True if this numeric value is one (1).
True if this numeric value is two (2).
True if this numeric value is three (3).
True if this numeric value is π (pi).
Determines if the constant is negative.
Represents a numeric constant.
<typeparam name="T">The generic type of the numeric value.</typeparam>
The value of this numeric constant.
True if this numeric value is zero (0).
True if this numeric value is one (1).
True if this numeric value is two (2).
True if this numeric value is three (3).
Determines if the constant is negative.
Constructs a new numeric constant.
<param name="constant">The value of the numeric constant.</param>
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Represents the cosecant trigonometric function.
Constructs a new cosecant expression.
<param name="a">The parameter to the cosecant expression.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents the cosine trigonometric function.
Constructs a new cosine expression.
<param name="a">The parameter to the cosine expression.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents the cotangent trigonometric function.
Constructs a new cotangent expression.
<param name="a">The parameter to the cotangent expression.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents a division operation.
Constructs a new division operation.
<param name="a">The left operand of the division operation.</param>
<param name="b">The right operand of the division operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents an equality operation between two expressions.
Constructs a new equality operation between two expressions.
<param name="a">The left expression of the equality.</param>
<param name="b">The right expression of the equality.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents an exponential operation.
Constructs a new exponential operation.
<param name="a">The expression to compute the exponetial function of.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Abstract base class for mathematical expressions.
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="value">The value to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Derives this expression.
<param name="variable">The variable to derive in relation to.</param>
<returns>The result of the derivation.</returns>
Integrates this expression.
<param name="variable">The variable to integrate in relation to.</param>
<returns>The result of the integration.</returns>
Creates a copy of the expression.
<returns>A copy of the expression.</returns>
Represents a factorial operation.
Constructs a new factorial operation.
<param name="a">The operand of the factorial operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents the value of false.
Constructs a new false value.
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Represents a greater than operation.
Constructs a new greater than operation.
<param name="a">The left expression of the greater than operation.</param>
<param name="b">The right expression of the greater than operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents a greater than or equal to operation.
Constructs a new greater than or equal to operation.
<param name="a">The left expression of the greater than or equal to operation.</param>
<param name="b">The right expression of the greater than or equal to operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents a reciprical/invert operation.
Constructs a new reciprical/invert operation.
<param name="a">Teh expression to recipricate/invert.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Abstract base class for known constants of unknown types.
True if this numeric value is a known value.
Constructs a new constant of a known type.
<param name="constant">The value of the known constant.</param>
Abstract base class for known constants of unknown types.
True if this numeric value is a known value.
Represents a less than operation.
Constructs a new less than operation.
<param name="a">The left expression of the less than operation.</param>
<param name="b">The right expression of the less than operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents a less than or equal to operation.
Constructs a new less than or equal to operation.
<param name="a">The left expression of the less than or equal to operation.</param>
<param name="b">The right expression of the less than or equal to operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Abstract base class for multinary operations.
The operands of the multinary operation.
Constructs a new multinary operation.
<param name="operands">The operands of the multinary operation.</param>
Represents a multiplication operation.
Constructs a new multiplication operation.
<param name="a">The left operand of the multiplication operation.</param>
<param name="b">The right operand of the multiplication operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Abstract base class for multiplication and division operations.
Constructs a new multiplication or division operation.
<param name="a">The left operand of the operation.</param>
<param name="b">The right operand of the operation.</param>
Represents a natural log operation.
Constructs a new natural log operation.
<param name="a">The expression to compute the natrual log of.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents a negation operation.
Constructs a new negation operation.
<param name="a">The expression to negate.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents an equality operation between two expressions.
Constructs a new inequality operation between two expressions.
<param name="a">The left expression of the inequality.</param>
<param name="b">The right expression of the inequality.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents the value of one (1).
True if this numeric value is one (1).
Determines if the constant is negative.
Constructs a new one (1) constant.
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Represents the value of one (1).
<typeparam name="T">The generic type of the numeric value.</typeparam>
True if the value is one (1).
Constructs a new one (1) value.
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Abstract base class for all symbolic mathematics operations.
Interface for symbolic mathematics operations that involve logical computation.
Interface for symbolic mathematics operations that involve numeric computation.
Represents the π (pi).
True if this numeric value is π (pi).
Determines if the constant is negative.
Constructs a new instance of pi.
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code for this instance.
<returns>The computed hash code.</returns>
Represents the value of π (pi).
<typeparam name="T">The generic type of the numeric.</typeparam>
True if the value is π (pi).
Constructs a new value of π (pi).
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Represents a power operation.
Constructs a new power operation.
<param name="a">The left operand of the power operation.</param>
<param name="b">The right operand of the power operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents a root operation.
Constructs a new root operation.
<param name="a">The base of the root operation.</param>
<param name="b">The root (inverted exponent) value of the operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents the secant trigonometric function.
Constructs a new secant expression.
<param name="a">The parameter to the secant expression.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents a mathematical simplification operation.
Constructs a new simplification operation.
<param name="a">The expression to simplify.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents the sine trigonometric function.
Constructs a new sine expression.
<param name="a">The parameter to the sine expression.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents a square root operation
Constructs a new square root operation.
<param name="a">The expression to compute the square root of.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents a subtraction operation.
Constructs a new subtraction operation.
<param name="a">The left operand of the subtraction operation.</param>
<param name="b">The right operand of the subtraction operation.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Represents the tanget trigonometric function.
Constructs a new tangent expression.
<param name="a">The parameter to the tangent expression.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Abstract base class for ternary operations.
The first operand of the ternary operation.
The second operand of the ternary operation.
The third operand of the ternary operation.
Constructs a new ternary operation.
<param name="a">The first operand of the ternary operation.</param>
<param name="b">The second operand of the ternary operation.</param>
<param name="c">The third operand of the ternary operation.</param>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
Represents the value of three (3).
True if this numeric value is three (3).
Determines if the constant is negative.
Constructs a new value of three (3).
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Represents the value of three (3).
<typeparam name="T">The generic type of the numeric value.</typeparam>
True if the value is three (3).
Constructs a new value of three.
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Represents one of the trigonometry functions.
Constructs a new trigonometry expression.
<param name="a">The parameter to the trigonometry expression.</param>
Represents the value of true.
Constructs a new value of true.
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
A try-parsing function to parse a string that represents a numerical value.
<typeparam name="T">The type that the numeric value will be parsed into.</typeparam>
<param name="string">The string to parse.</param>
<param name="parsedValue">The parsed numeric value if successful.</param>
<returns>Whether or not the parsing attempt was successful or not.</returns>
Represents the value of two (2).
True if this numeric value is two (2).
Determines if the constant is negative.
Constructs a new value of two (2).
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Represents the value of two (2).
<typeparam name="T">The generic type of the numeric value.</typeparam>
True if the value is two (2).
Constructs a new value of two (2).
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Abstract base class for all symbolic mathematics unary operations.
The operand of th unary operation.
Constructs a new unary operation.
<param name="a">The operand of the unary operation.</param>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
A variable in a symbolic mathematics expression.
The name of the variable.
Constructs a new variable.
<param name="name">The name of the vairable.</param>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
Standard hash function.
<returns>The computed hash code for this instance.</returns>
Represents zero (0).
True if this numeric value is zero (0).
Determines if the constant is negative.
Constructs a new zero (0) value.
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Represents the value of zero (0).
<typeparam name="T">The generic type of the numeric value.</typeparam>
True if the value is zero (0).
Constructs a new zero (0) value.
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Parses a mathematical expression from a linq expression.
<param name="e">The linq expression to parse.</param>
<returns>The parsed symbolic mathematics linq expression.</returns>
Parses a symbolic methematics expression with the assumption that it will simplify to a constant.
<typeparam name="T">The generic numerical type to recieve as the outputted type.</typeparam>
<param name="string">The string to be parse.</param>
<param name="tryParsingFunction">A function for parsing numerical values into the provided generic type.</param>
<returns>The parsed expression simplified down to a constant value.</returns>
Parses a string into a Towel.Mathematics.Symbolics expression tree.
<typeparam name="T">The type to convert any constants into (ex: float, double, etc).</typeparam>
<param name="string">The expression string to parse.</param>
<param name="tryParsingFunction">A parsing function for the provided generic type. This is optional, but highly recommended.</param>
<returns>The parsed Towel.Mathematics.Symbolics expression tree.</returns>
Represents the tanget trigonometric function.
Constructs a new tangent expression.
<param name="a">The parameter to the tangent expression.</param>
Simplifies the mathematical expression.
<returns>The simplified mathematical expression.</returns>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Computes the cosine ratio of an angle.
<typeparam name="T">The numeric type of the opertion.</typeparam>
<param name="angle">The angle to compute the tangent ratio of.</param>
<returns>The cosine ratio of the angle.</returns>
Abstract base class for ternary operations.
The first operand of the ternary operation.
The second operand of the ternary operation.
The third operand of the ternary operation.
Constructs a new ternary operation.
<param name="a">The first operand of the ternary operation.</param>
<param name="b">The second operand of the ternary operation.</param>
<param name="c">The third operand of the ternary operation.</param>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
Represents the value of three (3).
True if this numeric value is three (3).
Determines if the constant is negative.
Constructs a new value of three (3).
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Represents the value of three (3).
<typeparam name="T">The generic type of the numeric value.</typeparam>
True if the value is three (3).
Constructs a new value of three.
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Represents one of the trigonometry functions.
Constructs a new trigonometry expression.
<param name="a">The parameter to the trigonometry expression.</param>
Represents the value of true.
Constructs a new value of true.
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
A try-parsing function to parse a string that represents a numerical value.
<typeparam name="T">The type that the numeric value will be parsed into.</typeparam>
<param name="string">The string to parse.</param>
<param name="parsedValue">The parsed numeric value if successful.</param>
<returns>Whether or not the parsing attempt was successful or not.</returns>
Represents the value of two (2).
True if this numeric value is two (2).
Determines if the constant is negative.
Constructs a new value of two (2).
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Represents the value of two (2).
<typeparam name="T">The generic type of the numeric value.</typeparam>
True if the value is two (2).
Constructs a new value of two (2).
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Abstract base class for all symbolic mathematics unary operations.
The operand of th unary operation.
Constructs a new unary operation.
<param name="a">The operand of the unary operation.</param>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
A variable in a symbolic mathematics expression.
The name of the variable.
Constructs a new variable.
<param name="name">The name of the vairable.</param>
Clones this expression.
<returns>A clone of this expression.</returns>
Substitutes an expression for all occurences of a variable.
<param name="variable">The variable to be substititued.</param>
<param name="expression">The expression to substitute for each occurence of a variable.</param>
<returns>The resulting expression of the substitution.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
Standard hash function.
<returns>The computed hash code for this instance.</returns>
Represents a vector with an arbitrary number of components of a generic type.
<typeparam name="T">The numeric type of this Vector.</typeparam>
Index 0
Index 1
Index 2
The number of components in this vector.
Computes the length of this vector.
Computes the length of this vector, but doesn't square root it for
possible optimization purposes.
Creates a new vector with the given number of components.
<param name="dimensions">The number of dimensions this vector will have.</param>
Creates a vector out of the given values.
<param name="vector">The values to initialize the vector to.</param>
Creates a new vector and initializes it via function.
<param name="dimensions">The number of dimensions of the vector to construct.</param>
<param name="function">The function to initialize the values of the vector.</param>
Creates a vector with the given number of components with the values initialized to zeroes.
<param name="dimensions">The number of components in the vector.</param>
<returns>The newly constructed vector.</returns>
Creates a vector with the given number of components with the values initialized to ones.
<param name="dimensions">The number of components in the vector.</param>
<returns>The newly constructed vector.</returns>
Computes the length of this vector.
<returns>The length of this vector.</returns>
Computes the length of this vector, but doesn't square root it for
possible optimization purposes.
<returns>The squared length of the vector.</returns>
Negates all the values in a vector.
<param name="a">The vector to have its values negated.</param>
<param name="b">The result of the negations.</param>
Negates all the values in a vector.
<param name="a">The vector to have its values negated.</param>
<returns>The result of the negations.</returns>
Negates all the values in a vector.
<param name="b">The result of the negations.</param>
Negates this vector.
<returns>The result of the negation.</returns>
Adds two vectors together.
<param name="a">The first vector of the addition.</param>
<param name="b">The second vector of the addiiton.</param>
<param name="c">The result of the addition.</param>
Adds two vectors together.
<param name="a">The first vector of the addition.</param>
<param name="b">The second vector of the addiiton.</param>
<returns>The result of the addition.</returns>
Adds two vectors together.
<param name="b">The second vector of the addition.</param>
<param name="c">The result of the addition.</param>
Adds two vectors together.
<param name="b">The vector to add to this one.</param>
<returns>The result of the addition.</returns>
Subtracts two vectors.
<param name="a">The left vector of the subtraction.</param>
<param name="b">The right vector of the subtraction.</param>
<param name="c">The result of the vector subtracton.</param>
Subtracts two vectors.
<param name="a">The left vector of the subtraction.</param>
<param name="b">The right vector of the subtraction.</param>
<returns>The result of the vector subtracton.</returns>
Subtracts two vectors.
<param name="b">The right vector of the subtraction.</param>
<param name="c">The result of the vector subtracton.</param>
Subtracts another vector from this one.
<param name="b">The vector to subtract from this one.</param>
<returns>The result of the subtraction.</returns>
Multiplies all the values in a vector by a scalar.
<param name="a">The vector to have all its values multiplied.</param>
<param name="b">The scalar to multiply all the vector values by.</param>
<param name="c">The result of the multiplication.</param>
Multiplies all the values in a vector by a scalar.
<param name="a">The vector to have all its values multiplied.</param>
<param name="b">The scalar to multiply all the vector values by.</param>
<returns>The result of the multiplication.</returns>
Multiplies all the values in a vector by a scalar.
<param name="b">The scalar to multiply all the vector values by.</param>
<param name="c">The result of the multiplication.</param>
Multiplies the values in this vector by a scalar.
<param name="b">The scalar to multiply these values by.</param>
<returns>The result of the multiplications</returns>
Divides all the components of a vector by a scalar.
<param name="a">The vector to have the components divided by.</param>
<param name="b">The scalar to divide the vector components by.</param>
<param name="c">The resulting vector after teh divisions.</param>
Divides all the components of a vector by a scalar.
<param name="a">The vector to have the components divided by.</param>
<param name="b">The scalar to divide the vector components by.</param>
<returns>The resulting vector after teh divisions.</returns>
Divides all the components of a vector by a scalar.
<param name="b">The scalar to divide the vector components by.</param>
<param name="c">The resulting vector after teh divisions.</param>
Divides all the values in this vector by a scalar.
<param name="b">The scalar to divide the values of the vector by.</param>
<returns>The resulting vector after teh divisions.</returns>
Computes the dot product between two vectors.
<param name="a">The first vector of the dot product operation.</param>
<param name="b">The second vector of the dot product operation.</param>
<returns>The result of the dot product operation.</returns>
Computes the dot product between this vector and another.
<param name="right">The second vector of the dot product operation.</param>
<returns>The result of the dot product.</returns>
Computes teh cross product of two vectors.
<param name="a">The first vector of the cross product operation.</param>
<param name="b">The second vector of the cross product operation.</param>
<param name="c">The result of the cross product operation.</param>
Computes teh cross product of two vectors.
<param name="a">The first vector of the cross product operation.</param>
<param name="b">The second vector of the cross product operation.</param>
<returns>The result of the cross product operation.</returns>
Computes teh cross product of two vectors.
<param name="b">The second vector of the cross product operation.</param>
<param name="c">The result of the cross product operation.</param>
Computes teh cross product of two vectors.
<param name="b">The second vector of the dot product operation.</param>
<returns>The result of the dot product operation.</returns>
Normalizes a vector.
<param name="a">The vector to normalize.</param>
<param name="b">The result of the normalization.</param>
Normalizes a vector.
<param name="a">The vector to normalize.</param>
<returns>The result of the normalization.</returns>
Normalizes a vector.
<param name="b">The result of the normalization.</param>
Normalizes this vector.
<returns>The result of the normalization.</returns>
Computes the angle between two vectors.
<param name="a">The first vector to determine the angle between.</param>
<param name="b">The second vector to determine the angle between.</param>
<param name="arccos">A delegate for how to compute the inverse of a cosine ratio.</param>
<returns>The angle between the two vectors in radians.</returns>
Computes the angle between two vectors.
<param name="b">The second vector to determine the angle between.</param>
<param name="arccos">A delegate for how to compute the inverse of a cosine ratio.</param>
<returns>The angle between the two vectors in radians.</returns>
Computes teh cross product of two vectors.
<param name="a">The first vector of the cross product operation.</param>
<param name="b">The second vector of the cross product operation.</param>
<param name="c">The result of the cross product operation.</param>
Computes teh cross product of two vectors.
<param name="a">The first vector of the cross product operation.</param>
<param name="b">The second vector of the cross product operation.</param>
<returns>The result of the cross product operation.</returns>
Computes teh cross product of two vectors.
<param name="b">The second vector of the cross product operation.</param>
<param name="c">The result of the cross product operation.</param>
Computes teh cross product of two vectors.
<param name="b">The second vector of the dot product operation.</param>
<returns>The result of the dot product operation.</returns>
Rotates a vector by the specified axis and rotation values.
<param name="vector">The vector to rotate.</param>
<param name="angle">The angle of the rotation.</param>
<param name="x">The x component of the axis vector to rotate about.</param>
<param name="y">The y component of the axis vector to rotate about.</param>
<param name="z">The z component of the axis vector to rotate about.</param>
<returns>The result of the rotation.</returns>
Rotates this vector by quaternon values.
<param name="angle">The amount of rotation about the axis.</param>
<param name="x">The x component deterniming the axis of rotation.</param>
<param name="y">The y component determining the axis of rotation.</param>
<param name="z">The z component determining the axis of rotation.</param>
<returns>The resulting vector after the rotation.</returns>
Rotates a vector by a quaternion.
<param name="a">The vector to rotate.</param>
<param name="b">The quaternion to rotate the 3-component vector by.</param>
<param name="c">The result of the rotation.</param>
Rotates a vector by a quaternion.
<param name="a">The vector to rotate.</param>
<param name="b">The quaternion to rotate the 3-component vector by.</param>
<returns>The result of the rotation.</returns>
Rotates a vector by a quaternion.
<param name="b">The quaternion to rotate the 3-component vector by.</param>
<returns>The result of the rotation.</returns>
Computes the linear interpolation between two vectors.
<param name="a">The starting vector of the interpolation.</param>
<param name="b">The ending vector of the interpolation.</param>
<param name="blend">The ratio 0.0 to 1.0 of the interpolation between the start and end.</param>
<param name="c">The result of the interpolation.</param>
Computes the linear interpolation between two vectors.
<param name="a">The starting vector of the interpolation.</param>
<param name="b">The ending vector of the interpolation.</param>
<param name="blend">The ratio 0.0 to 1.0 of the interpolation between the start and end.</param>
<returns>The result of the interpolation.</returns>
Computes the linear interpolation between two vectors.
<param name="b">The ending vector of the interpolation.</param>
<param name="blend">The ratio 0.0 to 1.0 of the interpolation between the start and end.</param>
<param name="c">The result of the interpolation.</param>
Computes the linear interpolation between two vectors.
<param name="b">The ending vector of the interpolation.</param>
<param name="blend">The ratio 0.0 to 1.0 of the interpolation between the start and end.</param>
<returns>The result of the interpolation.</returns>
Spherically interpolates between two vectors.
<param name="a">The starting vector of the interpolation.</param>
<param name="b">The ending vector of the interpolation.</param>
<param name="blend">The ratio 0.0 to 1.0 defining the interpolation distance between the two vectors.</param>
<param name="c">The result of the slerp operation.</param>
Spherically interpolates between two vectors.
<param name="a">The starting vector of the interpolation.</param>
<param name="b">The ending vector of the interpolation.</param>
<param name="blend">The ratio 0.0 to 1.0 defining the interpolation distance between the two vectors.</param>
<returns>The result of the slerp operation.</returns>
Sphereically interpolates between two vectors.
<param name="b">The ending vector of the interpolation.</param>
<param name="blend">The ratio 0.0 to 1.0 defining the interpolation distance between the two vectors.</param>
<returns>The result of the slerp operation.</returns>
Interpolates between three vectors using barycentric coordinates.
<param name="a">The first vector of the interpolation.</param>
<param name="b">The second vector of the interpolation.</param>
<param name="c">The thrid vector of the interpolation.</param>
<param name="u">The "U" value of the barycentric interpolation equation.</param>
<param name="v">The "V" value of the barycentric interpolation equation.</param>
<param name="d">The result of the interpolation.</param>
Interpolates between three vectors using barycentric coordinates.
<param name="a">The first vector of the interpolation.</param>
<param name="b">The second vector of the interpolation.</param>
<param name="c">The thrid vector of the interpolation.</param>
<param name="u">The "U" value of the barycentric interpolation equation.</param>
<param name="v">The "V" value of the barycentric interpolation equation.</param>
<returns>The resulting vector of the barycentric interpolation.</returns>
Interpolates between three vectors using barycentric coordinates.
<param name="b">The second vector of the interpolation.</param>
<param name="c">The thrid vector of the interpolation.</param>
<param name="u">The "U" value of the barycentric interpolation equation.</param>
<param name="v">The "V" value of the barycentric interpolation equation.</param>
<returns>The resulting vector of the barycentric interpolation.</returns>
Does a value equality check.
<param name="a">The first vector to check for equality.</param>
<param name="b">The second vector to check for equality.</param>
<returns>True if values are equal, false if not.</returns>
Does a value non-equality check.
<param name="a">The first vector to check for non-equality.</param>
<param name="b">The second vector to check for non-equality.</param>
<returns>True if values are not equal, false if not.</returns>
Check for equality by value.
<param name="b">The other vector of the equality check.</param>
<returns>true if the values were equal, false if not.</returns>
Check for non-equality by value.
<param name="b">The other vector of the non-equality check.</param>
<returns>true if the values were not equal, false if not.</returns>
Does a value equality check with leniency.
<param name="a">The first vector to check for equality.</param>
<param name="b">The second vector to check for equality.</param>
<param name="leniency">How much the values can vary but still be considered equal.</param>
<returns>True if values are equal, false if not.</returns>
Checks for equality by value with some leniency.
<param name="right">The other vector of the equality check.</param>
<param name="leniency">The ammount the values can differ but still be considered equal.</param>
<returns>true if the values were cinsidered equal, false if not.</returns>
Creates a copy of a vector.
<param name="a">The vector to copy.</param>
<returns>The copy of this vector.</returns>
Copies this vector.
<returns>The copy of this vector.</returns>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Invokes a delegate for each entry in the data structure.
<param name="step">The delegate to invoke on each item in the structure.</param>
<returns>The resulting status of the iteration.</returns>
Computes a hash code from the values of this matrix.
<returns>A hash code for the matrix.</returns>
Does an equality check by reference.
<param name="right">The object to compare to.</param>
<returns>True if the references are equal, false if not.</returns>
Represents zero (0).
True if this numeric value is zero (0).
Determines if the constant is negative.
Constructs a new zero (0) value.
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Represents the value of zero (0).
<typeparam name="T">The generic type of the numeric value.</typeparam>
True if the value is zero (0).
Constructs a new zero (0) value.
Clones this expression.
<returns>A clone of this expression.</returns>
Standard conversion to a string representation.
<returns>The string represnetation of this expression.</returns>
Standard equality check.
<param name="b">The object to check for equality with.</param>
<returns>True if equal. False if not.</returns>
The default hash code computation.
<returns>The computed hash code for this instance.</returns>
Contains unit types and conversion factors for the generic Acceleration struct.
Units for acceleration measurements.
Acceleration measurement with a value and the units.
<typeparam name="T">The generic numeric type used to store the value of the measurement.</typeparam>
The #1 component of this measurements units.
The #2 component of this measurements units.
The #3 component of this measurements units.
Constructs an Acceleration with the measurement value and units.
<param name="measurement">The measurement value of the Acceleration.</param>
<param name="units">The units of the Acceleration.</param>
Constructs an Acceleration with the measurement value and units.
<param name="measurement">The measurement value of the Acceleration.</param>
<param name="units">The units of the Acceleration.</param>
Constructs an Acceleration with the measurement value and units.
<param name="measurement">The measurement value of the Acceleration.</param>
<param name="LengthUnits1">The units of the Acceleration.</param>
<param name="TimeUnits2">The units of the Acceleration.</param>
<param name="TimeUnits3">The units of the Acceleration.</param>
Converts a Acceleration measurement from units to another.
<param name="value">The value to convert the units of.</param>
<param name="fromLengthUnits1">The current units of the measurement.</param>
<param name="fromTimeUnits2">The current units of the measurement.</param>
<param name="fromTimeUnits3">The current units of the measurement.</param>
<param name="toLengthUnits1">The desired units of the measurement.</param>
<param name="toTimeUnits2">The desired units of the measurement.</param>
<param name="toTimeUnits3">The desired units of the measurement.</param>
<returns>The Acceleration measurement converted into the desired units.</returns>
Converts a Acceleration measurement from units to another.
<param name="value">The value to convert the units of.</param>
<param name="from">The current units of the measurement.</param>
<param name="to">The desired units of the measurement.</param>
<returns>The Acceleration measurement converted into the desired units.</returns>
Parses a Acceleration measurement string.
<param name="string">The string to be parsed.</param>
<param name="value">The parsed value.</param>
<param name="tryParseNumeric">The tryparse function for the generic type.</param>
<returns>True if the parse was successful or false if not.</returns>
Adds two Acceleration measurements.
<param name="a">The first operand of the addition.</param>
<param name="b">The second operand of the addition.</param>
<returns>The result of the addition operation.</returns>
Adds two Acceleration measurements.
<param name="b">The second operand of the addition.</param>
<returns>The result of the addition operation.</returns>
Subtracts two Acceleration measurements.
<param name="a">The first operand of the subtraction.</param>
<param name="b">The second operand of the subtraction.</param>
<returns>The result of the subtraction.</returns>
Subtracts two Acceleration measurements.
<param name="b">The second operand of the subtraction.</param>
<returns>The result of the subtraction.</returns>
Multiplies an Acceleration by a scalar numeric value.
<param name="a">The Acceleration measurement to multiply.</param>
<param name="b">The scalar numeric value to multiply the measurement by.</param>
<returns>The result of the multiplication.</returns>
Multiplies an Acceleration by a scalar numeric value.
<param name="a">The Acceleration measurement to multiply.</param>
<param name="b">The scalar numeric value to multiply the measurement by.</param>
<returns>The result of the multiplication.</returns>
Multiplies an Acceleration by a scalar numeric value.
<param name="b">The scalar numeric value to multiply the measurement by.</param>
<returns>The result of the multiplication.</returns>
Mulitplies Acceleration by AreaDensity resulting in Pressure.
<param name="a">The Acceleration to be multiplied.</param>
<param name="b">The AreaDensity to multiply by.</param>
<returns>The Pressure result of the multiplication.</returns>
Mulitplies Acceleration by AreaDensity resulting in Pressure.
<param name="b">The AreaDensity to multiply by.</param>
<returns>The Pressure result of the multiplication.</returns>
Mulitplies Acceleration by LinearMass resulting in Energy.
<param name="a">The Acceleration to be multiplied.</param>
<param name="b">The LinearMass to multiply by.</param>
<returns>The Energy result of the multiplication.</returns>
Mulitplies Acceleration by LinearMass resulting in Energy.
<param name="b">The LinearMass to multiply by.</param>
<returns>The Energy result of the multiplication.</returns>
Mulitplies Acceleration by LinearMassFlow resulting in Power.
<param name="a">The Acceleration to be multiplied.</param>
<param name="b">The LinearMassFlow to multiply by.</param>
<returns>The Power result of the multiplication.</returns>
Mulitplies Acceleration by LinearMassFlow resulting in Power.
<param name="b">The LinearMassFlow to multiply by.</param>
<returns>The Power result of the multiplication.</returns>
Mulitplies Acceleration by Mass resulting in Force.
<param name="a">The Acceleration to be multiplied.</param>
<param name="b">The Mass to multiply by.</param>
<returns>The Force result of the multiplication.</returns>
Mulitplies Acceleration by Mass resulting in Force.
<param name="b">The Mass to multiply by.</param>
<returns>The Force result of the multiplication.</returns>
Mulitplies Acceleration by Time resulting in Speed.
<param name="a">The Acceleration to be multiplied.</param>
<param name="b">The Time to multiply by.</param>
<returns>The Speed result of the multiplication.</returns>
Mulitplies Acceleration by Time resulting in Speed.
<param name="b">The Time to multiply by.</param>
<returns>The Speed result of the multiplication.</returns>
Mulitplies Acceleration by TimeArea resulting in Length.
<param name="a">The Acceleration to be multiplied.</param>
<param name="b">The TimeArea to multiply by.</param>
<returns>The Length result of the multiplication.</returns>
Mulitplies Acceleration by TimeArea resulting in Length.
<param name="b">The TimeArea to multiply by.</param>
<returns>The Length result of the multiplication.</returns>
Divides an Acceleration measurement by another Acceleration measurement resulting in a scalar numeric value.
<param name="a">The first operand of the division operation.</param>
<param name="b">The second operand of the division operation.</param>
<returns>The scalar numeric value result from the division.</returns>
Divides this Acceleration measurement by a numaric scalar value.
<param name="a">The Acceleration measurement to divide.</param>
<param name="b">The numeric scalar to divide by.</param>
<returns>The result of the division.</returns>
Divides this Acceleration measurement by a numaric scalar value.
<param name="b">The numeric scalar to divide by.</param>
<returns>The result of the division.</returns>
Divides an Acceleration measurement by another Acceleration measurement resulting in a scalar numeric value.
<param name="b">The second operand of the division operation.</param>
<returns>The scalar numeric value result from the division.</returns>
Determines if an Acceleration measurement is less than another Acceleration measurement.
<param name="a">The first operand of the less than operation.</param>
<param name="b">The second operand of the less than operation.</param>
<returns>True if the first operand is less than the second operand. False if not.</returns>
Determines if an Acceleration measurement is less than another Acceleration measurement.
<param name="b">The second operand of the less than operation.</param>
<returns>True if the first operand is less than the second operand. False if not.</returns>
Determines if an Acceleration measurement is greater than another Acceleration measurement.
<param name="a">The first operand of the greater than operation.</param>
<param name="b">The second operand of the greater than operation.</param>
<returns>True if the first operand is greater than the second operand. False if not.</returns>
Determines if an Acceleration measurement is greater than another Acceleration measurement.
<param name="b">The second operand of the greater than operation.</param>
<returns>True if the first operand is greater than the second operand. False if not.</returns>
Determines if an Acceleration measurement is less than or equal to another Acceleration measurement.
<param name="a">The first operand of the less than or equal to operation.</param>
<param name="b">The second operand of the less than or equal to operation.</param>
<returns>True if the first operand is less than or equal to the second operand. False if not.</returns>
Determines if an Acceleration measurement is less than or equal to another Acceleration measurement.
<param name="b">The second operand of the less than or equal to operation.</param>
<returns>True if the first operand is less than or equal to the second operand. False if not.</returns>
Determines if an Acceleration measurement is greater than or equal to another Acceleration measurement.
<param name="a">The first operand of the greater than or equal to operation.</param>
<param name="b">The second operand of the greater than or equal to operation.</param>
<returns>True if the first operand is greater than or equal to the second operand. False if not.</returns>