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: 

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 Control2020

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:

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

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

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

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

2017

August 31,  2017

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

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":

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:

              Are linear synthesis methods of fault detection and isolation filters still timely? A robust synthesis case-study example

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.