public static function create($b, $q, $n = 1)
  {
    if($n == 1)
      return new static($b, $q);

    static::ensureValid($n, "Amount of elements must be an integer number bigger than zero.");

    return new static($b * (1 - $q) / (1 - pow($q, $n)), $q);
  }
public static function create($b, $q, $n = 1)
  {
    if($n == 1)
      return new static($b, $q);

    static::ensureValid($n, "Amount of elements must be an integer number bigger than zero.");

    return new static($b * (1 - $q) / (1 - pow($q, $n)), $q);
  }
public static function create ( $ b , $ q , $ n = 1 ) { if ( $ n == 1 ) return new static ( $ b , $ q ) ; static :: ensureValid ( $ n , "Amount of elements must be an integer number bigger than zero." ) ; return new static ( $ b * ( 1 - $ q ) / ( 1 - pow ( $ q , $ n ) ) , $ q ) ; }
Create new geometric sequence...

[1] create($b, $q)
- from base and multiplier;
[2] create($sum, $q, $n)
- from sum, multiplier and number of elements.
Create new geometric sequence ...