This paper presents a general algorithm for low-order multifunctional observer design with arbitrary eigenvalues. The feature of this algorithm is that it can generate a functional observer with different orders which are no larger but usually much less than

, where

is the number of functionals and

is the observability index of

. Since the order needed for the observer varies with the functionals besides other system parameters, this design approach should be practical. The resulting observer system matrix is in its Jordan form. The key step of this algorithm is the generation of the basis for the transformation matrix which relates the system and observer states. The computation of this algorithm is quite reliable. It is based on the block observable lower Hessenberg form of

, and all its initial and major computation involves only the orthogonal operations.