Two, three, four dimensional matrix unit

The unit matrix is a unit that provides objects for the common two, three and four dimensional vectors matrixes. These vectors and matrixes are very common in computer graphics and are often implemented from scratch by programmers while every implementation provides exactly the same functionality.

It makes therefore sense to provide this functionality in the runtime library. This eliminates the need for programmers to reinvent the wheel and also allows libraries that use matrix operations to become more compatible.

The matrix unit does not provide n-dimensional matrixes. The functionality needs of a general matrix unit varies from application to application; one can think of reduced memory usage tricks for matrixes that only have data around the diagonal etc., desire for parallelization etc. etc. It is believed that programmers that do use n-dimensional matrices would not necessarily benfit from such a unit in the runtime library.

Design goals:

  • Provide common dimensions, two three and four.
  • Provide multiple floating point precisions, single, double, extended.
  • Simple trivial binary representation; it is possible to typecast vectors into other implementations that use the same trivial representation.
  • No dynamic memory management in the background. It must be possible to write expressions like matrix A * B * C without worrying about memory management.

Design decisions:

  • Class object model is ruled out. The objects object model, without virtual methods, is suitable.
  • Operator overloading is a good way to allow programmers to write matrix expressions.
  • 3 dimensions * 3 precision means 9 vector and 9 matrix objects. Macro's have been used in the source to take care of this.
Internal data of Tvector2_single This is the vector internal data for a vector. It uses a simple array structure so data from other libraries that define their own vector type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tvector2_double This is the vector internal data for a vector. It uses a simple array structure so data from other libraries that define their own vector type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tvector2_extended This is the vector internal data for a vector. It uses a simple array structure so data from other libraries that define their own vector type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tvector3_single This is the vector internal data for a vector. It uses a simple array structure so data from other libraries that define their own vector type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tvector3_double This is the vector internal data for a vector. It uses a simple array structure so data from other libraries that define their own vector type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tvector3_extended This is the vector internal data for a vector. It uses a simple array structure so data from other libraries that define their own vector type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tvector4_single This is the vector internal data for a vector. It uses a simple array structure so data from other libraries that define their own vector type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tvector4_double This is the vector internal data for a vector. It uses a simple array structure so data from other libraries that define their own vector type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tvector4_extended This is the vector internal data for a vector. It uses a simple array structure so data from other libraries that define their own vector type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tvector2.single See . Internal data of Tvector2.double See . Internal data of Tvector2.extended See . Internal data of Tvector3.single See . Internal data of Tvector3.double See . Internal data of Tvector3.extended See . Internal data of Tvector4.single See . Internal data of Tvector4.double See . Internal data of Tvector4.extended See . Internal data of Tmatrix2_single This is the matrix internal data for a matrix. It uses a simple array structure so data from other libraries that define their own matrix type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tmatrix2_double This is the matrix internal data for a matrix. It uses a simple array structure so data from other libraries that define their own matrix type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tmatrix2_extended This is the matrix internal data for a matrix. It uses a simple array structure so data from other libraries that define their own matrix type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tmatrix3_single This is the matrix internal data for a matrix. It uses a simple array structure so data from other libraries that define their own matrix type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tmatrix3_double This is the matrix internal data for a matrix. It uses a simple array structure so data from other libraries that define their own matrix type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tmatrix3_extended This is the matrix internal data for a matrix. It uses a simple array structure so data from other libraries that define their own matrix type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tmatrix4_single This is the matrix internal data for a matrix. It uses a simple array structure so data from other libraries that define their own matrix type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tmatrix4_double This is the matrix internal data for a matrix. It uses a simple array structure so data from other libraries that define their own matrix type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tmatrix4_extended This is the matrix internal data for a matrix. It uses a simple array structure so data from other libraries that define their own matrix type as a simple array structure can simply be moved to and from this data, or typecasted into it. As this is the only field in the object, the object itself can be used just as fine for typecasting purposes etc. Internal data of Tmatrix2.single See . Internal data of Tmatrix2.double See . Internal data of Tmatrix2.extended See . Internal data of Tmatrix3.single See . Internal data of Tmatrix3.double See . Internal data of Tmatrix3.extended See . Internal data of Tmatrix4.single See . Internal data of Tmatrix4.double See . Internal data of Tmatrix4.extended See . Single precision vector of two scalars The Tvector2_single object provides a vector of two single precision scalars. Double precision vector of two scalars The Tvector2_double object provides a vector of two double precision scalars. Extended precision vector of two scalars The Tvector2_extended object provides a vector of two extended precision scalars. Single precision vector of three scalars The Tvector3_single object provides a vector of three single precision scalars. Double precision vector of three scalars The Tvector3_double object provides a vector of three double precision scalars. Extended precision vector of three scalars The Tvector3_extended object provides a vector of three extended precision scalars. Single precision vector of four scalars The Tvector4_single object provides a vector of four single precision scalars. Double precision vector of four scalars The Tvector4_double object provides a vector of four double precision scalars. Extended precision vector of extended scalars The Tvector4_extended object provides a vector of four extended precision scalars. Single precision matrix of two scalars The Tmatrix2_single object provides a matrix of 2*2 single precision scalars. Double precision matrix of two scalars The Tmatrix2_double object provides a matrix of 2*2 double precision scalars. Extended precision matrix of two scalars The Tmatrix2_extended object provides a matrix of 2*2 extended precision scalars. Single precision matrix of three scalars The Tmatrix3_single object provides a matrix of 3*3 single precision scalars. Double precision matrix of three scalars The Tmatrix3_double object provides a matrix of 3*3 double precision scalars. Extended precision matrix of three scalars The Tmatrix3_extended object provides a matrix of 3*3 extended precision scalars. Single precision matrix of four scalars The Tmatrix4_single object provides a matrix of 4*4 single precision scalars. Double precision matrix of four scalars The Tmatrix4_double object provides a matrix of 4*4 double precision scalars. Extended precision matrix of extended scalars The Tmatrix4_extended object provides a matrix of 4*4 extended precision scalars. Initializes the vector and sets its elements to zero Initializes the vector and sets its elements to zero Initializes the vector and sets its elements to zero Initializes the vector and sets its elements to zero Initializes the vector and sets its elements to zero Initializes the vector and sets its elements to zero Initializes the vector and sets its elements to zero Initializes the vector and sets its elements to zero Initializes the vector and sets its elements to zero Initializes the vector and sets its elements to one Initializes the vector and sets its elements to one Initializes the vector and sets its elements to one Initializes the vector and sets its elements to one Initializes the vector and sets its elements to one Initializes the vector and sets its elements to one Initializes the vector and sets its elements to one Initializes the vector and sets its elements to one Initializes the vector and sets its elements to one Initializes the vector, setting its elements to the values passed to the constructor. Initializes the vector, setting its elements to the values passed to the constructor. Initializes the vector, setting its elements to the values passed to the constructor. Initializes the vector, setting its elements to the values passed to the constructor. Initializes the vector, setting its elements to the values passed to the constructor. Initializes the vector, setting its elements to the values passed to the constructor. Initializes the vector, setting its elements to the values passed to the constructor. Initializes the vector, setting its elements to the values passed to the constructor. Initializes the vector, setting its elements to the values passed to the constructor. Calculates the length of the vector. Calculate the length of the vector: length=sqrt(data[0]**2+data[1]**2). Try to use squared_length if you are able to, as it is faster. Calculates the length of the vector. Calculate the length of the vector: length=sqrt(data[0]**2+data[1]**2). Try to use squared_length if you are able to, as it is faster. Calculates the length of the vector. Calculate the length of the vector: length=sqrt(data[0]**2+data[1]**2). Try to use squared_length if you are able to, as it is faster. Calculates the length of the vector. Calculate the length of the vector: length=sqrt(data[0]**2+data[1]**2+data[2]**2). Try to use squared_length if you are able to, as it is faster. Calculates the length of the vector. Calculate the length of the vector: length=sqrt(data[0]**2+data[1]**2+data[2]**2). Try to use squared_length if you are able to, as it is faster. Calculates the length of the vector. Calculate the length of the vector: length=sqrt(data[0]**2+data[1]**2+data[2]**2). Try to use squared_length if you are able to, as it is faster. Calculates the length of the vector. Calculate the length of the vector: length=sqrt(data[0]**2+data[1]**2+data[2]**2+data[3]**2). Try to use squared_length if you are able to, as it is faster. Calculates the length of the vector. Calculate the length of the vector: length=sqrt(data[0]**2+data[1]**2+data[2]**2+data[3]**2). Try to use squared_length if you are able to, as it is faster. Calculates the length of the vector. Calculate the length of the vector: length=sqrt(data[0]**2+data[1]**2+data[2]**2+data[3]**2). Try to use squared_length if you are able to, as it is faster. Calculates the squared length of the vector. Calculate the squared length of the vector: squared_length=data[0]**2+data[1]**2. Calculates the squared length of the vector. Calculate the squared length of the vector: squared_length=data[0]**2+data[1]**2. Calculates the squared length of the vector. Calculate the squared length of the vector: squared_length=data[0]**2+data[1]**2. Calculates the squared length of the vector. Calculate the squared length of the vector: squared_length=data[0]**2+data[1]**2+data[2]**2. Calculates the squared length of the vector. Calculate the squared length of the vector: squared_length=data[0]**2+data[1]**2+data[2]**2. Calculates the squared length of the vector. Calculate the squared length of the vector: squared_length=data[0]**2+data[1]**2+data[2]**2. Calculates the squared length of the vector. Calculate the squared length of the vector: squared_length=data[0]**2+data[1]**2+data[2]**2+data[3]**2. Calculates the squared length of the vector. Calculate the squared length of the vector: squared_length=data[0]**2+data[1]**2+data[2]**2+data[3]**2. Calculates the squared length of the vector. Calculate the squared length of the vector: squared_length=data[0]**2+data[1]**2+data[2]**2+data[3]**2. Initializes the matrix and sets its elements to zero Initializes the matrix and sets its elements to zero Initializes the matrix and sets its elements to zero Initializes the matrix and sets its elements to zero Initializes the matrix and sets its elements to zero Initializes the matrix and sets its elements to zero Initializes the matrix and sets its elements to zero Initializes the matrix and sets its elements to zero Initializes the matrix and sets its elements to zero Initializes the matrix and sets its elements to the identity matrix. Initializes the matrix and sets its elements to the identity matrix, that is, elements to 1 on the left-upper to right-lower diagonal, the rest zero. Initializes the matrix and sets its elements to the identity matrix. Initializes the matrix and sets its elements to the identity matrix, that is, elements to 1 on the left-upper to right-lower diagonal, the rest zero. Initializes the matrix and sets its elements to the identity matrix. Initializes the matrix and sets its elements to the identity matrix, that is, elements to 1 on the left-upper to right-lower diagonal, the rest zero. Initializes the matrix and sets its elements to the identity matrix. Initializes the matrix and sets its elements to the identity matrix, that is, elements to 1 on the left-upper to right-lower diagonal, the rest zero. Initializes the matrix and sets its elements to the identity matrix. Initializes the matrix and sets its elements to the identity matrix, that is, elements to 1 on the left-upper to right-lower diagonal, the rest zero. Initializes the matrix and sets its elements to the identity matrix. Initializes the matrix and sets its elements to the identity matrix, that is, elements to 1 on the left-upper to right-lower diagonal, the rest zero. Initializes the matrix and sets its elements to the identity matrix. Initializes the matrix and sets its elements to the identity matrix, that is, elements to 1 on the left-upper to right-lower diagonal, the rest zero. Initializes the matrix and sets its elements to the identity matrix. Initializes the matrix and sets its elements to the identity matrix, that is, elements to 1 on the left-upper to right-lower diagonal, the rest zero. Initializes the matrix and sets its elements to the identity matrix. Initializes the matrix and sets its elements to the identity matrix, that is, elements to 1 on the left-upper to right-lower diagonal, the rest zero. Initializes the matrix, setting its elements to the values passed to the constructor. Initializes the matrix, setting its elements to the values passed to the constructor. The order of the values is left to right, then top to bottom. Initializes the matrix, setting its elements to the values passed to the constructor. Initializes the matrix, setting its elements to the values passed to the constructor. The order of the values is left to right, then top to bottom. Initializes the matrix, setting its elements to the values passed to the constructor. Initializes the matrix, setting its elements to the values passed to the constructor. The order of the values is left to right, then top to bottom. Initializes the matrix, setting its elements to the values passed to the constructor. Initializes the matrix, setting its elements to the values passed to the constructor. The order of the values is left to right, then top to bottom. Initializes the matrix, setting its elements to the values passed to the constructor. Initializes the matrix, setting its elements to the values passed to the constructor. The order of the values is left to right, then top to bottom. Initializes the matrix, setting its elements to the values passed to the constructor. Initializes the matrix, setting its elements to the values passed to the constructor. The order of the values is left to right, then top to bottom. Initializes the matrix, setting its elements to the values passed to the constructor. Initializes the matrix, setting its elements to the values passed to the constructor. The order of the values is left to right, then top to bottom. Initializes the matrix, setting its elements to the values passed to the constructor. Initializes the matrix, setting its elements to the values passed to the constructor. The order of the values is left to right, then top to bottom. Initializes the matrix, setting its elements to the values passed to the constructor. Initializes the matrix, setting its elements to the values passed to the constructor. The order of the values is left to right, then top to bottom. Returns the r-th row of the matrix as vector. Returns the r-th row of the matrix as vector. The row numbering starts at 0. Returns the r-th row of the matrix as vector. Returns the r-th row of the matrix as vector. The row numbering starts at 0. Returns the r-th row of the matrix as vector. Returns the r-th row of the matrix as vector. The row numbering starts at 0. Returns the r-th row of the matrix as vector. Returns the r-th row of the matrix as vector. The row numbering starts at 0. Returns the r-th row of the matrix as vector. Returns the r-th row of the matrix as vector. The row numbering starts at 0. Returns the r-th row of the matrix as vector. Returns the r-th row of the matrix as vector. The row numbering starts at 0. Returns the r-th row of the matrix as vector. Returns the r-th row of the matrix as vector. The row numbering starts at 0. Returns the r-th row of the matrix as vector. Returns the r-th row of the matrix as vector. The row numbering starts at 0. Returns the r-th row of the matrix as vector. Returns the r-th row of the matrix as vector. The row numbering starts at 0. Returns the c-th column of the matrix as vector. Returns the c-th column of the matrix as vector. The column numbering starts at 0. Returns the c-th column of the matrix as vector. Returns the c-th column of the matrix as vector. The column numbering starts at 0. Returns the c-th column of the matrix as vector. Returns the c-th column of the matrix as vector. The column numbering starts at 0. Returns the c-th column of the matrix as vector. Returns the c-th column of the matrix as vector. The column numbering starts at 0. Returns the c-th column of the matrix as vector. Returns the c-th column of the matrix as vector. The column numbering starts at 0. Returns the c-th column of the matrix as vector. Returns the c-th column of the matrix as vector. The column numbering starts at 0. Returns the c-th column of the matrix as vector. Returns the c-th column of the matrix as vector. The column numbering starts at 0. Returns the c-th column of the matrix as vector. Returns the c-th column of the matrix as vector. The column numbering starts at 0. Returns the c-th column of the matrix as vector. Returns the c-th column of the matrix as vector. The column numbering starts at 0. Sets r-th row of the matrix with a vector. Replaces the r-th row of the matrix with vector v. The row numbering starts at 0. Sets r-th row of the matrix with a vector. Replaces the r-th row of the matrix with vector v. The row numbering starts at 0. Sets r-th row of the matrix with a vector. Replaces the r-th row of the matrix with vector v. The row numbering starts at 0. Sets r-th row of the matrix with a vector. Replaces the r-th row of the matrix with vector v. The row numbering starts at 0. Sets r-th row of the matrix with a vector. Replaces the r-th row of the matrix with vector v. The row numbering starts at 0. Sets r-th row of the matrix with a vector. Replaces the r-th row of the matrix with vector v. The row numbering starts at 0. Sets r-th row of the matrix with a vector. Replaces the r-th row of the matrix with vector v. The row numbering starts at 0. Sets r-th row of the matrix with a vector. Replaces the r-th row of the matrix with vector v. The row numbering starts at 0. Sets r-th row of the matrix with a vector. Replaces the r-th row of the matrix with vector v. The row numbering starts at 0. Sets c-th column of the matrix with a vector. Replaces the c-th column of the matrix with vector v. The column numbering starts at 0. Sets c-th column of the matrix with a vector. Replaces the c-th column of the matrix with vector v. The column numbering starts at 0. Sets c-th column of the matrix with a vector. Replaces the c-th column of the matrix with vector v. The column numbering starts at 0. Sets c-th column of the matrix with a vector. Replaces the c-th column of the matrix with vector v. The column numbering starts at 0. Sets c-th column of the matrix with a vector. Replaces the c-th column of the matrix with vector v. The column numbering starts at 0. Sets r-th column of the matrix with a vector. Replaces the c-th column of the matrix with vector v. The column numbering starts at 0. Sets c-th column of the matrix with a vector. Replaces the c-th column of the matrix with vector v. The column numbering starts at 0. Sets c-th column of the matrix with a vector. Replaces the c-th column of the matrix with vector v. The column numbering starts at 0. Sets c-th column of the matrix with a vector. Replaces the c-th column of the matrix with vector v. The column numbering starts at 0. Calculates the determinant of the matrix. Returns the determinant of the matrix. Calculates the determinant of the matrix. Returns the determinant of the matrix. Calculates the determinant of the matrix. Returns the determinant of the matrix. Calculates the determinant of the matrix. Returns the determinant of the matrix. Calculates the determinant of the matrix. Returns the determinant of the matrix. Calculates the determinant of the matrix. Returns the determinant of the matrix. Calculates the determinant of the matrix. Returns the determinant of the matrix. Note: Calculating the determinant of a 4*4 matrix requires quite a few operations. Calculates the determinant of the matrix. Returns the determinant of the matrix. Note: Calculating the determinant of a 4*4 matrix requires quite a few operations. Calculates the determinant of the matrix. Returns the determinant of the matrix. Note: Calculating the determinant of a 4*4 matrix requires quite a few operations. Calculates the inverse of the matrix. Tmatrix2_single.inverse returns a new matrix that is the inverse of the matrix. You must pass the determinant of the matrix as parameter. Calculates the inverse of the matrix. Tmatrix2_double.inverse returns a new matrix that is the inverse of the matrix. You must pass the determinant of the matrix as parameter. Calculates the inverse of the matrix. Tmatrix2_extended.inverse returns a new matrix that is the inverse of the matrix. You must pass the determinant of the matrix as parameter. Calculates the inverse of the matrix. Tmatrix3_single.inverse returns a new matrix that is the inverse of the matrix. You must pass the determinant of the matrix as parameter. Calculates the inverse of the matrix. Tmatrix3_double.inverse returns a new matrix that is the inverse of the matrix. You must pass the determinant of the matrix as parameter. Calculates the inverse of the matrix. Tmatrix3_extended.inverse returns a new matrix that is the inverse of the matrix. You must pass the determinant of the matrix as parameter. Calculates the inverse of the matrix. Tmatrix4_single.inverse returns a new matrix that is the inverse of the matrix. You must pass the determinant of the matrix as parameter. Note: Calculating the inverse of a 4*4 matrix requires quite a few operations. Calculates the inverse of the matrix. Tmatrix4_double.inverse returns a new matrix that is the inverse of the matrix. You must pass the determinant of the matrix as parameter. Note: Calculating the inverse of a 4*4 matrix requires quite a few operations. Calculates the inverse of the matrix. Tmatrix4_extended.inverse returns a new matrix that is the inverse of the matrix. You must pass the determinant of the matrix as parameter. Note: Calculating the inverse of a 4*4 matrix requires quite a few operations. Returns the transposition of the matrix. Tmatrix2_single.transpose returns a new matrix that is the transposition of the matrix, that is, the matrix with the x and y coordinates of the values swapped. Returns the transposition of the matrix. Tmatrix2_double.transpose returns a new matrix that is the transposition of the matrix, that is, the matrix with the x and y coordinates of the values swapped. Returns the transposition of the matrix. Tmatrix2_extended.transpose returns a new matrix that is the transposition of the matrix, that is, the matrix with the x and y coordinates of the values swapped. Returns the transposition of the matrix. Tmatrix2_single.transpose returns a new matrix that is the transposition of the matrix, that is, the matrix with the x and y coordinates of the values swapped. Returns the transposition of the matrix. Tmatrix2_double.transpose returns a new matrix that is the transposition of the matrix, that is, the matrix with the x and y coordinates of the values swapped. Returns the transposition of the matrix. Tmatrix2_extended.transpose returns a new matrix that is the transposition of the matrix, that is, the matrix with the x and y coordinates of the values swapped. Returns the transposition of the matrix. Tmatrix2_single.transpose returns a new matrix that is the transposition of the matrix, that is, the matrix with the x and y coordinates of the values swapped. Returns the transposition of the matrix. Tmatrix2_double.transpose returns a new matrix that is the transposition of the matrix, that is, the matrix with the x and y coordinates of the values swapped. Returns the transposition of the matrix. Tmatrix2_extended.transpose returns a new matrix that is the transposition of the matrix, that is, the matrix with the x and y coordinates of the values swapped. Allow assignment of single precision vector to double precision vector This operator allows you to use a vector with single precision values wherever a double precision vector is expected. Allow assignment of single precision vector to extended precision vector This operator allows you to use a vector with single precision values wherever an extended precision vector is expected. Allow assignment of double precision vector to single precision vector This operator allows you to use a vector with double precision values wherever a single precision vector is expected, at the cost of loosing some precision. Allow assignment of double precision vector to extended precision vector This operator allows you to use a vector with double precision values wherever an extended precision vector is expected. Allow assignment of extended precision vector to single precision vector This operator allows you to use a vector with extended precision values wherever a single precision vector is expected, at the cost of loosing some precision. Allow assignment of extended precision vector to double precision vector This operator allows you to use a vector with extended precision values wherever a double precision vector is expected, at the cost of loosing some precision. Allow assignment of two-dimensional single precision vector to three-dimensional single precision vector This operator allows you to use a two-dimensional vector with single precision values wherever a three-dimensional vector with single precision is expected. The third dimension is set to 0.0. Allow assignment of two-dimensional single precision vector to three-dimensional double precision vector This operator allows you to use a two-dimensional vector with single precision values wherever a three-dimensional vector with double precision is expected. The third dimension is set to 0.0. Allow assignment of two-dimensional single precision vector to three-dimensional extended precision vector This operator allows you to use a two-dimensional vector with single precision values wherever a three-dimensional vector with extended precision is expected. The third dimension is set to 0.0. Allow assignment of two-dimensional double precision vector to three-dimensional single precision vector This operator allows you to use a two-dimensional vector with double precision values wherever a three-dimensional vector with single precision is expected. Some accuracy is lost because of the conversion and the third dimension is set to 0.0. Allow assignment of two-dimensional double precision vector to three-dimensional double precision vector This operator allows you to use a two-dimensional vector with double precision values wherever a three-dimensional vector with double precision is expected. The third dimension is set to 0.0. Allow assignment of two-dimensional double precision vector to three-dimensional extended precision vector This operator allows you to use a two-dimensional vector with double precision values wherever a three-dimensional vector with extended precision is expected. The third dimension is set to 0.0. Allow assignment of two-dimensional extended precision vector to three-dimensional single precision vector This operator allows you to use a two-dimensional vector with extended precision values wherever a three-dimensional vector with single precision is expected. Some accuracy is lost because of the conversion and the third dimension is set to 0.0. Allow assignment of two-dimensional extended precision vector to three-dimensional double precision vector This operator allows you to use a two-dimensional vector with extended precision values wherever a three-dimensional vector with double precision is expected. Some accuracy is lost because of the conversion and the third dimension is set to 0.0. Allow assignment of two-dimensional extened precision vector to three-dimensional extended precision vector This operator allows you to use a two-dimensional vector with extended precision values wherever a three-dimensional vector with extended precision is expected. The third dimension is set to 0.0. Allow assignment of two-dimensional single precision vector to four-dimensional single precision vector This operator allows you to use a two-dimensional vector with single precision values wherever a four-dimensional vector with single precision is expected. The third and fourth dimensions are set to 0.0. Allow assignment of two-dimensional single precision vector to four-dimensional double precision vector This operator allows you to use a two-dimensional vector with single precision values wherever a four-dimensional vector with double precision is expected. The third and fourth dimensions are set to 0.0. Allow assignment of two-dimensional single precision vector to four-dimensional extended precision vector This operator allows you to use a two-dimensional vector with single precision values wherever a four-dimensional vector with extended precision is expected. The third and fourth dimensions are set to 0.0. Allow assignment of two-dimensional double precision vector to four-dimensional single precision vector This operator allows you to use a two-dimensional vector with double precision values wherever a four-dimensional vector with single precision is expected. Some accurace is lost because of the conversion and the third and fourth dimensions are set to 0.0. Allow assignment of two-dimensional double precision vector to four-dimensional double precision vector This operator allows you to use a two-dimensional vector with double precision values wherever a four-dimensional vector with double precision is expected. The third and fourth dimensions are set to 0.0. Allow assignment of two-dimensional double precision vector to four-dimensional extended precision vector This operator allows you to use a two-dimensional vector with single precision values wherever a four-dimensional vector with extended precision is expected. The third and fourth dimensions are set to 0.0. Allow assignment of two-dimensional extended precision vector to four-dimensional single precision vector This operator allows you to use a two-dimensional vector with extended precision values wherever a four-dimensional vector with single precision is expected. Some accuracy is lost because of the conversion and the third and fourth dimensions are set to 0.0. Allow assignment of two-dimensional extended precision vector to four-dimensional double precision vector This operator allows you to use a two-dimensional vector with extended precision values wherever a four-dimensional vector with double precision is expected. Some accuracy is lost because of the conversion and the third and fourth dimensions are set to 0.0. Allow assignment of two-dimensiona extended precision vector to four-dimensional extended precision vector This operator allows you to use a two-dimensional vector with extended precision values wherever a four-dimensional vector with extended precision is expected. The third and fourth dimensions are set to 0.0. Allow assignment of three-dimensional single precision vector to two-dimensional single precision vector This operator allows you to use a three-dimensional vector with single precision values wherever a two-dimensional vector with single precision is expected. The third dimension is thrown away. Allow assignment of three-dimensional single precision vector to two-dimensional double precision vector This operator allows you to use a three-dimensional vector with single precision values wherever a two-dimensional vector with double precision is expected. The third dimension is thrown away. Allow assignment of three-dimensional single precision vector to two-dimensional extended precision vector This operator allows you to use a three-dimensional vector with single precision values wherever a two-dimensional vector with extended precision is expected. The third dimension is thrown away. Allow assignment of three-dimensional double precision vector to two-dimensional single precision vector This operator allows you to use a three-dimensional vector with double precision values wherever a two-dimensional vector with single precision is expected. The third dimension is thrown away and some precision is lost because of the conversion. Allow assignment of three-dimensional double precision vector to two-dimensional double precision vector This operator allows you to use a three-dimensional vector with double precision values wherever a two-dimensional vector with double precision is expected. The third dimension is thrown away. Allow assignment of three-dimensional double precision vector to two-dimensional extended precision vector This operator allows you to use a three-dimensional vector with double precision values wherever a two-dimensional vector with extended precision is expected. The third dimension is thrown away. Allow assignment of three-dimensional extended precision vector to two-dimensional single precision vector This operator allows you to use a three-dimensional vector with extended precision values wherever a two-dimensional vector with single precision is expected. The third dimension is thrown away and some precision is lost because of the conversion. Allow assignment of three-dimensional extended precision vector to two-dimensional double precision vector This operator allows you to use a three-dimensional vector with extended precision values wherever a two-dimensional vector with double precision is expected. The third dimension is thrown away and some precision is lost because of the conversion. Allow assignment of three-dimensional extended precision vector to two-dimensional extended precision vector This operator allows you to use a three-dimensional vector with extended precision values wherever a two-dimensional vector with extended precision is expected. The third dimension is thrown away. Allow assignment of three-dimensional single precision vector to three-dimensional double precision vector This operator allows you to use a three-dimensional vector with single precision values wherever a three-dimensional vector with double precision is expected. Allow assignment of three-dimensional single precision vector to three-dimensional extended precision vector This operator allows you to use a three-dimensional vector with single precision values wherever a three-dimensional vector with extended precision is expected. Allow assignment of three-dimensional double precision vector to three-dimensional single precision vector This operator allows you to use a three-dimensional vector with double precision values wherever a three-dimensional vector with single precision is expected. Some precision is lost because of the conversion. Allow assignment of three-dimensional double precision vector to three-dimensional extended precision vector This operator allows you to use a three-dimensional vector with double precision values wherever a three-dimensional vector with extended precision is expected. Allow assignment of three-dimensional single precision vector to three-dimensional double precision vector This operator allows you to use a three-dimensional vector with single precision values wherever a three-dimensional vector with double precision is expected. Some precision is lost because of the conversion. Allow assignment of three-dimensional extended precision vector to three-dimensional double precision vector This operator allows you to use a three-dimensional vector with extended precision values wherever a three-dimensional vector with double precision is expected. Some precision is lost because of the conversion. Allow assignment of three-dimensional single precision vector to four-dimensional single precision vector This operator allows you to use a three-dimensional vector with single precision values wherever a four-dimensional vector with single precision is expected. The fourth dimension is set to 0. Allow assignment of three-dimensional single precision vector to four-dimensional double precision vector This operator allows you to use a three-dimensional vector with single precision values wherever a four-dimensional vector with double precision is expected. The fourth dimension is set to 0. Allow assignment of three-dimensional single precision vector to four-dimensional extended precision vector This operator allows you to use a three-dimensional vector with single precision values wherever a four-dimensional vector with extended precision is expected. The fourth dimension is set to 0. Allow assignment of three-dimensional double precision vector to four-dimensional single precision vector This operator allows you to use a three-dimensional vector with single precision values wherever a four-dimensional vector with double precision is expected. The fourth dimension is set to 0 and some precision is lost because of the conversion. Allow assignment of three-dimensional double precision vector to four-dimensional double precision vector This operator allows you to use a three-dimensional vector with double precision values wherever a four-dimensional vector with double precision is expected. The fourth dimension is set to 0. Allow assignment of three-dimensional double precision vector to four-dimensional extended precision vector This operator allows you to use a three-dimensional vector with double precision values wherever a four-dimensional vector with extended precision is expected. The fourth dimension is set to 0. Allow assignment of three-dimensional extended precision vector to four-dimensional single precision vector This operator allows you to use a three-dimensional vector with extended precision values wherever a four-dimensional vector with single precision is expected. The fourth dimension is set to 0 and some accuracy is lost because of the conversion. Allow assignment of three-dimensional extended precision vector to four-dimensional double precision vector This operator allows you to use a three-dimensional vector with extended precision values wherever a four-dimensional vector with double precision is expected. The fourth dimension is set to 0 and some accuracy is lost because of the conversion. Allow assignment of three-dimensional extended precision vector to four-dimensional extended precision vector This operator allows you to use a three-dimensional vector with extended precision values wherever a four-dimensional vector with extended precision is expected. The fourth dimension is set to 0. Allow assignment of four-dimensional single precision vector to two-dimensional single precision vector This operator allows you to use a four-dimensional vector with single precision values wherever a two-dimensional vector with single precision is expected. The third and fourth dimensions are thrown away. Allow assignment of four-dimensional single precision vector to two-dimensional double precision vector This operator allows you to use a four-dimensional vector with single precision values wherever a two-dimensional vector with double precision is expected. The third and fourth dimensions are thrown away. Allow assignment of four-dimensional single precision vector to two-dimensional extended precision vector This operator allows you to use a four-dimensional vector with single precision values wherever a two-dimensional vector with extended precision is expected. The third and fourth dimensions are thrown away. Allow assignment of four-dimensional double precision vector to two-dimensional single precision vector This operator allows you to use a four-dimensional vector with double precision values wherever a two-dimensional vector with single precision is expected. The third and fourth dimensions are thrown away and some accuracy is lost because of the conversion. Allow assignment of four-dimensional double precision vector to two-dimensional double precision vector This operator allows you to use a four-dimensional vector with double precision values wherever a two-dimensional vector with double precision is expected. The third and fourth dimensions are thrown away. Allow assignment of four-dimensional double precision vector to two-dimensional extended precision vector This operator allows you to use a four-dimensional vector with double precision values wherever a two-dimensional vector with extended precision is expected. The third and fourth dimensions are thrown away. Allow assignment of four-dimensional extended precision vector to two-dimensional single precision vector This operator allows you to use a four-dimensional vector with extended precision values wherever a two-dimensional vector with single precision is expected. The third and fourth dimensions are thrown away and some accuracy is los because of the conversion. Allow assignment of four-dimensional extended precision vector to two-dimensional double precision vector This operator allows you to use a four-dimensional vector with extended precision values wherever a two-dimensional vector with double precision is expected. The third and fourth dimensions are thrown away and some accuracy is lost because of the conversion. Allow assignment of four-dimensional extended precision vector to two-dimensional extended precision vector This operator allows you to use a four-dimensional vector with extended precision values wherever a two-dimensional vector with extended precision is expected. The third and fourth dimensions are thrown away. Allow assignment of four-dimensional single precision vector to three-dimensional single precision vector This operator allows you to use a four-dimensional vector with single precision values wherever a three-dimensional vector with single precision is expected. The fourth dimension is thrown away. Allow assignment of four-dimensional single precision vector to three-dimensional double precision vector This operator allows you to use a four-dimensional vector with single precision values wherever a three-dimensional vector with double precision is expected. The fourth dimension is thrown away. Allow assignment of four-dimensional single precision vector to three-dimensional extended precision vector This operator allows you to use a four-dimensional vector with single precision values wherever a three-dimensional vector with extended precision is expected. The fourth dimension is thrown away. Allow assignment of four-dimensional double precision vector to three-dimensional single precision vector This operator allows you to use a four-dimensional vector with double precision values wherever a three-dimensional vector with single precision is expected. The fourth dimension is thrown away and some accuracy is lost because of the conversion. Allow assignment of four-dimensional double precision vector to three-dimensional double precision vector This operator allows you to use a four-dimensional vector with double precision values wherever a three-dimensional vector with double precision is expected. The fourth dimension is thrown away. Allow assignment of four-dimensional double precision vector to three-dimensional extended precision vector This operator allows you to use a four-dimensional vector with double precision values wherever a three-dimensional vector with extended precision is expected. The fourth dimension is thrown away. Allow assignment of four-dimensional extended precision vector to three-dimensional single precision vector This operator allows you to use a four-dimensional vector with extended precision values wherever a three-dimensional vector with single precision is expected. The fourth dimension is thrown away and some accuracy is los because of the conversion. Allow assignment of four-dimensional extended precision vector to three-dimensional double precision vector This operator allows you to use a four-dimensional vector with extended precision values wherever a three-dimensional vector with double precision is expected. The fourth dimension is thrown away and some accuracy is lost because of the conversion. Allow assignment of four-dimensional extended precision vector to three-dimensional extended precision vector This operator allows you to use a four-dimensional vector with extended precision values wherever a three-dimensional vector with extended precision is expected. The fourth dimensions are thrown away. Allow assignment of four-dimensional single precision vector to four-dimensional double precision vector This operator allows you to use a four-dimensional vector with single precision values wherever a four-dimensional vector with double precision is expected. Allow assignment of four-dimensional single precision vector to four-dimensional extended precision vector This operator allows you to use a four-dimensional vector with single precision values wherever a four-dimensional vector with extended precision is expected. Allow assignment of four-dimensional double precision vector to four-dimensional single precision vector This operator allows you to use a four-dimensional vector with double precision values wherever a four-dimensional vector with single precision is expected. Some accuracy is lost because of the conversion. Allow assignment of four-dimensional single precision vector to four-dimensional extended precision vector This operator allows you to use a four-dimensional vector with double precision values wherever a four-dimensional vector with extended precision is expected. Allow assignment of four-dimensional extended precision vector to four-dimensional single precision vector This operator allows you to use a four-dimensional vector with extended precision values wherever a four-dimensional vector with single precision is expected. Some accuracy is lost because of the conversion. Allow assignment of four-dimensional single precision vector to four-dimensional double precision vector This operator allows you to use a four-dimensional vector with extended precision values wherever a four-dimensional vector with double precision is expected. Some accuracy is lost because of the conversion. Add two-dimensional single precision vectors together This operator allows you to add two two-dimensional vectors with single precision together. The result is a new vector which consists of the sums of the individual elements of the two vectors. Add two-dimensional double precision vectors together This operator allows you to add two two-dimensional vectors with double precision together. The result is a new vector which consists of the sums of the individual elements of the two vectors. Add two-dimensional extended precision vectors together This operator allows you to add two two-dimensional vectors with extended precision together. The result is a new vector which consists of the sums of the individual elements of the two vectors. Add three-dimensional extended precision vectors together This operator allows you to add two three-dimensional vectors with single precision together. The result is a new vector which consists of the sums of the individual elements of the two vectors. Add three-dimensional double precision vectors together This operator allows you to add two three-dimensional vectors with double precision together. The result is a new vector which consists of the sums of the individual elements of the two vectors. Add three-dimensional extended precision vectors together This operator allows you to add two three-dimensional vectors with extended precision together. The result is a new vector which consists of the sums of the individual elements of the two vectors. Add four-dimensional single precision vectors together This operator allows you to add two four-dimensional vectors with single precision together. The result is a new vector which consists of the sums of the individual elements of the two vectors. Add four-dimensional double precision vectors together This operator allows you to add two four-dimensional vectors with single precision together. The result is a new vector which consists of the sums of the individual elements of the two vectors. Add four-dimensional extended precision vectors together This operator allows you to add two two-dimensional vectors with extended precision together. The result is a new vector which consists of the sums of the individual elements of the two vectors. Subtract two-dimensional single precision vectors from each other This operator allows you to subtract two two-dimensional vectors with single precision from each other. The result is a new vector which consists of the difference of the individual elements of the two vectors. Subtract two-dimensional double precision vectors from each other This operator allows you to subtract two two-dimensional vectors with double precision from each other. The result is a new vector which consists of the difference of the individual elements of the two vectors. Subtract two-dimensional extended precision vectors from each other This operator allows you to subtract two two-dimensional vectors with extended precision from each other. The result is a new vector which consists of the difference of the individual elements of the two vectors. Subtract three-dimensional single precision vectors from each other This operator allows you to subtract two three-dimensional vectors with single precision from each other. The result is a new vector which consists of the difference of the individual elements of the two vectors. Subtract three-dimensional double precision vectors from each other This operator allows you to subtract two two-dimensional vectors with double precision from each other. The result is a new vector which consists of the difference of the individual elements of the two vectors. Subtract three-dimensional extended precision vectors from each other This operator allows you to subtract two three-dimensional vectors with extended precision from each other. The result is a new vector which consists of the difference of the individual elements of the two vectors. Subtract four-dimensional single precision vectors from each other This operator allows you to subtract two four-dimensional vectors with single precision from each other. The result is a new vector which consists of the difference of the individual elements of the two vectors. Subtract four-dimensional double precision vectors from each other This operator allows you to subtract two four-dimensional vectors with double precision from each other. The result is a new vector which consists of the difference of the individual elements of the two vectors. Subtract four-dimensional extended precision vectors from each other This operator allows you to subtract two four-dimensional vectors with extended precision from each other. The result is a new vector which consists of the difference of the individual elements of the two vectors. Negate two-dimensional vector. This operation returns a vector in the opposite direction of the vector that is passed. In order to do so, all values in the vector are negated. Negate two-dimensional vector. This operation returns a vector in the opposite direction of the vector that is passed. In order to do so, all values in the vector are negated. Negate two-dimensional vector. This operation returns a vector in the opposite direction of the vector that is passed. In order to do so, all values in the vector are negated. Negate three-dimensional vector. This operation returns a vector in the opposite direction of the vector that is passed. In order to do so, all values in the vector are negated. Negate three-dimensional vector. This operation returns a vector in the opposite direction of the vector that is passed. In order to do so, all values in the vector are negated. Negate three-dimensional vector. This operation returns a vector in the opposite direction of the vector that is passed. In order to do so, all values in the vector are negated. Negate four-dimensional vector. This operation returns a vector in the opposite direction of the vector that is passed. In order to do so, all values in the vector are negated. Negate four-dimensional vector. This operation returns a vector in the opposite direction of the vector that is passed. In order to do so, all values in the vector are negated. Negate four-dimensional vector. This operation returns a vector in the opposite direction of the vector that is passed. In order to do so, all values in the vector are negated. Multiply two vectors element wise This operator returns a vector that contains the element by element multiplication of the two multiplied vectors. Multiply two vectors element wise This operator returns a vector that contains the element by element multiplication of the two multiplied vectors. Multiply two vectors element wise This operator returns a vector that contains the element by element multiplication of the two multiplied vectors. Multiply two vectors element wise This operator returns a vector that contains the element by element multiplication of the two multiplied vectors. Multiply two vectors element wise This operator returns a vector that contains the element by element multiplication of the two multiplied vectors. Multiply two vectors element wise This operator returns a vector that contains the element by element multiplication of the two multiplied vectors. Multiply two vectors element wise This operator returns a vector that contains the element by element multiplication of the two multiplied vectors. Multiply two vectors element wise This operator returns a vector that contains the element by element multiplication of the two multiplied vectors. Multiply two vectors element wise This operator returns a vector that contains the element by element multiplication of the two multiplied vectors. Calculate the internal product of two vectors. This operator returns the internal product of the two vectors, that is, the elements of the two vectors are element-wise multiplied, and then added together. Calculate the internal product of two vectors. This operator returns the internal product of the two vectors, that is, the elements of the two vectors are element-wise multiplied, and then added together. Calculate the internal product of two vectors. This operator returns the internal product of the two vectors, that is, the elements of the two vectors are element-wise multiplied, and then added together. Calculate the internal product of two vectors. This operator returns the internal product of the two vectors, that is, the elements of the two vectors are element-wise multiplied, and then added together. Calculate the internal product of two vectors. This operator returns the internal product of the two vectors, that is, the elements of the two vectors are element-wise multiplied, and then added together. Calculate the internal product of two vectors. This operator returns the internal product of the two vectors, that is, the elements of the two vectors are element-wise multiplied, and then added together. Calculate the internal product of two vectors. This operator returns the internal product of the two vectors, that is, the elements of the two vectors are element-wise multiplied, and then added together. Calculate the internal product of two vectors. This operator returns the internal product of the two vectors, that is, the elements of the two vectors are element-wise multiplied, and then added together. Calculate the internal product of two vectors. This operator returns the internal product of the two vectors, that is, the elements of the two vectors are element-wise multiplied, and then added together. Calculate the external product of two three-dimensional vectors

This operator returns the external product of two three dimensional vector. It is a vector orthonormal to the two multiplied vectors. The length of that vector is equal to the surface area of a parallelogram with the two vectors as sides.

The external product is often used to get a vector orthonormal to two other vectors, but of a predefined length. In order to do so, the result vector from the external product, is divided by its length, and then multiplied by the desired size.

Calculate the external product of two three-dimensional vectors

This operator returns the external product of two three dimensional vector. It is a vector orthonormal to the two multiplied vectors. The length of that vector is equal to the surface area of a parallelogram with the two vectors as sides.

The external product is often used to get a vector orthonormal to two other vectors, but of a predefined length. In order to do so, the result vector from the external product, is divided by its length, and then multiplied by the desired size.

Calculate the external product of two three-dimensional vectors

This operator returns the external product of two three dimensional vector. It is a vector orthonormal to the two multiplied vectors. The length of that vector is equal to the surface area of a parallelogram with the two vectors as sides.

The external product is often used to get a vector orthonormal to two other vectors, but of a predefined length. In order to do so, the result vector from the external product, is divided by its length, and then multiplied by the desired size.

Add scalar to two-dimensional single precision vector This operator allows you to add a scalar value to a vector. The scalar is added to all elements of the vector, the result is returned as a new vector. Add scalar to two-dimensional double precision vector This operator allows you to add a scalar value to a vector. The scalar is added to all elements of the vector, the result is returned as a new vector. Add scalar to two-dimensional extended precision vector This operator allows you to add a scalar value to a vector. The scalar is added to all elements of the vector, the result is returned as a new vector. Add scalar to three-dimensional single precision vector This operator allows you to add a scalar value to a vector. The scalar is added to all elements of the vector, the result is returned as a new vector. Add scalar to three-dimensional double precision vector This operator allows you to add a scalar value to a vector. The scalar is added to all elements of the vector, the result is returned as a new vector. Add scalar to three-dimensional extended precision vector This operator allows you to add a scalar value to a vector. The scalar is added to all elements of the vector, the result is returned as a new vector. Add scalar to four-dimensional single precision vector This operator allows you to add a scalar value to a vector. The scalar is added to all elements of the vector, the result is returned as a new vector. Add scalar to four-dimensional double precision vector This operator allows you to add a scalar value to a vector. The scalar is added to all elements of the vector, the result is returned as a new vector. Add scalar to four-dimensional extended precision vector This operator allows you to add a scalar value to a vector. The scalar is added to all elements of the vector, the result is returned as a new vector. Subtract scalar from two-dimensional single precision vector This operator allows you to subtract a scalar value from a vector. The scalar is subtracted from all elements of the vector, the result is returned as a new vector. Subtract scalar from two-dimensional double precision vector This operator allows you to subtract a scalar value from a vector. The scalar is subtracted from all elements of the vector, the result is returned as a new vector. Subtract scalar from two-dimensional extended precision vector This operator allows you to subtract a scalar value from a vector. The scalar is subtracted from all elements of the vector, the result is returned as a new vector. Subtract scalar from three-dimensional single precision vector This operator allows you to subtract a scalar value from a vector. The scalar is subtracted from all elements of the vector, the result is returned as a new vector. Subtract scalar from three-dimensional double precision vector This operator allows you to subtract a scalar value from a vector. The scalar is subtracted from all elements of the vector, the result is returned as a new vector. Subtract scalar from three-dimensional extended precision vector This operator allows you to subtract a scalar value from a vector. The scalar is subtracted from all elements of the vector, the result is returned as a new vector. Subtract scalar from four-dimensional single precision vector This operator allows you to subtract a scalar value from a vector. The scalar is subtracted from all elements of the vector, the result is returned as a new vector. Subtract scalar from four-dimensional double precision vector This operator allows you to subtract a scalar value from a vector. The scalar is subtracted from all elements of the vector, the result is returned as a new vector. Subtract scalar from four-dimensional extended precision vector This operator allows you to subtract a scalar value from a vector. The scalar is subtracted from all elements of the vector, the result is returned as a new vector. Multiply a two-dimensional single precision vector by a scalar This operator allows you to multiply a vector by a scalar value. Each vector element is multiplied by the scalar value; the result is returned as a new vector. Multiply a two-dimensional double precision vector by a scalar This operator allows you to multiply a vector by a scalar value. Each vector element is multiplied by the scalar value; the result is returned as a new vector. Multiply a two-dimensional extended precision vector by a scalar This operator allows you to multiply a vector by a scalar value. Each vector element is multiplied by the scalar value; the result is returned as a new vector. Multiply a three-dimensional single precision vector by a scalar This operator allows you to multiply a vector by a scalar value. Each vector element is multiplied by the scalar value; the result is returned as a new vector. Multiply a three-dimensional double precision vector by a scalar This operator allows you to multiply a vector by a scalar value. Each vector element is multiplied by the scalar value; the result is returned as a new vector. Multiply a three-dimensional extended precision vector by a scalar This operator allows you to multiply a vector by a scalar value. Each vector element is multiplied by the scalar value; the result is returned as a new vector. Multiply a four-dimensional single precision vector by a scalar This operator allows you to multiply a vector by a scalar value. Each vector element is multiplied by the scalar value; the result is returned as a new vector. Multiply a four-dimensional double precision vector by a scalar This operator allows you to multiply a vector by a scalar value. Each vector element is multiplied by the scalar value; the result is returned as a new vector. Multiply a four-dimensional extended precision vector by a scalar This operator allows you to multiply a vector by a scalar value. Each vector element is multiplied by the scalar value; the result is returned as a new vector. Divide a two-dimensional single precision vector by a scalar This operator allows you to divide a vector by a scalar value. Each vector element is divided by the scalar value; the result is returned as a new vector. Divide a two-dimensional double precision vector by a scalar This operator allows you to divide a vector by a scalar value. Each vector element is divided by the scalar value; the result is returned as a new vector. Divide a two-dimensional extended precision vector by a scalar This operator allows you to divide a vector by a scalar value. Each vector element is divided by the scalar value; the result is returned as a new vector. Divide a three-dimensional single precision vector by a scalar This operator allows you to divide a vector by a scalar value. Each vector element is divided by the scalar value; the result is returned as a new vector. Divide a three-dimensional double precision vector by a scalar This operator allows you to divide a vector by a scalar value. Each vector element is divided by the scalar value; the result is returned as a new vector. Divide a three-dimensional extended precision vector by a scalar This operator allows you to divide a vector by a scalar value. Each vector element is divided by the scalar value; the result is returned as a new vector. Divide a four-dimensional single precision vector by a scalar This operator allows you to divide a vector by a scalar value. Each vector element is divided by the scalar value; the result is returned as a new vector. Divide a four-dimensional double precision vector by a scalar This operator allows you to divide a vector by a scalar value. Each vector element is divided by the scalar value; the result is returned as a new vector. Divide a four-dimensional extended precision vector by a scalar This operator allows you to divide a vector by a scalar value. Each vector element is divided by the scalar value; the result is returned as a new vector. Allow assignment of two-dimensional single precision matrix to two-dimensional double precision matrix This operator allows you to use a two-dimensional matrix with single precision values wherever a two-dimensional matrix with double precision is expected. Allow assignment of two-dimensional single precision matrix to two-dimensional extended precision matrix This operator allows you to use a two-dimensional matrix with single precision values wherever a two-dimensional matrix with extended precision is expected. Allow assignment of two-dimensional double precision matrix to two-dimensional single precision matrix This operator allows you to use a two-dimensional matrix with double precision values wherever a two-dimensional matrix with single precision is expected. Some accurace is lost because of the conversion. Allow assignment of two-dimensional double precision matrix to two-dimensional extended precision matrix This operator allows you to use a two-dimensional matrix with double precision values wherever a two-dimensional matrix with extended precision is expected. Allow assignment of two-dimensional extended precision matrix to two-dimensional single precision matrix This operator allows you to use a two-dimensional matrix with extended precision values wherever a two-dimensional matrix with single precision is expected. Some accuracy is lost because of the conversion. Allow assignment of two-dimensional extended precision matrix to two-dimensional double precision matrix This operator allows you to use a two-dimensional two with extended precision values wherever a two-dimensional matrix with double precision is expected. Some accuracy is lost because of the conversion. Allow assignment of two-dimensional single precision matrix to three-dimensional single precision matrix This operator allows you to use a two-dimensional matrix with single precision values wherever a three-dimensional matrix with single precision is expected. The extra fields are set to 0. Allow assignment of two-dimensional single precision matrix to three-dimensional double precision matrix This operator allows you to use a two-dimensional matrix with single precision values wherever a three-dimensional matrix with double precision is expected. The extra fields are set to 0. Allow assignment of two-dimensional single precision matrix to three-dimensional extended precision matrix This operator allows you to use a two-dimensional matrix with single precision values wherever a three-dimensional matrix with extended precision is expected. The extra fields are set to 0. Allow assignment of two-dimensional single precision matrix to three-dimensional single precision matrix This operator allows you to use a two-dimensional matrix with single precision values wherever a three-dimensional matrix with single precision is expected. The extra fields are set to 0 and some accuracy is lost because of the conversion. Allow assignment of two-dimensional double precision matrix to three-dimensional double precision matrix This operator allows you to use a two-dimensional matrix with double precision values wherever a three-dimensional matrix with double precision is expected. The extra fields are set to 0. Allow assignment of two-dimensional double precision matrix to three-dimensional extended precision matrix This operator allows you to use a two-dimensional matrix with double precision values wherever a three-dimensional matrix with extended precision is expected. The extra fields are set to 0. Allow assignment of two-dimensional extended precision matrix to three-dimensional single precision matrix This operator allows you to use a two-dimensional matrix with extended precision values wherever a three-dimensional matrix with single precision is expected. The extra fields are set to 0 and some accuracy is lost because of the conversion. Allow assignment of two-dimensional extended precision matrix to three-dimensional double precision matrix This operator allows you to use a two-dimensional matrix with extended precision values wherever a three-dimensional matrix with double precision is expected. The extra fields are set to 0 and some accuracy is lost because of the conversion. Allow assignment of two-dimensional extended precision matrix to three-dimensional extended precision matrix This operator allows you to use a two-dimensional matrix with extended precision values wherever a three-dimensional matrix with extended precision is expected. The extra fields are set to 0. Allow assignment of two-dimensional single precision matrix to four-dimensional single precision matrix This operator allows you to use a two-dimensional matrix with single precision values wherever a four-dimensional matrix with single precision is expected. The extra fields are set to 0. Allow assignment of two-dimensional single precision matrix to four-dimensional double precision matrix This operator allows you to use a two-dimensional matrix with single precision values wherever a four-dimensional matrix with double precision is expected. The extra fields are set to 0. Allow assignment of two-dimensional single precision matrix to four-dimensional extended precision matrix This operator allows you to use a two-dimensional matrix with single precision values wherever a four-dimensional matrix with extended precision is expected. The extra fields are set to 0. Allow assignment of two-dimensional double precision matrix to four-dimensional single precision matrix This operator allows you to use a two-dimensional matrix with double precision values wherever a four-dimensional matrix with single precision is expected. The extra fields are set to 0 and some precision is lost because of the conversion. Allow assignment of two-dimensional double precision matrix to four-dimensional double precision matrix This operator allows you to use a two-dimensional matrix with double precision values wherever a four-dimensional matrix with double precision is expected. The extra fields are set to 0. Allow assignment of two-dimensional double precision matrix to four-dimensional extended precision matrix This operator allows you to use a two-dimensional matrix with double precision values wherever a four-dimensional matrix with extended precision is expected. The extra fields are set to 0. Allow assignment of two-dimensional extended precision matrix to four-dimensional single precision matrix This operator allows you to use a two-dimensional matrix with extended precision values wherever a four-dimensional matrix with single precision is expected. The extra fields are set to 0 and some precision is lost because of the conversion. Allow assignment of two-dimensional extended precision matrix to four-dimensional double precision matrix This operator allows you to use a two-dimensional matrix with extended precision values wherever a four-dimensional matrix with double precision is expected. The extra fields are set to 0 and some accuracy is lost because of the conversion. Allow assignment of two-dimensional extended precision matrix to four-dimensional extended precision matrix This operator allows you to use a two-dimensional matrix with single precision values wherever a four-dimensional matrix with single precision is expected. The extra fields are set to 0. Allow assignment of three-dimensional single precision matrix to two-dimensional single precision matrix This operator allows you to use a three-dimensional matrix with single precision values wherever a two-dimensional matrix with single precision is expected. The surplus fields are thrown away. Allow assignment of three-dimensional single precision matrix to two-dimensional double precision matrix This operator allows you to use a three-dimensional matrix with single precision values wherever a two-dimensional matrix with double precision is expected. The surplus fields are thrown away. Allow assignment of three-dimensional single precision matrix to two-dimensional extended precision matrix This operator allows you to use a three-dimensional matrix with single precision values wherever a two-dimensional matrix with extended precision is expected. The surplus fields are thrown away. Allow assignment of three-dimensional double precision matrix to two-dimensional single precision matrix This operator allows you to use a three-dimensional matrix with double precision values wherever a two-dimensional matrix with single precision is expected. The surplus fields are thrown away and some accuracy is lost because of the conversion. Allow assignment of three-dimensional double precision matrix to two-dimensional double precision matrix This operator allows you to use a three-dimensional matrix with double precision values wherever a two-dimensional matrix with double precision is expected. The surplus fields are thrown away. Allow assignment of three-dimensional double precision matrix to two-dimensional extended precision matrix This operator allows you to use a three-dimensional matrix with double precision values wherever a two-dimensional matrix with extended precision is expected. The surplus fields are thrown away. Allow assignment of three-dimensional extended precision matrix to two-dimensional single precision matrix This operator allows you to use a three-dimensional matrix with extended precision values wherever a two-dimensional matrix with single precision is expected. The surplus fields are thrown away and some precision is lost because of the conversion. Allow assignment of three-dimensional extended precision matrix to two-dimensional double precision matrix This operator allows you to use a three-dimensional matrix with extended precision values wherever a two-dimensional matrix with double precision is expected. The surplus fields are thrown away and some accuracy is lost becuase of the conversion. Allow assignment of three-dimensional extended precision matrix to two-dimensional extended precision matrix This operator allows you to use a three-dimensional matrix with extended precision values wherever a two-dimensional matrix with extended precision is expected. The surplus fields are thrown away. Allow assignment of three-dimensional single precision matrix to three-dimensional double precision matrix This operator allows you to use a three-dimensional matrix with single precision values wherever a three-dimensional matrix with double precision is expected. Allow assignment of three-dimensional single precision matrix to three-dimensional extended precision matrix This operator allows you to use a three-dimensional matrix with single precision values wherever a three-dimensional matrix with extended precision is expected. Allow assignment of three-dimensional double precision matrix to three-dimensional single precision matrix This operator allows you to use a three-dimensional matrix with double precision values wherever a three-dimensional matrix with single precision is expected. Some precision is lost because of the conversion. Allow assignment of three-dimensional double precision matrix to three-dimensional extended precision matrix This operator allows you to use a three-dimensional matrix with double precision values wherever a three-dimensional matrix with extended precision is expected. Allow assignment of three-dimensional extended precision matrix to three-dimensional single precision matrix This operator allows you to use a three-dimensional matrix with extended precision values wherever a three-dimensional matrix with single precision is expected. Some precision is lost because of the conversion. Allow assignment of three-dimensional extended precision matrix to three-dimensional double precision matrix This operator allows you to use a three-dimensional matrix with extended precision values wherever a three-dimensional matrix with double precision is expected. Some precision is lost because of the conversion. Allow assignment of three-dimensional single precision matrix to four-dimensional single precision matrix This operator allows you to use a three-dimensional matrix with single precision values wherever a four-dimensional matrix with single precision is expected. Allow assignment of three-dimensional single precision matrix to four-dimensional double precision matrix This operator allows you to use a three-dimensional matrix with single precision values wherever a four-dimensional matrix with double precision is expected. Allow assignment of three-dimensional single precision matrix to four-dimensional extended precision matrix This operator allows you to use a three-dimensional matrix with single precision values wherever a four-dimensional matrix with extended precision is expected. Allow assignment of three-dimensional double precision matrix to four-dimensional single precision matrix This operator allows you to use a three-dimensional matrix with double precision values wherever a four-dimensional matrix with single precision is expected. Some precision is lost because of the conversion. Allow assignment of three-dimensional double precision matrix to four-dimensional double precision matrix This operator allows you to use a three-dimensional matrix with double precision values wherever a four-dimensional matrix with double precision is expected. Allow assignment of three-dimensional double precision matrix to four-dimensional extended precision matrix This operator allows you to use a three-dimensional matrix with double precision values wherever a four-dimensional matrix with extended precision is expected. Allow assignment of three-dimensional extended precision matrix to four-dimensional single precision matrix This operator allows you to use a three-dimensional matrix with extended precision values wherever a four-dimensional matrix with single precision is expected. Some precision is lost because of the conversion. Allow assignment of three-dimensional extended precision matrix to four-dimensional double precision matrix This operator allows you to use a three-dimensional matrix with extended precision values wherever a four-dimensional matrix with double precision is expected. Some precision is lost because of the conversion. Allow assignment of three-dimensional extended precision matrix to four-dimensional extended precision matrix This operator allows you to use a three-dimensional matrix with extended precision values wherever a four-dimensional matrix with extended precision is expected. Allow assignment of four-dimensional single precision matrix to two-dimensional single precision matrix This operator allows you to use a four-dimensional matrix with single precision values wherever a two-dimensional matrix with single precision is expected. The surplus fields are thrown away. Allow assignment of four-dimensional single precision matrix to two-dimensional double precision matrix This operator allows you to use a four-dimensional matrix with single precision values wherever a two-dimensional matrix with double precision is expected. The surplus fields are thrown away. Allow assignment of four-dimensional single precision matrix to two-dimensional extended precision matrix This operator allows you to use a four-dimensional matrix with single precision values wherever a two-dimensional matrix with extended precision is expected. The surplus fields are thrown away. Allow assignment of four-dimensional double precision matrix to two-dimensional single precision matrix This operator allows you to use a four-dimensional matrix with double precision values wherever a two-dimensional matrix with single precision is expected. The surplus fields are thrown away and some precision is lost in the conversion. Allow assignment of four-dimensional double precision matrix to two-dimensional double precision matrix This operator allows you to use a four-dimensional matrix with double precision values wherever a two-dimensional matrix with double precision is expected. The surplus fields are thrown away. Allow assignment of four-dimensional double precision matrix to two-dimensional extended precision matrix This operator allows you to use a four-dimensional matrix with double precision values wherever a two-dimensional matrix with extended precision is expected. The surplus fields are thrown away. Allow assignment of four-dimensional extended precision matrix to two-dimensional single precision matrix This operator allows you to use a four-dimensional matrix with extended precision values wherever a two-dimensional matrix with single precision is expected. The surplus fields are thrown away and some precision is lost in the conversion. Allow assignment of four-dimensional extended precision matrix to two-dimensional double precision matrix This operator allows you to use a four-dimensional matrix with extended precision values wherever a two-dimensional matrix with double precision is expected. The surplus fields are thrown away and some precision is lost in the conversion. Allow assignment of four-dimensional extended precision matrix to two-dimensional extended precision matrix This operator allows you to use a four-dimensional matrix with single precision values wherever a two-dimensional matrix with single precision is expected. The surplus fields are thrown away. Allow assignment of four-dimensional single precision matrix to three-dimensional single precision matrix This operator allows you to use a four-dimensional matrix with single precision values wherever a three-dimensional matrix with single precision is expected. The surplus fields are thrown away. Allow assignment of four-dimensional single precision matrix to three-dimensional double precision matrix This operator allows you to use a four-dimensional matrix with single precision values wherever a three-dimensional matrix with double precision is expected. The surplus fields are thrown away. Allow assignment of four-dimensional single precision matrix to three-dimensional extended precision matrix This operator allows you to use a four-dimensional matrix with single precision values wherever a three-dimensional matrix with extended precision is expected. The surplus fields are thrown away. Allow assignment of four-dimensional double precision matrix to three-dimensional single precision matrix This operator allows you to use a four-dimensional matrix with double precision values wherever a three-dimensional matrix with single precision is expected. The surplus fields are thrown away and some precision is lost because of the conversion. Allow assignment of four-dimensional double precision matrix to three-dimensional double precision matrix This operator allows you to use a four-dimensional matrix with double precision values wherever a three-dimensional matrix with double precision is expected. The surplus fields are thrown away. Allow assignment of four-dimensional double precision matrix to three-dimensional extended precision matrix This operator allows you to use a four-dimensional matrix with double precision values wherever a three-dimensional matrix with extended precision is expected. The surplus fields are thrown away. Allow assignment of four-dimensional extended precision matrix to three-dimensional single precision matrix This operator allows you to use a four-dimensional matrix with extended precision values wherever a three-dimensional matrix with single precision is expected. The surplus fields are thrown away and some precision is lost because of the conversion. Allow assignment of four-dimensional extended precision matrix to three-dimensional double precision matrix This operator allows you to use a four-dimensional matrix with extended precision values wherever a three-dimensional matrix with double precision is expected. The surplus fields are thrown away. Allow assignment of four-dimensional extended precision matrix to three-dimensional extended precision matrix This operator allows you to use a four-dimensional matrix with extended precision values wherever a three-dimensional matrix with double precision is expected. The surplus fields are thrown away. Allow assignment of four-dimensional single precision matrix to four-dimensional double precision matrix This operator allows you to use a four-dimensional matrix with single precision values wherever a four-dimensional matrix with double precision is expected. Allow assignment of four-dimensional single precision matrix to four-dimensional extended precision matrix This operator allows you to use a four-dimensional matrix with single precision values wherever a four-dimensional matrix with extended precision is expected. Allow assignment of four-dimensional single precision matrix to four-dimensional single precision matrix This operator allows you to use a four-dimensional matrix with double precision values wherever a four-dimensional matrix with single precision is expected. Some precision is lost because of the conversion. Allow assignment of four-dimensional double precision matrix to four-dimensional extended precision matrix This operator allows you to use a four-dimensional matrix with double precision values wherever a four-dimensional matrix with extended precision is expected. Allow assignment of four-dimensional extended precision matrix to four-dimensional single precision matrix This operator allows you to use a four-dimensional matrix with extended precision values wherever a four-dimensional matrix with single precision is expected. Some precision is lost because of the conversion. Allow assignment of four-dimensional extended precision matrix to four-dimensional double precision matrix This operator allows you to use a four-dimensional matrix with extended precision values wherever a four-dimensional matrix with double precision is expected. Add two two-dimensional single precision matrices together. This operator allows you to add two two-dimensional single precision matrices together. A new matrix is returned with all elements of the two matrices added together. Add two two-dimensional double precision matrices together. This operator allows you to add two two-dimensional double precision matrices together. A new matrix is returned with all elements of the two matrices added together. Add two two-dimensional extended precision matrices together. This operator allows you to add two two-dimensional extended precision matrices together. A new matrix is returned with all elements of the two matrices added together. Add two three-dimensional single precision matrices together. This operator allows you to add two three-dimensional single precision matrices together. A new matrix is returned with all elements of the two matrices added together. Add two three-dimensional double precision matrices together. This operator allows you to add two three-dimensional double precision matrices together. A new matrix is returned with all elements of the two matrices added together. Add two three-dimensional extended precision matrices together. This operator allows you to add two three-dimensional extended precision matrices together. A new matrix is returned with all elements of the two matrices added together. Add two four-dimensional single precision matrices together. This operator allows you to add two four-dimensional single precision matrices together. A new matrix is returned with all elements of the two matrices added together. Add two four-dimensional double precision matrices together. This operator allows you to add two four-dimensional double precision matrices together. A new matrix is returned with all elements of the two matrices added together. Add two four-dimensional extended precision matrices together. This operator allows you to add two four-dimensional extended precision matrices together. A new matrix is returned with all elements of the two matrices added together. Subtract a two-dimensional single precision matrix from another. This operator allows you to subtract a two-dimensional single precision matrix from another. A new matrix is returned with all elements of the two matrices subtracted from each other. Subtract a two-dimensional double precision matrix from another. This operator allows you to subtract a two-dimensional double precision matrix from another. A new matrix is returned with all elements of the two matrices subtracted from each other. Subtract a two-dimensional extended precision matrix from another. This operator allows you to subtract a two-dimensional extended precision matrix from another. A new matrix is returned with all elements of the two matrices subtracted from each other. Subtract a three-dimensional single precision matrix from another. This operator allows you to subtract a three-dimensional single precision matrix from another. A new matrix is returned with all elements of the two matrices subtracted from each other. Subtract a three-dimensional double precision matrix from another. This operator allows you to subtract a three-dimensional double precision matrix from another. A new matrix is returned with all elements of the two matrices subtracted from each other. Subtract a three-dimensional extended precision matrix from another. This operator allows you to subtract a three-dimensional extended precision matrix from another. A new matrix is returned with all elements of the two matrices subtracted from each other. Subtract a four-dimensional single precision matrix from another. This operator allows you to subtract a four-dimensional single precision matrix from another. A new matrix is returned with all elements of the two matrices subtracted from each other. Subtract a four-dimensional double precision matrix from another. This operator allows you to subtract a four-dimensional double precision matrix from another. A new matrix is returned with all elements of the two matrices subtracted from each other. Subtract a four-dimensional extended precision matrix from another. This operator allows you to subtract a four-dimensional extended precision matrix from another. A new matrix is returned with all elements of the two matrices subtracted from each other. Negate two-dimensional single precision matrix. This operation returns a matrix with all elements negated. Negate two-dimensional double precision matrix. This operation returns a matrix with all elements negated. Negate two-dimensional extended precision matrix. This operation returns a matrix with all elements negated. Negate three-dimensional single precision matrix. This operation returns a matrix with all elements negated. Negate three-dimensional double precision matrix. This operation returns a matrix with all elements negated. Negate three-dimensional extended precision matrix. This operation returns a matrix with all elements negated. Negate four-dimensional single precision matrix. This operation returns a matrix with all elements negated. Negate four-dimensional double precision matrix. This operation returns a matrix with all elements negated. Negate four-dimensional extended precision matrix. This operation returns a matrix with all elements negated. Give product of two two-dimensional single precision matrices This operator allows you to multipy two two-dimensional single precision matrices. A new matrix is returned which is the product of both matrices. The product is calculated using the well known matrix multiplication algorithm. Give product of two two-dimensional double precision matrices This operator allows you to multipy two two-dimensional single precision matrices. A new matrix is returned which is the product of both matrices. The product is calculated using the well known matrix multiplication algorithm. Give product of two two-dimensional extended precision matrices This operator allows you to multipy two two-dimensional single precision matrices. A new matrix is returned which is the product of both matrices. The product is calculated using the well known matrix multiplication algorithm. Give product of two three-dimensional single precision matrices This operator allows you to multipy two two-dimensional single precision matrices. A new matrix is returned which is the product of both matrices. The product is calculated using the well known matrix multiplication algorithm. Give product of two three-dimensional double precision matrices This operator allows you to multipy two two-dimensional single precision matrices. A new matrix is returned which is the product of both matrices. The product is calculated using the well known matrix multiplication algorithm. Give product of two three-dimensional extended precision matrices This operator allows you to multipy two two-dimensional single precision matrices. A new matrix is returned which is the product of both matrices. The product is calculated using the well known matrix multiplication algorithm. Give product of two four-dimensional single precision matrices This operator allows you to multipy two two-dimensional single precision matrices. A new matrix is returned which is the product of both matrices. The product is calculated using the well known matrix multiplication algorithm. Give product of two four-dimensional double precision matrices This operator allows you to multipy two two-dimensional single precision matrices. A new matrix is returned which is the product of both matrices. The product is calculated using the well known matrix multiplication algorithm. Give product of two four-dimensional extended precision matrices This operator allows you to multipy two two-dimensional single precision matrices. A new matrix is returned which is the product of both matrices. The product is calculated using the well known matrix multiplication algorithm. Give product of a two-dimendional single precision matrix and vector This operator allows you to multipy a two-dimensional single precision matrices with a two dimensional single precision vector. A new vector is returned which is the product of the matrix and the vector. The product is calculated using the well known matrix-vector multiplication algorithm. Give product of a two-dimendional double precision matrix and vector This operator allows you to multipy a two-dimensional double precision matrices with a two dimensional double precision vector. A new vector is returned which is the product of the matrix and the vector. The product is calculated using the well known matrix-vector multiplication algorithm. Give product of a two-dimendional extended precision matrix and vector This operator allows you to multipy a two-dimensional extended precision matrices with a two dimensional extended precision vector. A new vector is returned which is the product of the matrix and the vector. The product is calculated using the well known matrix-vector multiplication algorithm. Give product of a three-dimendional single precision matrix and vector This operator allows you to multipy a three-dimensional single precision matrices with a three dimensional single precision vector. A new vector is returned which is the product of the matrix and the vector. The product is calculated using the well known matrix-vector multiplication algorithm. Give product of a three-dimendional double precision matrix and vector This operator allows you to multipy a three-dimensional double precision matrices with a three dimensional double precision vector. A new vector is returned which is the product of the matrix and the vector. The product is calculated using the well known matrix-vector multiplication algorithm. Give product of a three-dimendional extended precision matrix and vector This operator allows you to multipy a three-dimensional extended precision matrices with a three dimensional extended precision vector. A new vector is returned which is the product of the matrix and the vector. The product is calculated using the well known matrix-vector multiplication algorithm. Give product of a four-dimendional single precision matrix and vector This operator allows you to multipy a four-dimensional single precision matrices with a four dimensional single precision vector. A new vector is returned which is the product of the matrix and the vector. The product is calculated using the well known matrix-vector multiplication algorithm. Give product of a four-dimendional double precision matrix and vector This operator allows you to multipy a four-dimensional double precision matrices with a four dimensional double precision vector. A new vector is returned which is the product of the matrix and the vector. The product is calculated using the well known matrix-vector multiplication algorithm. Give product of a four-dimendional extended precision matrix and vector This operator allows you to multipy a four-dimensional extended precision matrices with a four dimensional extended precision vector. A new vector is returned which is the product of the matrix and the vector. The product is calculated using the well known matrix-vector multiplication algorithm. Add scalar to two-dimensional single precision matrix This operator allows you to add a scalar value to a matrix. The scalar is added to all elements of the matrix, the result is returned as a new vector. Add scalar to two-dimensional double precision matrix This operator allows you to add a scalar value to a matrix. The scalar is added to all elements of the matrix, the result is returned as a new vector. Add scalar to two-dimensional extended precision matrix This operator allows you to add a scalar value to a matrix. The scalar is added to all elements of the matrix, the result is returned as a new vector. Add scalar to three-dimensional single precision matrix This operator allows you to add a scalar value to a matrix. The scalar is added to all elements of the matrix, the result is returned as a new vector. Add scalar to three-dimensional double precision matrix This operator allows you to add a scalar value to a matrix. The scalar is added to all elements of the matrix, the result is returned as a new vector. Add scalar to three-dimensional extended precision matrix This operator allows you to add a scalar value to a matrix. The scalar is added to all elements of the matrix, the result is returned as a new vector. Add scalar to four-dimensional single precision matrix This operator allows you to add a scalar value to a matrix. The scalar is added to all elements of the matrix, the result is returned as a new vector. Add scalar to four-dimensional double precision matrix This operator allows you to add a scalar value to a matrix. The scalar is added to all elements of the matrix, the result is returned as a new vector. Add scalar to four-dimensional extended precision matrix This operator allows you to add a scalar value to a matrix. The scalar is added to all elements of the matrix, the result is returned as a new vector. Subtract scalar to two-dimensional single precision matrix This operator allows you to subtract a scalar value from a matrix. The scalar is subtracted from all elements of the matrix, the result is returned as a new matrix. Subtract scalar to two-dimensional double precision matrix This operator allows you to subtract a scalar value from a matrix. The scalar is subtracted from all elements of the matrix, the result is returned as a new matrix. Add scalar to two-dimensional extended precision matrix This operator allows you to subtract a scalar value from a matrix. The scalar is subtracted from all elements of the matrix, the result is returned as a new matrix. Add scalar to three-dimensional single precision matrix This operator allows you to subtract a scalar value from a matrix. The scalar is subtracted from all elements of the matrix, the result is returned as a new matrix. Add scalar to three-dimensional double precision matrix This operator allows you to subtract a scalar value from a matrix. The scalar is subtracted from all elements of the matrix, the result is returned as a new matrix. Add scalar to three-dimensional extended precision matrix This operator allows you to substract a scalar value from a matrix. The scalar is subtracted from all elements of the matrix, the result is returned as a new matrix. Add scalar to four-dimensional single precision matrix This operator allows you to subtract a scalar value from a matrix. The scalar is subtracted from all elements of the matrix, the result is returned as a new matrix. Add scalar to four-dimensional double precision matrix This operator allows you to subtract a scalar value from a matrix. The scalar is subtracted from all elements of the matrix, the result is returned as a new matrix. Add scalar to four-dimensional extended precision matrix This operator allows you to subtract a scalar value from a matrix. The scalar is subtracted from all elements of the matrix, the result is returned as a new matrix. Multiply a two-dimensional single precision matrix by a scalar This operator allows you to multiply a matrix with a scalar. All elements in the matrix are multiplied by the scalar, the result is returned as a new matrix. Multiply a two-dimensional double precision matrix by a scalar This operator allows you to multiply a matrix with a scalar. All elements in the matrix are multiplied by the scalar, the result is returned as a new matrix. Multiply a two-dimensional extended precision matrix by a scalar This operator allows you to multiply a matrix with a scalar. All elements in the matrix are multiplied by the scalar, the result is returned as a new matrix. Multiply a three-dimensional single precision matrix by a scalar This operator allows you to multiply a matrix with a scalar. All elements in the matrix are multiplied by the scalar, the result is returned as a new matrix. Multiply a three-dimensional double precision matrix by a scalar This operator allows you to multiply a matrix with a scalar. All elements in the matrix are multiplied by the scalar, the result is returned as a new matrix. Multiply a three-dimensional extended precision matrix by a scalar This operator allows you to multiply a matrix with a scalar. All elements in the matrix are multiplied by the scalar, the result is returned as a new matrix. Multiply a four-dimensional single precision matrix by a scalar This operator allows you to multiply a matrix with a scalar. All elements in the matrix are multiplied by the scalar, the result is returned as a new matrix. Multiply a four-dimensional double precision matrix by a scalar This operator allows you to multiply a matrix with a scalar. All elements in the matrix are multiplied by the scalar, the result is returned as a new matrix. Multiply a four-dimensional extended precision matrix by a scalar This operator allows you to multiply a matrix with a scalar. All elements in the matrix are multiplied by the scalar, the result is returned as a new matrix. Divide a two-dimensional single precision matrix by a scalar This operator allows you to divide a matrix by a scalar. All elements in the matrix are divided by the scalar, the result is returned as a new matrix. Divide a two-dimensional single precision matrix by a scalar This operator allows you to divide a matrix by a scalar. All elements in the matrix are divided by the scalar, the result is returned as a new matrix. Divide a two-dimensional single precision matrix by a scalar This operator allows you to divide a matrix by a scalar. All elements in the matrix are divided by the scalar, the result is returned as a new matrix. Divide a two-dimensional single precision matrix by a scalar This operator allows you to divide a matrix by a scalar. All elements in the matrix are divided by the scalar, the result is returned as a new matrix. Divide a two-dimensional single precision matrix by a scalar This operator allows you to divide a matrix by a scalar. All elements in the matrix are divided by the scalar, the result is returned as a new matrix. Divide a two-dimensional single precision matrix by a scalar This operator allows you to divide a matrix by a scalar. All elements in the matrix are divided by the scalar, the result is returned as a new matrix. Divide a two-dimensional single precision matrix by a scalar This operator allows you to divide a matrix by a scalar. All elements in the matrix are divided by the scalar, the result is returned as a new matrix. Divide a two-dimensional single precision matrix by a scalar This operator allows you to divide a matrix by a scalar. All elements in the matrix are divided by the scalar, the result is returned as a new matrix. Divide a two-dimensional single precision matrix by a scalar This operator allows you to divide a matrix by a scalar. All elements in the matrix are divided by the scalar, the result is returned as a new matrix.