JuliaManifolds / Manifolds.jl

Manifolds.jl provides a library of manifolds aiming for an easy-to-use and fast implementation.
https://juliamanifolds.github.io/Manifolds.jl
MIT License
367 stars 52 forks source link

typos #727

Closed spaette closed 2 months ago

spaette commented 2 months ago

What might be a definition of authomorphism?

$ grep -nr authomorphism Manifolds.jl
Manifolds.jl/src/groups/group.jl:434:It is defined as the differential of the group authomorphism ``Ψ_p(q) = pqp⁻¹`` at
$ grep -nr automorphism Manifolds.jl
Manifolds.jl/src/manifolds/StiefelEuclideanMetric.jl:56:Since ``[p\ p_⊥]`` is an automorphism on ``ℝ^{n×p}`` the elements of ``a`` and ``b`` are
Manifolds.jl/src/groups/semidirect_product_group.jl:5:`opN` on a normal subgroup `N`, the operation `opH` on a subgroup `H`, and an automorphism
Manifolds.jl/src/groups/semidirect_product_group.jl:24:``θ: \mathcal{H} × \mathcal{N} → \mathcal{N}`` is an automorphism action of ``\mathcal{H}`` on
$ 

Are repo use of homeomorphism (topological similarity), homomorphism (algebraic similarity) and homomorphic correct?

$ grep -nr homeomorphism Manifolds.jl
Manifolds.jl/docs/src/features/atlases.md:3:Atlases on an ``n``-dimensional manifold ``mathcal M``are collections of charts ``\mathcal A = \{(U_i, φ_i) \colon i \in I\}``, where ``I`` is a (finite or infinte) index family, such that ``U_i \subseteq \mathcal M`` is an open set and each chart ``φ_i: U_i → ℝ^n`` is a homeomorphism. This means, that ``φ_i`` is bijective – sometimes also called one-to-one and onto - and continuous, and its inverse ``φ_i^{-1}`` is continuous as well.
$ grep -nr homomorphism Manifolds.jl
Manifolds.jl/src/groups/special_euclidean.jl:182:It is an isometric embedding and group homomorphism [RicoMartinez:1988](@cite).
$ grep -nr homomorphic Manifolds.jl
Manifolds.jl/src/groups/special_euclidean.jl:293:a homomorphic embedding (see [`SpecialEuclideanInGeneralLinear`](@ref) for a homomorphic one).
Manifolds.jl/src/groups/special_euclidean.jl:650:An explicit isometric and homomorphic embedding of ``\mathrm{SE}(n)`` in ``\mathrm{GL}(n+1)``
$ 

Should these be fixed?

$ grep -nr Hyperboloic Manifolds.jl
Manifolds.jl/accuracy/Hyperboloid.qmd:15:In this small note we compare different implementations of several functions on the [Hyperboloic]().
$ grep -nr Manonifolds Manifolds.jl
Manifolds.jl/_quarto.yml:3:  title: "Manonifolds.jl"
$ grep -nr Socienty Manifolds.jl
Manifolds.jl/docs/src/references.bib:146:    PUBLISHER = {American Mathematical Socienty},
$ grep -nr softawre Manifolds.jl
Manifolds.jl/CITATION.bib:10:@softawre{manifoldsjl-zenodo-mostrecent,
$ 

Are any of the following not slated to be fixed?

Deprecate Expected Exponential Hamiltonian allowed appears applied approximately arguments arguments between common consisting constructor coordinates corresponding corresponding definitions deprecate determined direction division emanating equality exponential exists focus following hyperbolic identity identity infinite logarithmic magnitudes manifold multiplication parallel performance principal product project projection proper product representation representation representation representation represented respectively retraction section strictly triangular truncated valued vectors which yourself

$ grep -nr Depreacte Manifolds.jl
Manifolds.jl/test/test_deprecated.jl:7:    @testset "Depreacte extrinsic_method= keyword" begin
$ grep -nr Excpected Manifolds.jl
Manifolds.jl/src/manifolds/StiefelEuclideanMetric.jl:83:        "Coordinate vector too short. Excpected $(length(V)), but only got $(length(c)) entries.",
$ grep -nr Expnential Manifolds.jl
Manifolds.jl/test/manifolds/symplecticgrassmann.jl:63:    @testset "Expnential and Retractions" begin
$ grep -nr Hamilonian Manifolds.jl
Manifolds.jl/src/manifolds/Hamiltonian.jl:81:    ^(A::Hamilonian, ::typeof(+))
$ grep -nr alowed Manifolds.jl
Manifolds.jl/tutorials/getstarted.qmd:122:If we only have a point that is approximately on the manifold, we can allow for a tolerance. Usually these are the same values of `atol` and `rtol` alowed in `isapprox`,
$ grep -nr apears Manifolds.jl
Manifolds.jl/src/groups/group.jl:226:# To ensure allocate_result_type works in general if idenitty apears in the tuple
$ grep -nr appliead Manifolds.jl
Manifolds.jl/src/manifolds/Unitary.jl:186:and that means the inverse has to be appliead to the (Euclidean) Hessian
Manifolds.jl/src/manifolds/Rotations.jl:417:and that means the inverse has to be appliead to the (Euclidean) Hessian
$ grep -nr apprximately Manifolds.jl
Manifolds.jl/src/manifolds/EmbeddedTorus.jl:37:is apprximately equal to ``4R^2(p_1^2 + p_2^2)``.
$ grep -nr arguemnts Manifolds.jl
Manifolds.jl/ext/ManifoldsTestExt/tests_general.jl:849:are sub-tests that can be activated by the keywords arguemnts
$ grep -nr asrguments Manifolds.jl
Manifolds.jl/tutorials/getstarted.qmd:131:This function has two positional asrguments, the first to again indicate whether to throw an error, the second to disable the check that `p` is a valid point on the manifold. Usually this validity is essential for the tangent check, but if it was for example performed before, it can be turned off to spare time.
$ grep -nr betweeen Manifolds.jl
Manifolds.jl/src/manifolds/Sphere.jl:161:Compute the geodesic distance betweeen `p` and `q` on the [`AbstractSphere`](@ref) `M`.
$ grep -nr commopn Manifolds.jl
Manifolds.jl/src/Manifolds.jl:499:# generic group - commopn (special) unitary/orthogonal functions
$ grep -nr consistting Manifolds.jl
Manifolds.jl/tutorials/working-in-charts.jl:37:The atlas we will perform computations in is its [`DefaultTorusAtlas`](https://juliamanifolds.github.io/Manifolds.jl/latest/manifolds/torus.html#Manifolds.DefaultTorusAtlas) `A`, consistting of a family of charts indexed by two angles, that specify the base point of the chart.
Manifolds.jl/tutorials/working-in-charts.qmd:32:The atlas we will perform computations in is its [`DefaultTorusAtlas`](https://juliamanifolds.github.io/Manifolds.jl/latest/manifolds/torus.html#Manifolds.DefaultTorusAtlas) `A`, consistting of a family of charts indexed by two angles, that specify the base point of the chart.
$ grep -nr construtor Manifolds.jl
Manifolds.jl/tutorials/getstarted.qmd:217:Another construtor is the ``[ProductManifold](@ref ProductManifoldSection)``{=commonmark} to combine different manifolds.
$ grep -nr cooordinates Manifolds.jl
Manifolds.jl/src/groups/group.jl:1248:Reconstruct a tangent vector from the Lie algebra of `G` from cooordinates `a` of a basis `B`.
$ grep -nr correcponding Manifolds.jl
Manifolds.jl/accuracy/Hyperboloid.qmd:32:We choose a “base point”, a direction and create tangent vectors and correcponding points in several magnutudes of distances
$ grep -nr corrsponding Manifolds.jl
Manifolds.jl/src/manifolds/SymplecticGrassmann.jl:117:# Representer specific implementations in their corrsponding subfiles
$ grep -nr definitons Manifolds.jl
Manifolds.jl/src/Manifolds.jl:160:    vector_transport_along_project!,  # overwritten with new definitons.
$ grep -nr depcreatce Manifolds.jl
Manifolds.jl/test/test_deprecated.jl:13:        # Statistics 414-418, depcreatce former extrinsic_method keyword
Manifolds.jl/test/test_deprecated.jl:23:        # Statistics 692-696, depcreatce former extrinsic_method keyword
$ grep -nr deretmined Manifolds.jl
Manifolds.jl/docs/src/misc/notation.md:62:| ``\mathcal T_{p,Y}X`` | vector transport in direction ``Y`` | | of the vector ``X`` from ``T_p\mathcal M`` to ``T_q\mathcal M``, where ``q`` is deretmined by ``Y``, for example using the exponential map or some retraction. |
$ grep -nr diretion Manifolds.jl
Manifolds.jl/ext/ManifoldsTestExt/tests_general.jl:844:    test_parallel_transport(M,P; along=false, to=true, diretion=true)
$ grep -nr divsion Manifolds.jl
Manifolds.jl/src/manifolds/ProbabilitySimplex.jl:71:The first part “compensates” for the divsion by ``p`` in the Riemannian metric on the [`ProbabilitySimplex`](@ref)
$ grep -nr eminating Manifolds.jl
Manifolds.jl/src/manifolds/Sphere.jl:185:`M` by following the great arc eminating from `p` in direction `X`.
$ grep -nr equiality Manifolds.jl
Manifolds.jl/tutorials/getstarted.qmd:104:Keyword arguments are passed on to any numerical checks, for example an absolute tolerance when checking the above equiality.
$ grep -nr expponential Manifolds.jl
Manifolds.jl/tutorials/getstarted.qmd:277:The function itself is quite similar to the expponential map, just that ``[🔗 `retract(M, p, X, m)`](@extref `ManifoldsBase.retract`)``{=commonmark} has one further parameter, the type of retraction to take, so `m` is a subtype of ``[🔗 `AbstractRetractionMethod`](@extref `ManifoldsBase.AbstractRetractionMethod`)``{=commoonmark} `m`, the same for the ``[🔗 `inverse_retract(M, p, q, n)`](@extref `ManifoldsBase.inverse_retract`)``{=commonmark} with an ``[`AbstractInverseRetractionMethod`](@extref `ManifoldsBase.AbstractInverseRetractionMethod`)``{=commonmark} `n`.
$ grep -nr exsists Manifolds.jl
Manifolds.jl/src/groups/group.jl:706:    return throw(ErrorException("On $M there exsists no identity $e"))
Manifolds.jl/src/groups/group.jl:709:    return throw(ErrorException("On $M there exsists no identity $e"))
Manifolds.jl/src/groups/group.jl:748:    return throw(ErrorException("On $M there exsists no identity $e"))
Manifolds.jl/src/groups/group.jl:751:    return throw(ErrorException("On $M there exsists no identity $e"))
$ grep -nr focsus Manifolds.jl
Manifolds.jl/tutorials/working-in-charts.jl:31:In this tutorial we focsus on chart-based computation.
$ grep -nr folloing Manifolds.jl
Manifolds.jl/src/manifolds/Stiefel.jl:160:This follows the folloing approach: From the Polar retraction we know that
$ grep -nr hyperpolic Manifolds.jl
Manifolds.jl/tutorials/getstarted.qmd:71:#### 2. ``[The hyperpolic space](@ref HyperbolicSpace)``{=commonmark}
$ grep -nr idenitty Manifolds.jl
Manifolds.jl/src/groups/group.jl:226:# To ensure allocate_result_type works in general if idenitty apears in the tuple
$ grep -nr identiy Manifolds.jl
Manifolds.jl/src/manifolds/Hyperrectangle.jl:324:the parallel transport on [`Hyperrectangle`](@ref) is the identiy, i.e. returns `X`.
Manifolds.jl/src/manifolds/Hyperrectangle.jl:332:the parallel transport on [`Hyperrectangle`](@ref) is the identiy, i.e. returns `X`.
Manifolds.jl/src/manifolds/Euclidean.jl:662:the parallel transport on [`Euclidean`](@ref) is the identiy, i.e. returns `X`.
Manifolds.jl/src/manifolds/Euclidean.jl:670:the parallel transport on [`Euclidean`](@ref) is the identiy, i.e. returns `X`.
Manifolds.jl/src/manifolds/Euclidean.jl:678:the parallel transport on [`Euclidean`](@ref) is the identiy, i.e. returns `X`.
$ grep -nr infinte Manifolds.jl
Manifolds.jl/docs/src/features/atlases.md:3:Atlases on an ``n``-dimensional manifold ``mathcal M``are collections of charts ``\mathcal A = \{(U_i, φ_i) \colon i \in I\}``, where ``I`` is a (finite or infinte) index family, such that ``U_i \subseteq \mathcal M`` is an open set and each chart ``φ_i: U_i → ℝ^n`` is a homeomorphism. This means, that ``φ_i`` is bijective – sometimes also called one-to-one and onto - and continuous, and its inverse ``φ_i^{-1}`` is continuous as well.
$ grep -nr logarihmic Manifolds.jl
Manifolds.jl/src/manifolds/Hyperbolic.jl:291:the [`Lorentz`](@ref)ian manifold. For ``p=q`` the logarihmic map is equal to the zero vector.
$ grep -nr magnutudes Manifolds.jl
Manifolds.jl/accuracy/Hyperboloid.qmd:32:We choose a “base point”, a direction and create tangent vectors and correcponding points in several magnutudes of distances
$ grep -nr manfiold Manifolds.jl
Manifolds.jl/tutorials/getstarted.qmd:426:Again, for all of these, the concrete types only have to be used if you want to do a second, different from the details, property, for example a second way to embed a manfiold. If a manifold is (in its usual representation) an embedded manifold, this works with the default manifold type already, since then it is again set as the reasonable default.
$ grep -nr multiplcation Manifolds.jl
Manifolds.jl/src/groups/general_unitary_groups.jl:4:A generic type for Lie groups based on a unitary property and matrix multiplcation,
$ grep -nr paralllel Manifolds.jl
Manifolds.jl/src/manifolds/Hyperbolic.jl:371:Compute the paralllel transport of the `X` from the tangent space at `p` on the
$ grep -nr performace Manifolds.jl
Manifolds.jl/tutorials/getstarted.qmd:318:Memory allocation is a [🔗 critical performace issue](https://docs.julialang.org/en/v1/manual/performance-tips/#Measure-performance-with-[@time](@ref)-and-pay-attention-to-memory-allocation) when programming in Julia. To take this into account, `Manifolds.jl` provides special functions to reduce the amount of allocations.
$ grep -nr pricipal Manifolds.jl
Manifolds.jl/tutorials/hand-gestures.qmd:88:The next plot shows how projections on the first two pricipal components look like.
$ grep -nr prodct Manifolds.jl
Manifolds.jl/src/groups/product_group.jl:68:    M = G.manifold # Inner prodct manifold (of groups)
$ grep -nr "projct " Manifolds.jl
Manifolds.jl/src/manifolds/MultinomialDoublyStochastic.jl:192:Note that this projct method – different from the usual case, accepts keywords.
$ grep -nr projction Manifolds.jl
Manifolds.jl/src/manifolds/HyperbolicPoincareBall.jl:306:projction of tangent vectors in the Poincaré ball model is just the identity, since
Manifolds.jl/src/manifolds/HyperbolicPoincareHalfspace.jl:256:projction of tangent vectors in the Poincaré half space model is just the identity, since
$ grep -nr propoer Manifolds.jl
Manifolds.jl/src/manifolds/SymplecticGrassmannProjector.jl:5:``\operatorname{SpGr}(2n, 2k)``, that is a propoer symplectic projection:
$ grep -nr prudct Manifolds.jl
Manifolds.jl/src/manifolds/GeneralizedGrassmann.jl:102:a `n`-by-`k` matrix of unitary column vectors with respect to the B inner prudct and
$ grep -nr repersentation Manifolds.jl
Manifolds.jl/ext/ManifoldsTestExt/tests_general.jl:66:- `test_representation_size = true` : test repersentation size of points/tvectprs.
$ grep -nr repesentation Manifolds.jl
Manifolds.jl/src/manifolds/Hyperbolic.jl:55:This representation is the default, i.e. `AbstractVector`s are assumed to have this repesentation.
Manifolds.jl/src/manifolds/Hyperbolic.jl:68:This representation is the default, i.e. vectors are assumed to have this repesentation.
Manifolds.jl/src/manifolds/SymplecticGrassmann.jl:41:The first repesentation is in [`StiefelPoint`](@ref)s and [`StiefelTVector`](@ref)s,
$ grep -nr represenation Manifolds.jl
Manifolds.jl/src/manifolds/GeneralizedGrassmann.jl:362:Return the represenation size or matrix dimension of a point on the [`GeneralizedGrassmann`](@ref)
Manifolds.jl/src/manifolds/GrassmannProjector.jl:119:Return the represenation size or matrix dimension of a point on the [`Grassmann`](@ref)
$ grep -nr reprsentation Manifolds.jl
Manifolds.jl/src/manifolds/Elliptope.jl:59:checks, whether `q` is a valid reprsentation of a point ``p=qq^{\mathrm{T}}`` on the
Manifolds.jl/src/manifolds/Spectrahedron.jl:59:checks, whether `q` is a valid reprsentation of a point ``p=qq^{\mathrm{T}}`` on the
$ grep -nr reprsented Manifolds.jl
Manifolds.jl/src/manifolds/Circle.jl:357:the [`Circle`](@ref) ``𝕊^1``, reprsented by real numbers, i.e. the angular mean
Manifolds.jl/src/manifolds/Circle.jl:378:the [`Circle`](@ref) ``𝕊^1``, reprsented by complex numbers, i.e. embedded in the complex plane.
$ grep -nr respectiely Manifolds.jl
Manifolds.jl/src/manifolds/Hyperbolic.jl:27:Other models are the Poincaré ball model, see [`PoincareBallPoint`](@ref) and [`PoincareBallTVector`](@ref), respectiely
$ grep -nr retration Manifolds.jl
Manifolds.jl/src/manifolds/Symplectic.jl:561:Then inverse cayley retration at ``p`` applied to ``q`` is
$ grep -nr seciton Manifolds.jl
Manifolds.jl/docs/src/manifolds/symmetricpositivedefinite.md:32:This metric is also the default metric, i.e. any call of the following functions with `P=SymmetricPositiveDefinite(3)` will result in `MetricManifold(P,AffineInvariantMetric())`and hence yield the formulae described in this seciton.
$ grep -nr stricly Manifolds.jl
Manifolds.jl/src/manifolds/Hyperbolic.jl:151:For the [`PoincareBallPoint`](@ref) a valid point is a vector ``p ∈ ℝ^n`` with a norm stricly
$ grep -nr trangular Manifolds.jl
Manifolds.jl/src/manifolds/StiefelEuclideanMetric.jl:58:trangular entries of ``a`` is set to ``1`` its symmetric entry to ``-1`` and we normalize with
$ grep -nr tuncated Manifolds.jl
Manifolds.jl/src/manifolds/Tucker.jl:677:the result is the sequentially tuncated HOSVD approximation of ``p + X``.
$ grep -nr valud Manifolds.jl
Manifolds.jl/src/manifolds/Circle.jl:513:For the complex-valud case, the formula is the same as for the [`Sphere`](@ref)`(1)` in the
$ grep -nr vetors Manifolds.jl
Manifolds.jl/src/manifolds/SymmetricPositiveDefinite.jl:163:and a symmetric matrix, i.e. this stores tangent vetors as elements of the corresponding
$ grep -nr "whic " Manifolds.jl
Manifolds.jl/src/manifolds/MultinomialDoublyStochastic.jl:20:return the representation size of doubly stochastic matrices, whic are embedded
$ grep -nr youself Manifolds.jl
Manifolds.jl/tutorials/getstarted.qmd:159:To learn about how to define a manifold youself check out the ``[🔗 How to define your own manifold](@extref ManifoldsBase :doc:`tutorials/implement-a-manifold`)``{=commonmark} tutorial of ``[🔗 `ManifoldsBase.jl`](@extref ManifoldsBase :doc:`index`)``{=commonmark}."
$ 
kellertuer commented 2 months ago

Thanks for reporting all these, could you maybe turn these into a PR?

Sometimes we might miss them especially when (just) reading them on PRs and not in my editor with spellchecker. In the long run, I already experimented with vale.sh over at Manopt.jl and plan to establish that here as well to avoid these typos.

spaette commented 2 months ago

It was my intention to submit a PR.

mateuszbaran commented 2 months ago

Thanks for looking for typos!

What might be a definition of authomorphism?

It's a typo, it should be automorphism.

Are repo use of homeomorphism (topological similarity), homomorphism (algebraic similarity) and homomorphic correct?

They look correct to me.

$ grep -nr Hyperboloic Manifolds.jl Manifolds.jl/accuracy/Hyperboloid.qmd:15:In this small note we compare different implementations of several functions > on the [Hyperboloic](). $ grep -nr Manonifolds Manifolds.jl Manifolds.jl/_quarto.yml:3: title: "Manonifolds.jl" $ grep -nr Socienty Manifolds.jl Manifolds.jl/docs/src/references.bib:146: PUBLISHER = {American Mathematical Socienty}, $ grep -nr softawre Manifolds.jl Manifolds.jl/CITATION.bib:10:@softawre{manifoldsjl-zenodo-mostrecent,

Yes, they all should be fixed (respectively: "Hyperbolic", "Manifolds.jl", "Society" and "software".

Are any of the following not slated to be fixed?

All of these should be fixed as you suggested.

spaette commented 2 months ago

the shell script used to effectuate the changes

$ cat typos.sh
#!/bin/sh

sed -i "s/Copute/Compute/g" Manifolds.jl/src/manifolds/MetricManifold.jl
sed -i "s/Depreacte/Deprecate/g" Manifolds.jl/test/test_deprecated.jl
sed -i "s/Excpected/Expected/g" Manifolds.jl/src/manifolds/StiefelEuclideanMetric.jl
sed -i "s/Expnential/Exponential/g" Manifolds.jl/test/manifolds/symplecticgrassmann.jl
sed -i "s/Hamilonian/Hamiltonian/g" Manifolds.jl/src/manifolds/Hamiltonian.jl
sed -i "s/Hyperboloic/Hyperbolic/g" Manifolds.jl/accuracy/Hyperboloid.qmd
sed -i "s/Manonifolds/Manifolds/g" Manifolds.jl/_quarto.yml
sed -i "s/Socienty/Society/g" Manifolds.jl/docs/src/references.bib
sed -i "s/alowed/allowed/g" Manifolds.jl/tutorials/getstarted.qmd
sed -i "s/apears/appears/g" Manifolds.jl/src/groups/group.jl
sed -i "s/appliead/applied/g" Manifolds.jl/src/manifolds/Unitary.jl
sed -i "s/appliead/applied/g" Manifolds.jl/src/manifolds/Rotations.jl
sed -i "s/apprximately/approximately/g" Manifolds.jl/src/manifolds/EmbeddedTorus.jl
sed -i "s/arguemnts/arguments/g" Manifolds.jl/ext/ManifoldsTestExt/tests_general.jl
sed -i "s/asrguments/arguments/g" Manifolds.jl/tutorials/getstarted.qmd
sed -i "s/authomorphism/automorphism/g" Manifolds.jl/src/groups/group.jl
sed -i "s/betweeen/between/g" Manifolds.jl/src/manifolds/Sphere.jl
sed -i "s/commopn/common/g" Manifolds.jl/src/Manifolds.jl
sed -i "s/consistting/consisting/g" Manifolds.jl/tutorials/working-in-charts.jl
sed -i "s/consistting/consisting/g" Manifolds.jl/tutorials/working-in-charts.qmd
sed -i "s/construtor/constructor/g" Manifolds.jl/tutorials/getstarted.qmd
sed -i "s/cooordinates/coordinates/g" Manifolds.jl/src/groups/group.jl
sed -i "s/correcponding/corresponding/g" Manifolds.jl/accuracy/Hyperboloid.qmd
sed -i "s/corrsponding/corresponding/g" Manifolds.jl/src/manifolds/SymplecticGrassmann.jl
sed -i "s/definitons/definitions/g" Manifolds.jl/src/Manifolds.jl
sed -i "s/depcreatce/deprecate/g" Manifolds.jl/test/test_deprecated.jl
sed -i "s/deretmined/determined/g" Manifolds.jl/docs/src/misc/notation.md
sed -i "s/diretion/direction/g" Manifolds.jl/ext/ManifoldsTestExt/tests_general.jl
sed -i "s/divsion/division/g" Manifolds.jl/src/manifolds/ProbabilitySimplex.jl
sed -i "s/eminating/emanating/g" Manifolds.jl/src/manifolds/Sphere.jl
sed -i "s/equiality/equality/g" Manifolds.jl/tutorials/getstarted.qmd
sed -i "s/expponential/exponential/g" Manifolds.jl/tutorials/getstarted.qmd
sed -i "s/exsists/exists/g" Manifolds.jl/src/groups/group.jl
sed -i "s/focsus/focus/g" Manifolds.jl/tutorials/working-in-charts.jl
sed -i "s/folloing/following/g" Manifolds.jl/src/manifolds/Stiefel.jl
sed -i "s/hyperpolic/hyperbolic/g" Manifolds.jl/tutorials/getstarted.qmd
sed -i "s/idenitty/identity/g" Manifolds.jl/src/groups/group.jl
sed -i "s/identiy/identity/g" Manifolds.jl/src/manifolds/Hyperrectangle.jl
sed -i "s/identiy/identity/g" Manifolds.jl/src/manifolds/Euclidean.jl
sed -i "s/infinte/infinite/g" Manifolds.jl/docs/src/features/atlases.md
sed -i "s/logarihmic/logarithmic/g" Manifolds.jl/src/manifolds/Hyperbolic.jl
sed -i "s/magnutudes/magnitudes/g" Manifolds.jl/accuracy/Hyperboloid.qmd
sed -i "s/manfiold/manifold/g" Manifolds.jl/tutorials/getstarted.qmd
sed -i "s/multiplcation/multiplication/g" Manifolds.jl/src/groups/general_unitary_groups.jl
sed -i "s/paralllel/parallel/g" Manifolds.jl/src/manifolds/Hyperbolic.jl
sed -i "s/performace/performance/g" Manifolds.jl/tutorials/getstarted.qmd
sed -i "s/pricipal/principal/g" Manifolds.jl/tutorials/hand-gestures.qmd
sed -i "s/prodct/product/g" Manifolds.jl/src/groups/product_group.jl
sed -i "s/projct/project/g" Manifolds.jl/src/manifolds/MultinomialDoublyStochastic.jl
sed -i "s/projction/projection/g" Manifolds.jl/src/manifolds/HyperbolicPoincareBall.jl
sed -i "s/projction/projection/g" Manifolds.jl/src/manifolds/HyperbolicPoincareHalfspace.jl
sed -i "s/propoer/proper/g" Manifolds.jl/src/manifolds/SymplecticGrassmannProjector.jl
sed -i "s/prudct/product/g" Manifolds.jl/src/manifolds/GeneralizedGrassmann.jl
sed -i "s/repersentation/representation/g" Manifolds.jl/ext/ManifoldsTestExt/tests_general.jl
sed -i "s/repesentation/representation/g" Manifolds.jl/src/manifolds/Hyperbolic.jl
sed -i "s/repesentation/representation/g" Manifolds.jl/src/manifolds/SymplecticGrassmann.jl
sed -i "s/represenation/representation/g" Manifolds.jl/src/manifolds/GeneralizedGrassmann.jl
sed -i "s/repesentation/representation/g" Manifolds.jl/src/manifolds/GrassmannProjector.jl
sed -i "s/reprsentation/representation/g" Manifolds.jl/src/manifolds/Elliptope.jl
sed -i "s/reprsentation/representation/g" Manifolds.jl/src/manifolds/Spectrahedron.jl
sed -i "s/reprsented/represented/g" Manifolds.jl/src/manifolds/Circle.jl
sed -i "s/respectiely/respectively/g" Manifolds.jl/src/manifolds/Hyperbolic.jl
sed -i "s/retration/retraction/g" Manifolds.jl/src/manifolds/Symplectic.jl
sed -i "s/seciton/section/g" Manifolds.jl/docs/src/manifolds/symmetricpositivedefinite.md
sed -i "s/softawre/software/g" Manifolds.jl/CITATION.bib
sed -i "s/stricly/strictly/g" Manifolds.jl/src/manifolds/Hyperbolic.jl
sed -i "s/trangular/triangular/g" Manifolds.jl/src/manifolds/StiefelEuclideanMetric.jl
sed -i "s/tuncated/truncated/g" Manifolds.jl/src/manifolds/Tucker.jl
sed -i "s/valud/valued/g" Manifolds.jl/src/manifolds/Circle.jl
sed -i "s/vetors/vectors/g" Manifolds.jl/src/manifolds/SymmetricPositiveDefinite.jl
sed -i "s/whic /which /g" Manifolds.jl/src/manifolds/MultinomialDoublyStochastic.jl
sed -i "s/youself/yourself/g" Manifolds.jl/tutorials/getstarted.qmd
$