Contents

Compute with Matrices

Basic Arithmetic Operations

When performing basic arithmetic operations on matrices, use the standard arithmetic operators. For example, add, substract, multiply, and divide the following two matrices by using the standard +, -, *, and / operators:

A := matrix([[a, b], [c, d]]):
B := matrix([[1, 2], [3, 4]]):
A + B, A - B, A*B, A/B

To perform basic operations on a matrix and a number, use the same operators. When you multiply a matrix by a number, MuPAD® multiplies all elements of a matrix by that number:

5*A

When you add a number to a matrix, MuPAD multiplies the number by an identity matrix, and then adds the result to the original matrix:

A + 5

    Note:   MATLAB® adds a number to each element of a matrix. MuPAD adds a number only to the diagonal elements of a matrix.

You can combine matrices with the same number of rows by using the concatenation operator (.):

A.B

More Operations Available for Matrices

Besides standard arithmetic operations, many other MuPAD functions are available for computations involving matrices and vectors. To check whether a particular function accepts matrices as parameters, see the "Parameters" section of the function help page. The following functions can operate on matrices:

  • The conjugate function computes the conjugate of each complex element of a matrix:

    A := matrix([[1, 2 + 3*I], [1 - I, 2*I]]):
    conjugate(A)

  • The int and diff functions compute the derivative and the integral of each element of a matrix:

    A := matrix(2, 2, [x, x^2, x^3, x^4]):
    int(A, x), diff(A, x)

  • The expand function expands each element of a matrix:

    A := matrix(2, 2, [x, (x + 1)^2, x*(x - 1), x*(x + 4)]):
    expand(A)

  • The map function applies the specified function to all operands of each element of a matrix:

    A := matrix(3, 3, [1, 2, 3], Diagonal):
    B := map(A, sin)

  • The float function converts each element of a matrix or numerical subexpressions of each element of a matrix to floating-point numbers:

    float(B)

  • The evalAt function (and its shortcut |) substitutes the specified object by another specified object, and then evaluates each element of a matrix:

    A := matrix(2, 2, [x, x^2, x^3, x^4]):
    A|x = 2

  • The subs function returns a copy of a matrix in which the specified object replaces all instances of another specified object. The function does not evaluate the elements of a matrix after substitution:

    A := matrix(2, 2, [x, x^2, x^3, x^4]):
    subs(A, x = exp(y))

  • The has function determines whether a matrix contains the specified object:

    A := matrix(2, 2, [x, x^2, x^3, x^4]):
    has(A, x^3), has(A, x^5)

  • The iszero function checks whether all elements of a matrix are zeros:

    A := matrix(2, 2):
    iszero(A)

    A[1, 1] := 1:
    iszero(A)

  • The norm function computes the infinity norm (row sum norm) of a matrix:

    A := matrix(2, 2, [a_1_1, a_1_2, a_2_1, a_2_2]):
    norm(A)

  • The zip(A, B, f) function combines matrices A and B into a matrix C so that Cij = f(Aij, Bij):

    A := matrix(2, 2, [a, b, c, d]):
    B := matrix(2, 2, [10, 20, 30, 40]):
    zip(A, B, _power)

Was this topic helpful?