Skip to content

Instantly share code, notes, and snippets.

Last active October 15, 2016 15:24
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
def to_latex(a,label='A \\oplus B'):
sys.stdout.write('\[ '
+ label
+ ' = \\left| \\begin{array}{'
+ ('c'*a.shape[1])
+ '}\n' )
for r in a:
for c in r[1:]:
sys.stdout.write(' & '+str(c))
sys.stdout.write('\\end{array} \\right| \]\n')
Copy link

An alternative (which I haven't yet posted).

Copy link

josephcslater commented Oct 15, 2016

def to_matrix(a,frmt = '{:1.2f}', arraytype = 'bmatrix'):
"""Returns a LaTeX array
🅰️ numpy array
:prints: LaTeX array

to_matrix(Krm, frmt = '{:1.2f}', arraytype = 'array')
if len(a.shape) > 2:
    raise ValueError('bmatrix can at most display two dimensions')
lines = str(a).replace('[', '').replace(']', '').splitlines()
print(r'\begin{' + arraytype + '}')
for l in lines:
    for num in l.split():
        print(frmt.format(float(num)) + ' ', end="")
        print('& ', end="")
print(r'\end{' + arraytype + '}')

to_matrix(Krm, frmt = '{:1.2f}', arraytype = 'array')

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment