issquare check if a variable is a square matrix

## Syntax

    t=issquare(x)

## Arguments

x

  scalar, vector, matrix, hypermatrix, list, array of structures or cells

t

  a boolean

## Description

`issquare(`x`)` returns true if `x` is a square matrix (all dimensions of `x` are the same, with eventually singletons if `x` is an hypermatrix).

`issquare([])` returns `%F` (false).

`issquare(eye())` returns `%T` (true).

## Examples

    issquare(ones(10,10))
    issquare(1)
    issquare(["s" "t"; "t" "s"])
    issquare(rand(2,1,2))
    issquare(rand(2,2,3))
    s = struct();
    issquare(s) // Empty structure
    clear s
    s.a = %z;
    s.b = 2;
    issquare(s); // Scalar structure
    clear s
    s(1,2).a = 3;
    s(1,3).b = %z;
    issquare(s) // Row array of structures
    clear s
    s(2,1).a = "w";
    s(3,1).b = %t;
    issquare(s) // Column array of structures
    clear s
    s(1,2).a = -2;
    s(3,1).b = %pi;
    issquare(s) // 2D not-square array of structures
    clear s
    s(2,2,2).a = %f;
    s(1,2,1).b = list(%e, %s);
    issquare(s) // 3D (cubic) array of structures
    clear s
    s(2,1,2).a = 3;
    s(1,1,2).b = "test";
    issquare(s) // 3D array of structures (with a singleton dim)

## See also

- isscalar
- isrow
- iscolumn
- ismatrix
- isempty

## History

5.5.0 Function issquare introduced.
6.1.1 issquare() can be overloaded.