Singular

5.1.64 jacob

`Syntax:`
`jacob (` poly_expression `)`
`jacob (` ideal_expression `)`
`jacob (` module_expression `)`
`Type:`
ideal, if the input is a polynomial
matrix, if the input is an ideal
module, if the input is a module
`Purpose:`
computes the Jacobi ideal, resp. Jacobi matrix, generated by all partial derivatives of the input.
`Note:`
In a ring with n variables, jacob of a module or an ideal (considered as matrix with a single a row) or a polynomial (considered as a matrix with a single entry) is the matrix consisting of horizontally concatenated blocks (in this order): diff(MT,var(1)), ... , diff(MT,var(n)), where MT is the transposed input argument considered as a matrix.
`Example:`
 ``` ring R; poly f = x2yz + xy3z + xyz5; ideal i = jacob(f); i; ==> i[1]=yz5+y3z+2xyz ==> i[2]=xz5+3xy2z+x2z ==> i[3]=5xyz4+xy3+x2y matrix m = jacob(i); print(m); ==> 2yz, z5+3y2z+2xz, 5yz4+y3+2xy, ==> z5+3y2z+2xz,6xyz, 5xz4+3xy2+x2, ==> 5yz4+y3+2xy,5xz4+3xy2+x2,20xyz3 print(jacob(m)); ==> 0, 2z, 2y, 2z, 6yz,5z4+3y2+2x,2y, 5z4+3y2+2x,\ 20yz3, ==> 2z,6yz, 5z4+3y2+2x,6yz, 6xz,6xy, 5z4+3y2+2x,6xy, \ 20xz3, ==> 2y,5z4+3y2+2x,20yz3, 5z4+3y2+2x,6xy,20xz3, 20yz3, 20xz3, \ 60xyz2 ```
See diff; ideal; module; nvars.