Generic Diagonalizability, Structural Functional Observability and Output Controllability
<|reference_start|>Generic Diagonalizability, Structural Functional Observability and Output Controllability: This paper investigates the structural functional observability (SFO) and structural output controllability (SOC) of a class of systems with generically diagonalizable state matrices and explores the associated minimal sensor and actuator placement problems. The verification of SOC and the corresponding sensor and actuator placement problems, i.e., the problems of determining the minimum number of outputs and inputs required to achieve SFO and SOC, respectively, are yet open for general systems, which motivates our focus on a class of systems enabling polynomial-time solutions. In this line, we first define and characterize generically diagonalizable systems, referring to structured systems for which almost all realizations of the state matrices are diagonalizable. We then develop computationally efficient criteria for SFO and SOC within the context of generically diagonalizable systems. Our work expands the class of systems amenable to polynomial-time SOC verification. Thanks to the simplicity of the obtained criteria, we derive closed-form solutions for determining the minimal sensor placement to achieve SFO and the minimal actuator deployment to achieve SOC in such systems, along with efficient weighted maximum matching based and weighted maximum flow based algorithms. For more general systems to achieve SFO, an upper bound is given by identifying a non-decreasing property of SFO with respect to a specific class of edge additions, which is shown to be optimal under certain circumstances.<|reference_end|>
@article{zhang2024generic,
    title={Generic Diagonalizability, Structural Functional Observability and
  Output Controllability},
    author={Yuan Zhang, Tyrone Fernando, Mohamed Darouach},
    journal={arXiv preprint arXiv:2409.17100},
    year={2024},
    archivePrefix={arXiv},
    eprint={2409.17100},
    primaryClass={eess.SY cs.SY}
}