News
2024
February 2, 2024
The hardcover version of the 2nd edition of my book Solving Fault Diagnosis Problems is available for purchase at Springer's sites. Simultaneously, a new Ebook version of the book has been released. The supporting software for this edition has been entirely written in Julia.
2023
December 28, 2023
During the year I continued to implement new releases of all my Julia packages:
The current version v2.3.2 of the MatrixEquations.jl package includes new solvers for several Lyapunov-like and Sylvester-like equations, and a collection of iterative solvers for Lyapunov and Sylvster equations. According to the JuliaHub statistics, the last release of the MatrixEquations.jl package has 2400 new users in the last 30 days!
The current version v.1.7.13 of the MatrixPencils.jl includes scaling functions for general and regular matrix pencils, as well as for scaling linear standard and descriptor systems. Several control system relevant computations have been enhanced by adding scaling options. According to the JuliaHub statistics, the last release of the MatrixPencils.jl package has 2100 new users in the last 30 days!
The current version v1.3.9 of the DescriptorSystems.jl includes several new functions related to balancing of descriptor system models and several enhanced functions to automatically perform balancing in the case of poorly scaled system models.
The current version v0.6.2 of the PeriodicSystems.jll includes a range of new functions for periodic systems, such as norm computations, time response simulation, performing several connections of periodic systems. New periodic matrix types have been defined to support switching periodic systems.
January 26, 2023
The acceptance of two of my packages in the Julia community achieved levels, which are very encouraging for me to continue my efforts to implement control oriented numerical software. Release v2.2.3 of the MatrixEquations.jl package arrived to 780 new users in the last 30 days according to the JuliaHub statistics. Similarly, according to the same source, Release v.1.7.5 of the MatrixPencils.jl package arrived to 680 new users in the last 30 days.
January 13, 2023
Release v1.2.2 of the FaultDetectionTools.jl Julia package has been registered. This version includes updated scripts of the book examples, extended with scripts to generate plots with CairoMakie.
2022
October 4, 2022
Release v0.5 of the PeriodicSystems.jl Julia package has been registered. This package is intended to be a collection of Julia functions for numerical computations related to linear periodic system representations, both in continuous- and discrete-time. This package can be usefull to address control applications, which are formulated as genuine periodic control problems, as for example, satellite attitude control, helicopter forward flight control, orbital stabilization of underactuated systems, etc. Besides that, periodic systems represent a general framework to analyze and design multi-rate sampled-data systems.
February 3, 2022
Release v1.0 of the FaultDetectionTools.jl Julia package for the solution of synthesis problems of fault detection and model detection filters has been completed and registered. This is a major release which concludes the efforts to develop a Julia version of the FDITOOLS collection of tools for MATLAB. In contrast with the MATLAB implementation, the Julia implementation of functions rely on custom data structures, centered around the descriptor system representation of linear time-invariant systems.
2021
July 17, 2021
Release v2.0 of the MatrixEquations.jl Julia package has been completed and registered. This is a major release which concludes the efforts to increase the speed of all solvers and minimize the memory allocation burden. The Lyapunov solvers have been functionally extended to cover the case of non-symmmetric/non-hermitian solutions. The implementations of linear Lyapunov and Sylvester operators now rely on the LinearMaps.jl package (instead of LinearOperators.jl package in previous releases).
June 7, 2021
Release v1.0 of the DescriptorSystem.jl Julia package has been completed and announced on Julia Discourse. This version implements the full targetted functionality available in the companion MATLAB collection DSTOOLS, which is now available also in GitHub. The joint functionality of the DescriptorSystem.jl and MatrixEquations.jl packages covers and extends in many aspects the functionality of the computational tools available in the Control System Toolbox of MATLAB. Future developments will address support for new classes of generalized LTI systems types (e.g., pencil-based system realizations, polynomial system models) and the computation of common frequency and time responses.
May 1, 2021
The DSTOOLS and FDITOOLS collections of MATLAB functions have been migrated from BitBucket to GitHub as DSTools and FDITools repositories, respectively, and have been also registered in the MATLAB File Exchange as DSTOOLS and FDITOOLS .
March 22, 2021
I started a new project DescriptorSystem.jl to implement a collection of Julia functions for numerical computations related to generalized state-space (descriptor) system representations. The functionality of many of the implemented functions parallel or even extend the functionality of the Control System Toolbox of MATLAB and is similar to that of the DSTOOLS collection of tools. The underlying computational functions are based on the MatrixPencils.jl and MatrixEquations.jl packages. The current release is v0.4.2.
March 15, 2021
A 21-hour Graduate Module Course on "Model-Based Fault Diagnosis - a Linear Synthesis Framework using MATLAB" was held by me jointly with Daniel Ossmann at the University of Applied Sciences, Munich in the period March 8-12, 2020. The course was organized by the International Graduate School on Control. 2020
December 31, 2020
With two new minor releases v.1.4.0 and v.1.5.0 and a patch release v1.5.1, the development of the MatrixPencils.jl package reached a mature state, which contains most of necessary tools to implement software for analysis and design of linear systems described by differential or difference equations with constant coefficients. A fairly complete list of implemented functions is available here.
October 23, 2020
After the two succesfull courses held in Paris (2018) and Padova (2019), we proposed a third 21-hour Graduate Module Course on "Model-Based Fault Diagnosis - a Linear Synthesis Framework using MATLAB" to be held online by me and Daniel Ossmann at the University of Applied Sciences, Munich in the period March 8-12, 2020. The course summary is available here. The course is organized by the International Graduate School on Control, with Technical Co-sponsorships of IFAC and IEEE. The deadline for advance registration is February 8, 2021 (click here for online registration).
October 6, 2020
A new minor release v.1.2.0 of the MatrixEquations.jl package has been uploaded, which targets sensible (up to 50%) speed increase of various lower level solvers for Lyapunov and Sylvester equations. This goal has been achieved by the reduction of allocation burden using preallocation of small size work arrays, explicit forming of small order Kronecker product based coefficient matrices, performing updating operations with the 5-term mul! function introduced in Julia 1.3 (compatibility with prior Julia versions ensured using calls to BLAS gemm!). The functionality of lower level solvers has been strictly restricted to the basic real and complex data of types BlasReal and BlasComplex.
September 15, 2020
A new minor release v.1.3.0 of the MatrixPencils.jl package has been uploaded which includes new functions which implement computational procedures for spectrum separation of a regular matrix pencil. For a given pair of matrices, new functions are available to compute the separation of finite and infinite eigenvalues using orthogonal or unitary transformations, with the resulting pair in generalized Hessenberg form, generalized Schur form or in an ordered generalized Schur form. Furthermore, functions have been implemented for the block diagonalization of matrix pairs for various ordering of finite and infinite eigenvalues . A complete list of implemented functions is available here.
September 6, 2020
I uploaded the e-print "A. Varga, On computing the Kronecker structure of polynomial and rational matrices using Julia, 2020" to the arXiv repository. It presents the mathematical background and the computational aspects which underly the implementation of functions for polynomial and rational matrices in the MatrixPencils.jl package.
August 28, 2020
A new minor release v.1.2.0 of the MatrixPencils.jl package has been uploaded which includes new implementations of computational procedures to allocate the spectrum of a matrix or of a regular matrix pencil. A new function is available to efficiently compute the eigenvalues of a Schur matrix or of a generalized (Schur, upper triangular) pair (and order-preserving version of eigvals). The function fisplit has been enhanced to compute the subpencil containing the infinite eigenvalues in an upper triangular form. A complete list of implemented functions is available here.
August 6, 2020
A new minor release v.1.1.0 of the MatrixPencils.jl package has been uploaded which provides a collection of new functions for the manipulation of rational matrices specified via their numerator and denominator coefficient matrices in a monomial basis. All new funtions also support matrix, vector or scalar of elements of the Polynomial type provided by the Polynomials package. Several linearization functions are available which allow the extension of pencil manipulation techniques to rational matrices. Some straightforward applications are covered such as the computation of finite and infinite zeros and poles, the determination of the normal rank, the determination of Kronecker indices. A complete list of implemented functions is available here.
June 15, 2020
I uploaded the e-print "A. Varga, On computing the Kronecker structure of polynomial matrices using Julia, 2020" to the arXiv repository. It presents the mathematical background and the computational aspects which underly the implementation of functions for polynomial matrices in the MatrixPencils.jl package.
June 15, 2020
Two patch releases of the MatrixPencils.jl package have been uploaded (v.1.0.1 on May 20, 2020 and v1.0.2 on June 15, 2020), which achieve 100% test coverage, provide extended information on the Kronecker structure and update the documentation.
May 13, 2020
I continued the implementation of successive new releases (v0.2 on March 2, v0.3 on March 5, v0.4 on March 22, v0.5 on April 13, and v1.0 on May, 13). The current release v1.0 provides a collection of functions for the manipulation of polynomial matrices specified via their coefficient matrices in a monomial basis. All funtions also support matrix, vector or scalar of elements of the Polynomial type provided by the Polynomials package. Several linearization functions are available which allow the extension of pencil manipulation techniques to matrix polynomials. Some straightforward applications are covered such as the computation of finite and infinite eigenvalues, zeros and poles, the determination of the normal rank, the determination of Kronecker indices and finite and infinite eigenvalue structure, checks of regularity and unimodularity. A complete list of implemented functions is available here.
February 10, 2020
I implemented version v0.1 of the MatrixPencils.jl package, which contains a collection of Julia functions to compute a range of Kronecker-like forms (KLFs) which reveal the full or partial Kronecker structure of a linear matrix pencil. Various KLFs can serve to address, in a numerically reliable way, the main applications of the Kronecker form, such as the computation of the Kronecker structure information (i.e., right/left Kronecker indices, multiplicities of infinite eigenvalues, number of finite eigenvalues), the computation of eigenvalues and zeros, etc. A complete list of currently implemented functions is available here.
February 9, 2020
The MatrixEquations.jl package has been updated to the version v1.1.3 (including minor bug fixes, enhancements of test coverage). The package also runs under Julia versions 1. 0 - 1.4.
February 7, 2020
The paper "A.Varga, On recursive computation of coprime factorizations of rational matrices" has been accepted for publication in a special volume of the Linear Algebra and Its Applications dedicated to Paul Van Dooren. A preprint is available at arXiv:1703.07307, 2017.
2019
December 27, 2019
The MatrixEquations.jl package has been successively updated to the versions v1.1.0 (including enhancements of Riccati solvers), v1.1.1 (minor fixes to run under Julia 1.2 and 1.3) and v1.1.2 (minor fixes to run under Julia 1.0).
November 13, 2019
The MatrixEquations.jl package has been updated to the version v1.0.0. This is a functionally complete collection of solvers for Lyapunov, Sylvester and Riccati equations and for the estimation of separation for the underlying Lyapunov and Sylvester operators. The list of implemented functions in the current version is available here. The documentation of the latest release is avalable here.
August 27, 2019
The MatrixEquations.jl package has been updated to the version v0.8. A complete set of solvers has been added to solve non-negative stable standard and generalized Lyapunov equations, both in continuous and discrete cases.
August 1, 2019
I served as Section Editor for the topic Computer Aided Control System Design (CACSD) of the Second Edition of the Encyclopedia of Systems and Control (Editors John Baillieul and Tariq Samad, to appear in Springer Reference 2020). I also contributed with the following three articles to the CACSD section:
Computer-Aided Control Systems Design: Introduction and Historical Overview (updated version of the article published in the First Edition of the Encyclopedia of Systems and Control (2015)
Descriptor System Techniques and Software Tools (an extended version of this entry is available in arXiv)
Fault Detection and Diagnosis: Computational Issues and Tools (an extended version of this entry is available in arXiv)
July 30, 2019
DSTOOLS has been updated on Bitbucket to the version V0.74, which includes a new function to compute generalized inverses of the transfer function matrices of LTI descriptor systems, as well as some enhancements of already existing functions. A new version of the User's Guide is provided.
June 4, 2019
The MatrixEquation.jl package has been updated to the version v0.2. This version provides a functionally complete collection of solvers for Lyapunov, Sylvester and Riccati matrix equations.
April 11, 2019
I implemented a collection of Julia functions in the MatrixEquations.jl package to solve classes of Lyapunov, Sylvester and Riccati matrix equations. My goal was to demonstrate that Julia programs can achieve high computational performance, which is comparable with the performance of efficient structure exploiting Fortran implementations, as those available in the Systems and Control Library SLICOT. The codes have still an experimental status and further developments and improvements are to be expected.
March 20, 2019
A 21-hour Graduate Module Course on "Model-Based Fault Diagnosis - a Linear Synthesis Framework using MATLAB" was held by me jointly with Daniel Ossmann at the University of Padova in the period March 11-15, 2019. The course was organized by the International Graduate School on Control.
March 1, 2019
I uploaded the e-prints "A.Varga, Descriptor system techniques and software tools, arXiv: 1902.00009, 2019" and "A.Varga, Fault detection and diagnosis: computational issues and tools, arXiv: 1902.11186, 2019" to the arXiv repository.
2018
December 29, 2018
I uploaded the e-print "A.Varga, On checking null rank conditions of rational matrices, arXiv:1812.11396, 2018" to the arXiv repository.
November 30, 2018
FDITOOLS has been updated on Bitbucket to version V1.0, a new realease which covers all synthesis procedures described in the book A. Varga, Solving Fault Diagnosis Problems, Springer, 2017, and, additionally, includes a comprehensive collection of analysis functions, as well as functions for an easy setup of synthesis models. This release relies on the version V0.71 of DSTOOLS. A new version of the User's Guide is provided and has been also uploaded to the arXiv repository.
The FDIBOOK_EXAMPLES has been also updated on Bitbucket to V1.0.
September 30, 2018
DSTOOLS has been updated on Bitbucket to the version V0.71, which includes a new function to compute the nu-gap metric of generalized linear time-invariant systems, as well as many enhancements of already existing functions. A new version of the User's Guide is provided and has been also uploaded to the arXiv repository.
August 23, 2018
DSTOOLS has been updated on Bitbucket to the version V0.7, which includes new functions to compute normalized coprime factorizations and bilinear transformations, as well as many enhancements of already existing functions. A new version of the User's Guide is also provided.
August 15, 2018
FDITOOLS has been updated on Bitbucket to version V0.87, a new realease with an enhanced approximate model-matching based synthesis and with a new function to evaluate the model-matching performance. This release relies on the version V0.64 of DSTOOLS. A new version of the User's Guide is also provided.
The FDIBOOK_EXAMPLES has been also updated on Bitbucket to V0.87.
July 31, 2018
DSTOOLS has been updated on Bitbucket to the version V0.64, which includes two new functions to solve approximate model-matching problems. A new version of the User's Guide is also provided.
July 7, 2018
FDITOOLS has been updated on Bitbucket to version V0.85, a new realease with enhanced functionality and with several new functions for setup of synthesis models and performance evaluation. This release relies on the version V0.61 of DSTOOLS. A new version of the User's Guide is also provided.
The FDIBOOK_EXAMPLES has been also updated on Bitbucket to V0.85.
June 6, 2018
After the succesfull course held in Paris, I proposed a second 21-hour Graduate Module Course on "Model-Based Fault Diagnosis - a Linear Synthesis Framework using MATLAB" to be held by me and Daniel Ossmann at the University of Padova in the period March 11-15, 2019. The course is organized by the International Graduate School on Control, with Technical Co-sponsorships of IFAC and IEEE. The deadline for advance registration is December 31, 2018 (click here for online registration).
April 25, 2018
A series of graduate lectures on "Model-Based Fault Diagnosis - a Linear Synthesis Framework using MATLAB" was held by me at the Technical University of Munich in the period April 4-25, 2018. The course was organized by the Institute of Flight System Dynamics (Prof. F. Holzapfel).
March 26, 2018
A 21-hour Graduate Module Course on "Model-Based Fault Diagnosis - a Linear Synthesis Framework using MATLAB" was held by me at the Université Paris-Saclay in the period March 19-23, 2018. The course was organized by the International Graduate School on Control.
February 24, 2018
FDITOOLS has been updated on Bitbucket to version V0.8, a major new realease with significantly extended functionality. This release relies on the version V0.61 of DSTOOLS.
The FDIBOOK_EXAMPLES has been also updated to V0.8.
2017
August 31, 2017
FDITOOLS has been updated on Bitbucket to version V0.4, a major new realease with significantly improved functionality. This release relies on the version V0.6 of DSTOOLS. I also uploaded the User's Guide of the version V0.4 of the Fault Detection and Isolation Tools (FDITOOLS) to the arXiv repository.
The FDIBOOK_EXAMPLES has been also updated to V0.4.
July 31, 2017
DSTOOLS has been updated on Bitbucket to the version V0.6. FDITOOLS and FDIBOOK_EXAMPLES have been also updated to comply with DSTOOLS V0.6.
July 25, 2017
I uploaded the User's Guide of the version V0.6 of the Descriptor System Tools (DSTOOLS) to the arXiv repository.
July 20, 2017
I proposed a 21-hour Graduate Module Course on "Model-Based Fault Diagnosis - a Linear Synthesis Framework using MATLAB" to be held at the Université Paris Saclay in the period March 19-23, 2018. The course is organized by the International Graduate School on Control. The online registration for this course is open by now. The deadline for the reduced fee is December 31, 2017.
July 3, 2017
I uploaded the e-print "A. Varga, A note on computing range space bases of rational matrices, arXiv:1707.00489, 2017" to the arXiv repository.
May 20, 2017
The hardcover version of my book Solving Fault Diagnosis Problems, is available for purchase at Springer's sites. Simultaneously, a new Ebook version of the book has been released, where several formatting errors have been corrected and an updated Index is provided.
April 7, 2017
FDITOOLS has been updated on Bitbucket to version V0.3. I also uploaded the User's Guide of the version V0.3 of the Fault Detection and Isolation Tools (FDITOOLS) to the arXiv repository.
The FDIBOOK_EXAMPLES has been also updated to V0.3.
March 24, 2017
I uploaded the User's Guide of the version V0.21 of the Fault Detection and Isolation Tools (FDITOOLS) to the arXiv repository.
March 21, 2017
I uploaded the e-print "A.Varga, On recursive computation of coprime factorizations of rational matrices, arXiv:1703.07307, 2017" to the arXiv repository.
February 15, 2017
A minor update of FDITOOLS to V0.21 has been uploaded to Bitbucket.
January 26, 2017
Three collections of MATLAB software have been implemented in conjunction with the book "A. Varga, Solving Fault Diagnosis Problems - Linear Synthesis Techniques, Springer, 2017":
The Descriptor System Tools (DSTOOLS, V0.5), which contains functions for handling linear time-invariant descriptor systems; most of the underlying algorithms are presented in Chapter 10 of the book.
The Fault Detection and Isolation Tools (FDITOOLS, V0.2), which contains prototype implementations of some analysis and synthesis procedures described in the book;
The collection of MATLAB scripts (FDIBOOK_EXAMPLES, V0.2), which contains the script files used to generate the results presented in the examples in the book.
Updated versions of all three collections are available as free software on Bitbucket.
2016
November 30, 2016
My book, Solving Fault Diagnosis Problems, will appear by February 15, 2017 at Springer as volume 84 of the Series Studies in Systems, Decision and Control.
September 21, 2016.
I submitted the book to the publisher. A short presentation and the table of contents are available here.
April 14, 2016.
After a long silence I restarted lecturing on my current work, namely, a book project I am about to finish. My first lecture was:
and was held at Ruhr University of Bochum, Department of Automation and Computer Control (Prof. Dr.-Ing. Jan Lunze), on April 12, 2016.
2015
June 1, 2015.
Starting with June 1st, 2015, I am a retired control engineer, being a former senior scientist of the German Aerospace Center, in Oberpfaffenhofen. I am reasonably optimistic that in the next few years I will be able to accomplish several projects related to fostering the dissemination of reliable numerical software for control related computations.