fix prime_factor_multiplicities to generate only one sieve
Pollard's rho method
fix prime_factor_multiplicities
eratosthenes sieve
Implement LU decomposition
Add tests for LU decomposition
Implement SymPy version of fraction_free_LU
Implement QR factorization
Merge branch 'master' into Matrix_Decompositions
Merge branch 'Fix_#204_print_error' into Matrix_Decompositions
Pollard's p-1 and fix Lehman's method
prime_factors method
remove whitespaces
Fix `mul` simplification
Added method construct in TrigFunction and inherited classes.

new cannot be used as a method name as it is a restricted keyword
so construct was used.
Refactor `construct` to `create`

create is shorter and expresses the same meaning. So create is a
better option.
Added `subs` in `TrigFunction`

Now all the `subs` in the inherited classes can be removed.
Removed `subs` from inherited TrigFuncion classes
Updated subs for Hyperbolic class. Refactored create definition.

Now the HyperbolicFunction also has a subs in the base class and
the create method has been added in the inherited classes.
The create method has been refactored to pass by reference as
opposed to pass by value in the earlier version.
Merge pull request #213 from sushant-hiray/new_method

Resolves #210. Merged #213