Простой способ удаления столбца матрицы в 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