## `linalg::jacobian` -- Jacobian matrix of a vector function

#### Introduction

`linalg::jacobian``(v, x)` computes the Jacobian matrix of the vector function v with respect to x.

#### Call(s)

`linalg::jacobian(v, x)`

#### Parameters

`v` | - | a list of arithmetical expressions, or a vector (i.e., an n x 1 or 1 x n matrix of a domain of category `Cat::Matrix`)
`x` | - | a list of (indexed) identifiers

#### Returns

a matrix of the domain `Dom::Matrix(R)`, where `R` is the component ring of `v` or the domain `Dom::ExpressionField()`.

#### Related Functions

`linalg::hessian`, `linalg::grad`

#### Details

- If `v` is a vector then the component ring of `v` must be a field (i.e., a domain of category `Cat::Field`) for which differentiation with respect to `x` is defined.
- If `v` is given as a list of arithmetical expressions, then `linalg::jacobian` returns a matrix with the standard component ring `Dom::ExpressionField()`.

#### Example 1

The Jacobian matrix of the vector function v=[x^3, x*y, y+z] is:

    >> delete x, y, z:
       linalg::jacobian([x^3, x*z, y+z], [x, y, z])

                                 +-            -+
                                 |     2        |
                                 |  3 x , 0, 0  |
                                 |              |
                                 |    z,  0, x  |
                                 |              |
                                 |    0,  1, 1  |
                                 +-            -+

#### Background

- For a vector function v: G -> R^m, G a subset of R^n, v=transpose( (v1,...,vm) ) the matrix

              +-                                      -+
              |  diff(v1(x),x1)   ...  diff(v1(x),xn)  |
              |                                        |
      Jv(x):= |        :                   :           |
              |                                        |
              |  diff(vm(x),x1)   ...  diff(vm(x),xn)  |
          +-                                      -+

  is the Jacobian matrix of v.

Do you have questions or comments?
Copyright © SciFace Software GmbH & Co. KG 2000