Phrases for two methods that are different but both can solve the same task?

I want to describe a type of pairs , that method1 and method2 have different implementations/settings, but both can be used to solve the same task.

My questions are:

  1. Is there any terms/phrases or succinct ways to describe such pairs of methods?
  2. How can I describe the relations of method1 and method2? Can I say "method1 is method2's counterpart/peer"?

Update: method1 and method2 are not necessarily of the same quality. Each method may have its own pros and cons. For example, method1 might be easier to implement but slower; method2 might be hard to implement but faster.


The word "alternative" would work here. It's pretty versatile, so it should cover your context. It can be used no matter the level of formality you want and can be used to describe a wide variety of things. Here are some examples:

  • We present two quicksort alternatives for cache optimizations which work well on both balanced and unbalanced data sets.
    Improving Memory Performance of Sorting Algorithms

  • Is ReactOS a viable Windows alternative? Taking the OS for a test drive

  • The preferred alternative to this method is orElseThrow().
    OptionalLong (Java SE 11 & JDK 11) - Oracle Docs

  • Our selection actually contains more than 20 libraries, as some of them are alternatives to each other and solve the same problem.
    Top 20 Python libraries for data science in 2018


I would say that method1 is method2's equivalent:

A person or thing that is equal to or corresponds with another in value, amount, function, meaning, etc.

https://en.oxforddictionaries.com/definition/equivalent


The term "functionally equivalent" springs to mind.

e.g. The methods are functionally equivalent. or A Functional equivalence exists between method1 and method2.


It seems to me that what is salient isn't a property of a method (viz that it can solve a task that another method can solve), but rather a property of a task (that there are two methods that solve it). There's the phrase "there's more than one way to skin a cat".


There's more than one way to skin a cat.

I think this is more appropriate as it more explicitly relates to processes for achieving something instead of a more abstract comparison.

Definition:

There are many methods one may employ in achieving one's ends.

Used like so:

We can go with method A if you like but there is more than one way to skin a cat.