galgebra icon indicating copy to clipboard operation
galgebra copied to clipboard

Consider reducing the number of attributes `ga` instances have

Open eric-wieser opened this issue 5 years ago • 0 comments

Today, galgebra.ga.Ga objects have the following attributes

  • Christoffel_symbols
  • E
  • I
  • Isq
  • Mlt
  • Mul
  • ~~Pdiffs~~ (#194)
  • ~~Pdop_identity~~ (#194)
  • ReciprocalFrame
  • ~~X~~ (gh-335)
  • ~~XOX~~ (gh-195)
  • ~~a~~ (gh-320)
  • ~~base_expansion~~ (gh-2485)
  • base_expansion_dict
  • base_to_blade_rep
  • bases
  • bases_dict
  • ~~bases_lst~~ (gh-64)
  • bases_to_grades_dict
  • ~~bases_to_indexes~~ (gh-245)
  • ~~bases_to_indexes_dict~~ (gh-245)
  • basic_mul
    • ~~non_orthogonal_bases_products~~ (gh-334)
    • ~~basic_mul_keys~~ (gh-248)
    • ~~basic_mul_values~~ (gh-248)
    • ~~basic_mul_table~~ (gh-248)
    • ~~basic_mul_table_dict~~ (gh-334)
  • basis
  • basis_super_scripts
  • basis_vectors
  • blade_derivation
  • ~~blade_expansion~~ (gh-248)
  • blade_expansion_dict
  • blade_reduce
  • blade_super_scripts
  • blade_to_base_rep
  • blades
  • ~~blades_lst~~ (gh-64)
  • blades_to_grades_dict
  • ~~blades_to_indexes~~ (gh-245)
  • ~~blades_to_indexes_dict~~ (gh-245)
  • build
  • com
  • connect_flg
  • connection
  • coord_vec
  • coords
  • count
  • de
  • debug
  • ~~deriv~~ (#255)
  • ~~derivatives_of_g~~ (gh-310)
  • detg
  • dg
  • dop
  • dot
    • ~~dot_product_basis_blades~~ (gh-334)
    • ~~non_orthogonal_dot_product_basis_blades~~ (gh-334)
  • dot_mode
  • dot_orthogonal
  • ~~dot_table_dict~~ (gh-334)
  • dslot
  • dual_mode
  • dual_mode_lst
  • dual_mode_value
  • e
  • e_sq_sgn
  • e_norm
  • e_sq
  • er_blade
  • even_odd
  • g
  • g_adj
  • g_inv
  • g_is_numeric
  • g_raw
  • get_grade
  • grad
  • grad_sqr
  • grade_decomposition
  • grades
  • grads
  • gsym
  • hestenes_dot
  • i
  • i_inv
  • indexes
  • ~~indexes_lst~~ (gh-64)
  • ~~indexes_to_bases~~ (gh-245)
  • indexes_to_bases_dict
  • ~~indexes_to_blades~~ (gh-245)
  • indexes_to_blades_dict
  • init_slots
  • inverse_metric
  • is_ortho
  • left_contract
  • ~~left_contract_table_dict~~ (gh-334)
  • lt
  • make_grad
  • metric_symbols_list
  • mul
    • ~~geometric_product_basis_blades~~ (gh-334)
    • ~~mul_table_dict~~ (gh-334)
  • mv
  • ~~mv_I~~ (gh-195)
  • mv_basis
  • mv_blades
  • ~~mv_blades_lst~~ (gh-64)
  • ~~mv_x~~ (gh-195)
  • mvr
  • n
  • n_range
  • name (see https://github.com/pygae/galgebra/pull/197#discussion_r360179595)
  • norm
  • normalize_metric
  • pDiff
  • par_coords
  • parametric
  • ~~pdop~~ (gh-202)
  • preset
  • presets
  • r_basis
  • r_basis_dict
  • r_basis_mv
  • r_symbols
  • reduce_basis
  • reduce_basis_loop
  • remove_scalar_part
  • ~~restore~~ (gh-257)
  • reverse
  • rgrad
  • right_contract
    • ~~right_contract_table_dict~~ (gh-334)
  • ~~sPds~~ (#194)
  • scalar_part
  • ~~sdop~~ (gh-202)
  • sig
  • signature
  • sing_flg
  • sm
  • split_multivector
  • wedge
    • ~~wedge_product_basis_blades~~ (gh-334)
    • ~~wedge_table_dict~~ (gh-334)
  • wedge_print

It might be worth deprecating or making some of these private.

List above generated with

for d in dir(ga):
    if not d.startswith('_'):
        print('* `{}`'.format(d))

eric-wieser avatar Dec 19 '19 15:12 eric-wieser