OpenMath Content Dictionary: linalg1

Canonical URL:
http://www.openmath.org/cd/linalg1.ocd
CD Base:
http://www.openmath.org/cd
CD File:
linalg1.ocd
CD as XML Encoded OpenMath:
linalg1.omcd
Defines:
determinant, matrix_selector, outerproduct, scalarproduct, transpose, vector_selector, vectorproduct
Date:
2004-03-30
Version:
3 (Revision 1)
Review Date:
2006-03-30
Status:
official


     This document is distributed in the hope that it will be useful, 
     but WITHOUT ANY WARRANTY; without even the implied warranty of 
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

     The copyright holder grants you permission to redistribute this 
     document freely as a verbatim copy. Furthermore, the copyright
     holder permits you to develop any derived work from this document
     provided that the following conditions are met.
       a) The derived work acknowledges the fact that it is derived from
          this document, and maintains a prominent reference in the 
          work to the original source.
       b) The fact that the derived work is not the original OpenMath 
          document is stated prominently in the derived work.  Moreover if
          both this document and the derived work are Content Dictionaries
          then the derived work must include a different CDName element,
          chosen so that it cannot be confused with any works adopted by
          the OpenMath Society.  In particular, if there is a Content 
          Dictionary Group whose name is, for example, `math' containing
          Content Dictionaries named `math1', `math2' etc., then you should 
          not name a derived Content Dictionary `mathN' where N is an integer.
          However you are free to name it `private_mathN' or some such.  This
          is because the names `mathN' may be used by the OpenMath Society
          for future extensions.
       c) The derived work is distributed under terms that allow the
          compilation of derived works, but keep paragraphs a) and b)
          intact.  The simplest way to do this is to distribute the derived
          work under the OpenMath license, but this is not a requirement.
     If you have questions about this license please contact the OpenMath
     society at http://www.openmath.org.
  Author: OpenMath Consortium
  SourceURL: https://github.com/OpenMath/CDs
            

Operations on Matrices (independent of the matrix representation).


vectorproduct

Role:
application
Description:

This symbol represents the vector product function. It takes two three dimensional vector arguments and returns a three dimensional vector. It is defined as follows: if we write a as [a_1,a_2,a_3] and b as [b_1,b_2,b_3] then the vector product denoted a x b = [a_2b_3 - a_3b_2 , a_3b_1 - a_1b_3 , a_1b_2 - a_2b_1]. Note that the vector product is often referred to as the cross product.

Commented Mathematical property (CMP):
if we write a as [a_1,a_2,a_3] and b as [b_1,b_2,b_3] then the vector product denoted a x b = [a_2b_3 - a_3b_2 , a_3b_1 - a_1b_3 , a_1b_2 - a_2b_1]
Formal Mathematical property (FMP):
A × B = A 2 B 3 - A 3 B 2 A 3 B 1 - A 1 B 3 A 1 B 2 - A 2 B 1
Signatures:
sts


[Next: scalarproduct] [Last: matrix_selector] [Top]

scalarproduct

Role:
application
Description:

This symbol represents the scalar product function. It takes two vector arguments and returns a scalar value. The scalar product of two vectors a, b is defined as |a| * |b| * cos(\theta), where \theta is the angle between the two vectors and |.| is a euclidean size function. Note that the scalar product is often referred to as the dot product.

Commented Mathematical property (CMP):
a.b = |a| * |b| * cos(\theta), where \theta is the angle between the two vectors that is |atan(a_2/a_1)-atan(b_2/b_1)|. N.B. The FMP displays the two dimensional case only.
Formal Mathematical property (FMP):
a . b = a 1 2 + a 2 2 b 1 2 + b 2 2 cos ( | arctan ( a 2 a 1 ) - arctan ( b 2 b 1 ) | )
Signatures:
sts


[Next: outerproduct] [Previous: vectorproduct] [Top]

outerproduct

Role:
application
Description:

This symbol represents the outer product function. It takes two vector arguments and returns a matrix. It is defined as follows: if we write the {i,j}'th element of the matrix to be returned as m_{i,j}, then: m_{i,j}=a_i * b_j where a_i,b_j are the i'th and j'th elements of a, b respectively.

Commented Mathematical property (CMP):
outerproduct(a,b)_{i,j} = a_i * b_j
Formal Mathematical property (FMP):
a b i j = a i b j
Signatures:
sts


[Next: transpose] [Previous: scalarproduct] [Top]

transpose

Role:
application
Description:

This symbol represents a unary function that denotes the transpose of the given matrix or vector

Example:
A representation of the equation transpose matrix([0,1],[2,3]) = matrix([0,2],[1,3]) N.B. in this example the row oriented view of matrix construction is being assumed.
0 1 2 3 T = 0 2 1 3
Signatures:
sts


[Next: determinant] [Previous: outerproduct] [Top]

determinant

Role:
application
Description:

This symbol denotes the unary function which returns the determinant of its argument, the argument should be a square matrix.

Commented Mathematical property (CMP):
The determinant of an identity matrix is 1
Formal Mathematical property (FMP):
( i j M i j = 0 ) ( i = j M i j = 1 ) det M = 1
Signatures:
sts


[Next: vector_selector] [Previous: transpose] [Top]

vector_selector

Role:
application
Description:

This symbol represents the function which allows individual entries to be selected from a vector, or a matrixrow. It takes two arguments. The first argument is the position in the vector (or matrixrow) of the required entry, the second argument is the vector (or matrixrow) in question. The indexing is one based, i.e. the first element is indexed by one.

Example:
Representation of a specification of selection of the second element of the specific vector [3,6,9]. N.B. in this example the row oriented view of vector construction is being assumed
( 3 , 6 , 9 ) 2
Example:
Representation of a specification of selection of the second element of the specific matrixrow [0,1,0]. N.B. in this example the row oriented view of matrixrow construction is being assumed
0 1 0 2
Signatures:
sts


[Next: matrix_selector] [Previous: determinant] [Top]

matrix_selector

Role:
application
Description:

This symbol represents the function which allows individual entries to be selected from a matrix. It takes three arguments, the first is the index of the row and the second is the index of the column of the required element, the third argument is the matrix in question. The indexing is one based, i.e. the element in the top left hand corner is indexed by (1,1).

Example:
Representation of a specification of selection of the top left hand entry to the matrix M.
M 1 1
Signatures:
sts


[First: vectorproduct] [Previous: vector_selector] [Top]