This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Transforms a linear differential system to an equivalent linear differential system with a companion matrix.

MuPAD® notebooks are not recommended. Use MATLAB® live scripts instead.

MATLAB live scripts support most MuPAD functionality, though there are some differences. For more information, see Convert MuPAD Notebooks to MATLAB Live Scripts.


ode::cyclicVector(A, x, <v>)


ode::cyclicVector(A, x, v) converts a first order homogeneous differential system into a corresponding first order homogeneous differential system , where B is a companion matrix, by substituting Z = PY using the potential cyclic vector v. If v is not cyclic then an empty list is returned otherwise a list is returned whose first element is a list corresponding to the last row of B and second element is the invertible matrix P.

When the optional argument v is not given then the vector [1,0,...,0] is tested. If it is not cyclic then a suitable one is determined randomly by the procedure.


Example 1

We compute a differential system equivalent to the following differential system:

A := matrix( [ [x^2-1,1,0], [0,x^2+5*x+1/3,1], [0,0,2]])

ode::cyclicVector(A, x)

So [1,0,0] is a cyclic vector; [x,0,0] is also a cyclic vector:

l := ode::cyclicVector(A, x, [x,0,0])

And we can build easily a linear homogeneous differential equation associated to it (c.f. ode::mkODE):

-ode::mkODE(l[1].[-1], y, x)



A square matrix of type Dom::Matrix.


The independent variable.


A list of size the dimension of A, default is [1,0,...,0].

Return Values

List, possibly empty, of two lists.

See Also

MuPAD Functions

Was this topic helpful?