         }
     }
     
-    public static func identity(_ n: Int, align: ComputationalMatrixAlignment = .Rows) -> ComputationalMatrix<R> {
-        let components = (0 ..< n).map{ i in MatrixComponent(i, i, R.identity)}
-        return ComputationalMatrix(rows: n, cols: n, components: components, align: align)
-    }
-    
     @_specialize(where R == IntegerNumber)
     public static func ==(a: ComputationalMatrix<R>, b: ComputationalMatrix<R>) -> Bool {
         if (a.rows, a.cols) != (b.rows, b.cols) {

    }
    
    internal func set(_ i: Int, _ j: Int, _ a: R) {
        assert(a != R.zero)
        
        if table[i] == nil {

        case .Rows:
            for (i, list) in table {
                for (j, a) in list {
                    if i * cols + j >= grid.count {
                        print(i, j)
                    }
                    grid[i * cols + j] = a
                }
            }
