Preprint
Article

This version is not peer-reviewed.

PSO-Guided Construction of MRD Codes for Rank Metrics

A peer-reviewed article of this preprint also exists.

Submitted:

25 April 2025

Posted:

29 April 2025

Read the latest preprint version here

Abstract
Maximum Rank‑Distance (MRD) codes are a class of optimal error-correcting codes that achieve the Singleton-like bound for rank metric, making them invaluable in applications such as network coding, cryptography, and distributed storage. While algebraic constructions of MRD codes (e.g., Gabidulin codes) are well-studied for specific parameters, a comprehensive theory for their existence and structure over arbitrary finite fields remains an open challenge. This paper introduces a computational optimization framework for constructing MRD codes using Particle Swarm Optimization (PSO), a bio-inspired metaheuristic algorithm adept at navigating high-dimensional, non-linear search spaces. Unlike traditional algebraic methods, our approach does not rely on prescribed algebraic structures; instead, it systematically explores the space of possible generator matrices to identify MRD configurations—particularly in cases where theoretical constructions are unknown. Key contributions include: (1) a tailored PSO formulation that encodes rank-metric constraints into the optimization process, ensuring feasible code candidates; (2) empirical evidence supporting the existence of MRD codes beyond classical families, with analysis of their properties; and (3) an open-source Python toolkit for MRD code discovery, enabling reproducibility and extension to other code parameters. Our experiments demonstrate the efficacy of PSO in identifying MRD codes with novel parameters, bridging gaps in the algebraic literature. The proposed method not only complements theoretical approaches but also opens avenues for machine learning-aided code design in future research.
Keywords: 
;  ;  ;  ;  

1. Introduction

Maximum Rank-Distance (MRD) codes are a class of error-correcting codes that achieve the Singleton-like bound for rank distance, providing optimal performance for rank-metric error correction. Since their introduction by Delsarte in 1978 [1], and further development by Gabidulin in 1985 [2], MRD codes have become an essential tool in areas such as network coding, cryptography, and storage systems [3].
Despite their importance, the construction of MRD codes remains challenging and open-ended. Classical constructions such as Gabidulin codes are well understood, but recent discoveries [4] have shown the existence of other inequivalent MRD codes, demonstrating the potential for more comprehensive explorations.
However, most known MRD codes are obtained through algebraic constructions that do not always generalize well across all parameters. Moreover, recent works [5,6] have demonstrated that codes with desirable properties, such as higher generalized rank weights, can be constructed beyond the classical setting, motivating the search for new MRD codes.
In this paper, we propose a novel approach to constructing MRD codes using Particle Swarm Optimization (PSO). PSO is a population-based metaheuristic algorithm that excels at solving high-dimensional, complex optimization problems [7]. By applying PSO to the combinatorial space of MRD codes [8], we aim to discover new codes and provide a systematic framework for their construction.
The remainder of this paper is organized as follows: Section 2 reviews related work on MRD codes and optimization techniques. Section 3 presents the necessary algebraic background. Section 4 details the theoretical framework underlying our approach. Section 5 introduces our PSO-guided construction method. Section 6 discusses the results and limitations of our approach, and Section 7 concludes the paper.

2. Related Work

2.1. Evolution and Recent Advances in Rank Metric and MRD Code Constructions

The theory of rank-metric codes began with the foundational work of Delsarte in 1978, who introduced the concept of a rank metric on matrices and defined rank-metric codes as sets of matrices over a finite field with distance measured by the rank of their difference [1]. In the same work, Delsarte also provided the first construction of MRD codes—those meeting the Singleton-like bound for the rank metric—via bilinear forms. This insight drew a parallel between MRD codes in the rank metric and MDS codes in the Hamming metric, establishing the existence of rare optimal codes under rank distance [9].
Building on this foundation, E. M. Gabidulin independently introduced in 1985 a general family of MRD codes now known as Gabidulin codes [2]. His construction employed evaluations of linearized polynomials of the form x q i over extension fields, closely analogous to how Reed–Solomon codes use regular polynomials. These codes were shown to be MRD for all feasible parameters n m , thereby generalizing Reed–Solomon codes to the rank-metric setting.
In 2005, Kshevetskiy and Gabidulin introduced a generalized version of Gabidulin codes, extending their structure and enhancing their suitability for cryptographic applications while retaining optimality and providing additional algebraic flexibility [10]. Gabidulin codes have long been the most extensively studied family of MRD codes due to their q-linearized-polynomial construction, which achieves the Singleton-like bound d = min { m , n } k + 1 . This construction guarantees provably optimal rank-distance and dimension along with efficient algebraic decoding algorithms [3].
For decades, it was widely believed that Gabidulin codes encompassed all practically relevant MRD codes. However, this perception shifted dramatically in 2016 when John Sheekey introduced twisted Gabidulin codes, a groundbreaking infinite family of linear MRD codes inequivalent to classical Gabidulin codes [4]. By incorporating a twisting term into the linearized polynomial structure, Sheekey uncovered deep connections between MRD codes and semifield theory, significantly broadening the landscape of MRD code constructions and demonstrating that these codes can arise from fundamentally distinct algebraic foundations.
Subsequent research from 2018 onward has focused on expanding the catalog of MRD codes and understanding their structure in new parameter regimes. One significant direction has been the study of scattered subspaces (linear sets) in projective geometries, which correspond bijectively to rank-metric codes. In 2017, Csajbók et al. established that maximum scattered linear sets yield MRD codes, leading to new constructions beyond the classical n m limitation [11]. Following this, Bartoli et al. (2018) constructed a 3-dimensional MRD code for the case n = 3 m 2 with even m, covering a previously inaccessible region in the parameter space not covered by Gabidulin codes [5,12].
In 2019, Sheekey proposed a generalized MRD code construction using skew polynomial rings, integrating both classical and twisted Gabidulin codes into a unified framework [13]. This approach significantly expanded the known families of MRD codes, enabling new constructions for many parameter sets by leveraging the algebraic structure of non-commutative polynomials and semifields.
More recently, Alfarano et al. (2022/2023) introduced a new family of F -linear MRD codes of length 2 m that are not direct sums of smaller MRD codes [6]. These codes also demonstrated strictly larger generalized rank weights than known MRD codes, highlighting new structural richness and correcting the misconception that all MRD codes exhibit similar rank weight distributions.
Together, these developments represent a significant evolution in MRD code theory—from initial bilinear constructions to modern algebraic and geometric frameworks—and continue to open new pathways for theoretical advancement and practical applications in coding and cryptography.

2.2. Heuristic and Automated Searches for MRD Codes

Given the complexity of defining MRD codes algebraically, researchers have increasingly employed computational methods to find or verify new codes. For example, the classification of MRD codes with n 9 by Csajbók et al. (2020) combined theoretical insights with computational searches [14].
Despite these efforts, the use of heuristic algorithms, particularly PSO, for MRD code discovery remains largely unexplored. Genetic Algorithms (GA), however, have shown success in evolving block codes in the Hamming metric domain, suggesting that similar strategies might be effective for rank-metric code construction [15,16].
PSO, widely regarded for its efficiency in high-dimensional optimization, offers a promising avenue for MRD code discovery. While PSO has been adapted for combinatorial problems [8], it has not yet been applied directly to MRD code construction. The adaptability of PSO to discrete and combinatorial problems suggests that it could be a powerful tool for exploring the space of MRD codes.
This paper builds upon these works by proposing a PSO-guided approach to MRD code construction, aiming to bridge the gap between algebraic theory and computational search techniques.

3. Algebraic Background

This section reviews the concepts and notation that underlie maximum-rank-distance (MRD) codes and their construction.

3.1. Rank Metric

The rank metric measures the distance between two matrices—or, equivalently, between vectors over an extension field—by the rank of their difference (the minimum number of rank-1 increments needed to transform one into the other) [3]. A rank-metric code  C is a subset of F q m × n used for error detection and correction when this metric is applied.
According to Gabidulin [3], the error-correcting capability of a matrix code depends on the minimum rank distance
d ( A , B ) = rank F q A B , A , B F q m × n .
For C F q m × n the global distance is
d r = min A , B C , A B rank F q A B .
The code C is called F q -linear if it is a k-dimensional subspace of F q m × n with k { 1 , , m n } .
If C is F q -linear it admits the generator-matrix form
C = G u : u F q k × 1 , G F q k × n .
G = g 11 g 12 g 1 n g 21 g 22 g 2 n g k 1 g k 2 g k n , u = u 1 u k , c = G u C .
Each c C is a codeword, viewed either as a vector over F q or, via a fixed F q -linear isomorphism, as an m × n matrix over the base field.

3.2. Singleton Bound and Singleton-Like Bound

Classical Hamming case. For a Hamming-metric block code of length n, dimension k, and minimum distance d, the classical Singleton bound is [9]
d n k + 1 .
Rank-metric analogue. For C F q m × n with minimum rank distance d and F q -dimension k, Delsarte and Gabidulin [1,2,3] proved the Singleton-type bounds
| C | q m ( n d + 1 ) ,
k m ( n d + 1 ) ,
d min { m , n } k + 1 .

3.3. Maximum Rank-Distance (MRD) Codes

A code C F q m × n is a maximum rank-distance (MRD) code when it achieves equality in the Singleton-like bound:
| C | = q m ( n d + 1 ) k = m ( n d + 1 ) d = min { m , n } k + 1 .
Lemma 1.
Let G F q k × n generate a F q -linear code C . Then C is MRD iff
rank F q ( Y G ) = k for every Y F q k × n with rank F q ( Y ) = k .
Hence an MRD code can be identified by the full-rank preservation of its generator matrix under premultiplication by any full-rank k × n matrix over the base field ([3] Lemma 2.2).

3.4. Gabidulin Codes

Let q be a prime power and m , n , k N with k n m (since for Gabidulin codes, the code length n must not exceed the field extension degree m ( n m ), and the dimension k must not exceed the length ( k n )) [3]. Choose
α = α 1 α 2 α n F q 1 × n , with entries F q - linearly independent .
For a q-linearised polynomial
P ( x ) = i = 0 k 1 a i x [ i ] , x [ i ] : = x q i , a i F q ,
define the evaluation map explicitly as a matrix:
Ev α ( P ) = P ( α 1 ) P ( α 2 ) P ( α n ) F q 1 × n .
The Gabidulin code is then given by the set of matrix evaluations:
Gab q ( n , k , m ) = Ev α ( P ) : deg q ( P ) < k ,
forming an F q -linear [ n , k , d ] q m code with parameters:
d = n k + 1 , Gab q ( n , k , m ) = q m k .
Its generator matrix appears explicitly as a Moore (or σ -Vandermonde) matrix:
G Gab = α 1 [ 0 ] α 2 [ 0 ] α n [ 0 ] α 1 [ 1 ] α 2 [ 1 ] α n [ 1 ] α 1 [ k 1 ] α 2 [ k 1 ] α n [ k 1 ] F q k × n .
Since G Gab satisfies Lemma 1, Gab q ( n , k , m ) attains the Singleton-like bound and is an MRD code.

4. Theoretical Framework

This section lays out the foundations for using PSO to construct MRD codes. We first summarise PSO and then formulate code construction as a combinatorial optimisation problem.

4.1. Particle Swarm Optimisation

Particle swarm optimisation (PSO) is a population-based metaheuristic inspired by the collective motion of biological swarms [7,8]. A swarm of S particles explores the search space; particle i keeps track of its position x i , velocity v i , personal best p i , and the global best g found so far.
The standard updates are
v i ( t + 1 ) = w v i ( t ) + c 1 r 1 , i ( t ) p i x i ( t ) + c 2 r 2 , i ( t ) g x i ( t ) ,
x i ( t + 1 ) = x i ( t ) + v i ( t + 1 ) ,
where r 1 , i ( t ) , r 2 , i ( t ) i . i . d . U ( 0 , 1 ) are independent scalars (or component-wise vectors) drawn anew each iteration, w is the inertia weight, and c 1 , c 2 are the cognitive and social acceleration coefficients.

4.2. Problem Formulation

Let [ n , k , d ] q m be the target parameters of an MRD vector code. We seek a generator matrix G F q k × n such that the F q -linear code C given by the generator-matrix form (2)-(3) attains minimum rank distance
d min ( C ) = min u F q k { 0 } rank F q Φ ( G u ) d ,
where Φ : F q m n F q m × n is the fixed F q -linear isomorphism that converts each length-n vector over the extension field into its m × n matrix representation [3]. The rank in (17) is therefore taken over F q on this unfolded matrix.
To search for such a G we vectorise every k × n matrix into a particle position in F q k × n . The PSO fitness function is the left-hand side of (17), so particles with larger minimum rank distance are rewarded, guiding the swarm toward matrices that realise MRD codes.

4.3. Objective Function

To guide PSO we require a fitness that rewards generator matrices whose codes meet the MRD criterion. By (8), a linear rank-metric code is MRD precisely when its minimum rank distance attains the Singleton-like bound. Consequently we maximise that minimum distance.
Let Φ : F q m n F q m × n be the fixed F q -linear isomorphism used in (17). For a candidate generator matrix G we define
F ( G ) = min u F q m k { 0 } rank F q Φ ( G u ) .
The optimisation goal is max F ( G ) subject to F ( G ) d . If this primary target is reached, secondary terms—such as larger generalised rank weights—may be added to the score to refine the search [17].

4.4. Search Space and Constraints

The search domain comprises all full-rank k × n matrices over F q . Constraint handling is enforced by i- a penalty on particles with F ( G ) < d and ii- a repair routine that restores full rank if a velocity update introduces dependence. Details are given in Section 5.

4.5. Representation and Initialisation

Each PSO particle encodes a generator matrix G (see (18)). Positions are initialised either purely at random or as low-rank perturbations of Gabidulin generators [8,15,16], ensuring broad coverage of the search space.

4.6. PSO Algorithm for MRD Code Construction

At every iteration the swarm updates velocities and positions via (15)–(16). After each move the fitness (18) is evaluated; personal and global bests are updated accordingly, steering the particles toward matrices that realise MRD codes.
This completes the theoretical basis. Section 5 turns the framework into a concrete PSO-guided construction algorithm.

5. Proposed PSO-Guided Construction Method

This section presents the proposed PSO-guided method for constructing MRD codes. The algorithm leverages PSO’s global search capabilities to explore the space of rank-metric codes effectively.

5.1. Initialisation

The swarm starts with N particles, each encoding a candidate generator matrix G ( j ) F q k × n (particle j = 1 , , N ). Two complementary strategies create a diverse yet feasible initial pool.
(i) Purely random sampling. For roughly half of the particles we draw each entry of G independently and uniformly from F q . Because rank-deficient matrices are unusable, we resample until rank F q ( G ) = k . A convenient implementation is:
  • Fix a normal basis { β , β [ q ] , , β [ q m 1 ] } of F q .
  • Generate a random k × n array over F q .
  • Map each m-tuple of F q -coefficients to the field element i = 0 m 1 a i β [ q i ] F q .
  • If the resulting matrix has full F q -rank, accept; otherwise repeat.
(ii) Perturbed Gabidulin seeds. The remaining particles are produced by adding a low-rank perturbation to a known Gabidulin generator matrix G Gab :
G ( j ) = G Gab + R ( j ) , rank F q R ( j ) r ,
where r k (typically r = 1 or 2). Perturbations are generated by sampling R ( j ) = a ( j ) b ( j ) with random a ( j ) F q k × 1 and b ( j ) F q n × 1 . This seeding injects useful structure while still encouraging exploration.
For every particle we assign a velocity matrix v ( j ) ( 0 ) F q k × n by the same uniform procedure as in Section 5.1-(i), ensuring that the initial momentum is uncorrelated with the starting position.
Together, these two sampling schemes give the swarm a wide coverage of the search space while guaranteeing that every particle begins with a valid full-rank generator matrix.

5.2. Fitness Evaluation

Each particle is scored with the objective in (18). A particle is feasible if its minimum rank distance satisfies F ( G ) d . Among feasible particles we break ties lexicographically:
  • maximise F ( G ) itself;
  • subject to (a), maximise the second–smallest rank (a proxy for the second generalised rank weight);
  • subject to (a)–(b), minimise the Hamming weight of the generator (promoting sparse descriptions).
The composite score is used both for personal–best and global–best updates, so the swarm is steered toward MRD codes and, secondarily, toward codes with stronger weight hierarchies.

5.3. Velocity and Position Update

Updates follow (15)–(16). Here x i ( t ) is the vectorised form of a generator matrix and v i ( t ) is a difference matrix of the same size.
Because additions in F q replace the usual Euclidean operations, the update x i ( t ) + v i ( t + 1 ) is interpreted as component-wise field addition. The random coefficients r 1 , i , r 2 , i modulate the probability that a given entry of v i is flipped; concretely, we draw r 1 , i , r 2 , i from U ( 0 , 1 ) and apply the corresponding term to each entry with that probability.
Matrix-level “velocity clamping’’ is enforced by limiting rank F q v i ( t ) r max , preventing excessively disruptive jumps.

5.4. Constraint Handling

Two complementary mechanisms keep the search inside the feasible region:
  • Penalty. If F ( G ) < d we subtract λ d F ( G ) from the fitness, with an adaptive penalty weight λ that grows once every ten iterations.
  • Repair. After every position update we test rank F q ( G ) . If rank < k we replace the shortest set of dependent rows with random full-rank rows, repeating until full rank is restored.
This hybrid strategy keeps the swarm from stagnating on invalid matrices while allowing an occasional escape into promising infeasible regions.

5.5. Termination Criteria

The algorithm stops when any of the following holds:
  • the iteration counter reaches T max ;
  • a particle achieves F ( G ) = d  and all secondary criteria (a)–(c) in the fitness hierarchy;
  • the global-best score has not improved for τ consecutive iterations, where τ 0.1 T max .
These criteria balance run-time control with a high probability of discovering an MRD generator matrix.

5.6. Algorithm Summary

The proposed algorithm can be summarized as follows:
Algorithm 1 PSO -Guided MRD Code Construction
1:
Initialize population of N particles (generator matrices).
2:
Evaluate fitness of each particle.
3:
while termination criteria not met do
4:
    for each particle do
5:
        Update velocity and position using PSO equations.
6:
        Evaluate fitness of the updated particle.
7:
        Update personal and global bests if improved.
8:
    end for
9:
end while
10:
Return the best-found generator matrix.
The Python implementation of this algorithm over finite fields, using the galois library [18], is available in the GitHub repository, which includes both the source code and documentation. The repository can be accessed at https://github.com/behnamde/pso_mrd [19].

6. Discussion

The proposed PSO-guided construction method offers a metaheuristic route to discovering maximum-rank-distance codes by exploiting the global-search capabilities of particle swarm optimisation (PSO). In contrast to purely algebraic methods—such as Gabidulin’s construction—that rely on explicit theoretical derivations, PSO provides a flexible, data-driven framework that can be applied even when no closed-form constructions are known.

6.1. Advantages of the PSO Approach

  • Generality: The algorithm is applicable to a broad range of MRD parameters, including regimes beyond classical Gabidulin families.
  • Scalability: Larger dimensions can be tackled by increasing the swarm size or by tuning the fitness-evaluation schedule.
  • Adaptability: Domain insight—e.g. seeding particles with Gabidulin-like structures—can be injected seamlessly to accelerate convergence.
  • Exploratory power: The population nature of PSO balances exploration and exploitation, a desirable trait for navigating highly irregular search landscapes.

6.2. Limitations and Challenges

  • Curse of dimensionality: The search space grows exponentially with the generator-matrix size, making convergence slower for large instances.
  • Expensive fitness: Computing the minimum rank distance for every particle is costly, especially when k or m is large.
  • No optimality guarantee: PSO finds high-quality—but not provably optimal—solutions; post-processing heuristics may be required.
  • Initialization sensitivity: Swarm quality depends heavily on the diversity and structure of the initial population.

6.3. Future Work

  • Hybrid heuristics: Combine PSO with algebraic insights or other metaheuristics (e.g., genetic algorithms) to improve robustness.
  • Richer fitness: Incorporate generalised rank weights or decoding complexity into the objective.
  • Parallelisation: Leverage GPUs and distributed architectures to accelerate particle updates and fitness checks.
  • Applications: Deploy the discovered codes in network coding, cryptography, and distributed storage to assess real-world gains.
  • Quantum computation: Investigate quantum-inspired PSO variants and explore how MRD codes can support quantum error-correction or other quantum-information tasks.

7. Conclusion

We have framed MRD-code construction as a combinatorial optimisation problem and introduced a PSO-based algorithm to explore the corresponding search space of generator matrices. By harnessing PSO’s balance of exploration and exploitation, our method can recover MRD codes in parameter regimes where traditional algebraic constructions are unavailable or unwieldy.
Although promising, the approach still faces scalability bottlenecks and relies on carefully crafted fitness functions. Ongoing work will integrate algebraic structure more deeply into the PSO update rules, refine constraint-handling strategies, and benchmark the resulting codes in practical settings.
Overall, this study shows that metaheuristic techniques such as PSO can complement algebraic theory and open new pathways for advancing rank-metric coding. Continued research along these lines is likely to yield further insights and expand the toolbox for modern coding-theory applications.

References

  1. Delsarte, P. Bilinear forms over a finite field, with applications to coding theory. Journal of Combinatorial Theory, Series A 1978, 25, 226–241. [CrossRef]
  2. Gabidulin, E.M. Theory of codes with maximum rank distance. Problems of Information Transmission 1985, 21, 1–12.
  3. Gabidulin, E.M. Rank Codes; TUM.University Press: Technical University of Munich, Arcisstrasse 21, 80333 Munich, 2021. Translated by Vladimir Sidorenko. Layout design, typesetting, and cover design by Vladimir Sidorenko and Caroline Ennemoser. [CrossRef]
  4. Sheekey, J. A new family of linear maximum rank distance codes. Advances in Mathematics of Communications 2016, 10, 475–488. [CrossRef]
  5. Bartoli, D.; Giulietti, M.; Marino, G.; Polverino, O. Maximum Scattered Linear Sets and Complete Caps in Galois Spaces. Combinatorica 2015, 38, 255–278. [CrossRef]
  6. Alfarano, G.N.; Neri, A.; Zullo, F. Maximum Flag-Rank Distance Codes. arXiv preprint arXiv:2303.16653 2023. [CrossRef]
  7. Kennedy, J.; Eberhart, R. Particle swarm optimization. In Proceedings of the Proceedings of ICNN’95-International Conference on Neural Networks. IEEE, 1995, Vol. 4, pp. 1942–1948. [CrossRef]
  8. van Zyl, J.P.; Engelbrecht, A.P. Set-Based Particle Swarm Optimisation: A Review. Mathematics 2023, 11, 2980. [CrossRef]
  9. Hamming, R.W. Error Detecting and Error Correcting Codes. The Bell System Technical Journal 1950, 29, 147–160. [CrossRef]
  10. Kshevetskiy, A.; Gabidulin, E. The new construction of rank codes. In Proceedings of the Proceedings. International Symposium on Information Theory, 2005. ISIT 2005., 2005, pp. 2105–2108. [CrossRef]
  11. Csajbók, B.; Marino, G.; Polverino, O.; Zullo, F. Maximum scattered linear sets and MRD-codes. Journal of Algebraic Combinatorics 2017, 46, 193–213. [CrossRef]
  12. Bartoli, D.; Csajbók, B.; Montanucci, M. On a conjecture about maximum scattered subspaces of F q6 × F q6. arXiv preprint 2021. [CrossRef]
  13. Sheekey, J. MRD Codes: Constructions and Connections. In Combinatorics and Finite Fields: Difference Sets, Polynomials, Pseudorandomness and Applications; Schmidt, K.U.; Winterhof, A., Eds.; Radon Series on Computational and Applied Mathematics, De Gruyter, 2019. [CrossRef]
  14. Csajbók, B.; Marino, G.; Polverino, O.; Zhou, Y. MRD codes with maximum idealizers. Discrete Mathematics 2020, 343, 111985. [CrossRef]
  15. Cuéllar, M.P.; Gómez-Torrecillas, J.; Lobillo, F.J.; Navarro, G. Genetic algorithms with permutation-based representation for computing the distance of linear codes. arXiv preprint 2020. [CrossRef]
  16. Azouaoui, A.; Belkasmi, M. Efficient Dual Domain Decoding of Linear Block Codes Using Genetic Algorithms. Journal of Electrical and Computer Engineering 2012. [CrossRef]
  17. Lunardon, G.; Trombetti, R.; Zhou, Y. Generalized twisted Gabidulin codes. Journal of Combinatorial Theory, Series A 2018, 159, 79–106. [CrossRef]
  18. Hostetter, M. Galois: A performant NumPy extension for Galois fields, 2020. GitHub repository containing implementation and documentation. Available at https://github.com/mhostetter/galois.
  19. Dehghani, B. PSO-Guided Construction of MRD Codes in Rank Metric, 2025. GitHub repository containing implementation and documentation. Available at https://github.com/behnamde/pso_mrd.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.
Copyright: This open access article is published under a Creative Commons CC BY 4.0 license, which permit the free download, distribution, and reuse, provided that the author and preprint are cited in any reuse.
Prerpints.org logo

Preprints.org is a free preprint server supported by MDPI in Basel, Switzerland.

Subscribe

Disclaimer

Terms of Use

Privacy Policy

Privacy Settings

© 2025 MDPI (Basel, Switzerland) unless otherwise stated