code: @Override
      public RealMatrix outerProduct(RealVector v) {
          final int m = this.getDimension();
          final int n = v.getDimension();
          final RealMatrix product;
          if(m > 1000000) { //use only in big values
              product = new MapRealMatrix(m, n);
          }
          else {
              product = new OpenMapRealMatrix(m, n);
          }
          for (int i = 0; i < m; i++) {
              for (int j = 0; j < n; j++) {
                  product.setEntry(i, j, this.getEntry(i) * v.getEntry(j));
              }
          }
          return product;
      }
docs: {@inheritDoc}