Простой способ удаления столбца матрицы в Mathematica

Я пытаюсь удалить обе матрицы в Mathematica. Неэлегантный способ сделать это, как я делаю ниже, я.e указание его в новой матрице как

S = Table[
    Ss[[If[i < t, i, i + 1]]][[If[j < t, j, j + 1]]], {i, q}, {j, q}];  

где цель состоит в том, чтобы устранить строку и столбец t.

действительно удалить строку легко удалить[Ss, t]. Для колонки column я полагаю, что мог бы сделать

Transpose[Delete[Transpose[Ss,t]]]  

моя основная задача-сделать это таким образом, чтобы выполнить как можно быстрее.

в целом, есть ли в Mathematica оператор, который позволяет так же легко нарезать и кости матрицы столбцов, как это сделать для строк, не прибегая к транспонированию?

1 ответов


Я думаю, что вы ищете:

Drop[Ss,{t},{t}]  

часы работы:

ClearAll["Global`*"];

First@Timing[a = RandomInteger[1000, {5000, 5000}];]
0.34

First@Timing[Drop[a, {2}, {2}]]
0.11

пока

First@Timing[Transpose@Delete[Transpose@Delete[a, 2], 2]]
0.5