At the moment, we offer the possibility of configuring all algorithms using lower-case symbols (e.g :halfinfinite, :linsolver, :gmres...). However, since MatrixAlgebraKit allows using symbols for algorithm specification, it makes sense to just reuse their symbols without introducing new ones (implemented in #364). The MatrixAlgebraKit algorithm symbols exactly match the algorithm struct names, including capitalization. The downside is that we'll now have a mixture of different capitalizations in our symbol conventions, which can make things (more) confusing.
One solution would be to adopt the MatrixAlgebraKit convention here, and just use symbols that are exactly the algorithm struct names where possible. This makes all the more sense for symbols indicating algorithms defined outside of PEPSKit (e.g. :gmres which specifies KrylovKit.GMRES, we could avoid introducing a new symbol by just using :GMRES instead`.
The question is then if we should also capitalize the symbols linked to internal PEPSKit algorithms. We probably don't want to use the full :HalfInfiniteProjector, but we could switch to :HalfInfinite. I think this is only worth it if it would be less confusing for users. If none of the capitalized symbols actually match the algorithm struct names, then it's probably not worth to change them.
At the moment, we offer the possibility of configuring all algorithms using lower-case symbols (e.g
:halfinfinite,:linsolver,:gmres...). However, since MatrixAlgebraKit allows using symbols for algorithm specification, it makes sense to just reuse their symbols without introducing new ones (implemented in #364). The MatrixAlgebraKit algorithm symbols exactly match the algorithm struct names, including capitalization. The downside is that we'll now have a mixture of different capitalizations in our symbol conventions, which can make things (more) confusing.One solution would be to adopt the MatrixAlgebraKit convention here, and just use symbols that are exactly the algorithm struct names where possible. This makes all the more sense for symbols indicating algorithms defined outside of PEPSKit (e.g.
:gmreswhich specifiesKrylovKit.GMRES, we could avoid introducing a new symbol by just using:GMRESinstead`.The question is then if we should also capitalize the symbols linked to internal PEPSKit algorithms. We probably don't want to use the full
:HalfInfiniteProjector, but we could switch to:HalfInfinite. I think this is only worth it if it would be less confusing for users. If none of the capitalized symbols actually match the algorithm struct names, then it's probably not worth to change them.