This class represents the reshaping of an expression. The operator vectorizes the expression, then unvectorizes it into the new dimensions. Entries are stored in column-major order.

```
Reshape(expr, new_dim)
# S4 method for Reshape
to_numeric(object, values)
# S4 method for Reshape
validate_args(object)
# S4 method for Reshape
dim_from_args(object)
# S4 method for Reshape
is_atom_log_log_convex(object)
# S4 method for Reshape
is_atom_log_log_concave(object)
# S4 method for Reshape
get_data(object)
# S4 method for Reshape
graph_implementation(object, arg_objs, dim, data = NA_real_)
```

- expr
An Expression or numeric matrix.

- new_dim
The new dimensions.

- object
A Reshape object.

- values
A list of arguments to the atom.

- arg_objs
A list of linear expressions for each argument.

- dim
A vector representing the dimensions of the resulting expression.

- data
A list of additional data required by the atom.

`to_numeric(Reshape)`

: Reshape the value into the specified dimensions.`validate_args(Reshape)`

: Check the new shape has the same number of entries as the old.`dim_from_args(Reshape)`

: The`c(rows, cols)`

dimensions of the new expression.`is_atom_log_log_convex(Reshape)`

: Is the atom log-log convex?`is_atom_log_log_concave(Reshape)`

: Is the atom log-log concave?`get_data(Reshape)`

: Returns a list containing the new shape.`graph_implementation(Reshape)`

: The graph implementation of the atom.

`expr`

An Expression or numeric matrix.

`new_dim`

The new dimensions.